SlideShare a Scribd company logo
1 of 36
Download to read offline
© OPITZ CONSULTING 2018
s
¢¢¢ überraschend mehr Möglichkeiten!
© OPITZ CONSULTING 2018
Meaning for µService architectures
Sven Bernhardt
API design-first
© OPITZ CONSULTING 2018 API design-first Seite 2
About me
Sven Bernhardt
¢ Senior Solution Architect @OPITZ CONSULTING Deutschland GmbH
¢ Oracle ACE Director
@sbernhardt
https://svenbernhardt.wordpress.com/
© OPITZ CONSULTING 2018 Seite 3
Agenda
1
2
3
5
APIs today
µServices and APIs
API design-first
Summary
API design-first
4 API life cycle
© OPITZ CONSULTING 2018 Seite 4
Once upon a time
1
API design-first
© OPITZ CONSULTING 2018 API design-first Seite 5
Meaning of APIs today
¢ Today we have more than 22.000 APIs offered by different companies from
different industries
https://www.programmableweb.com/news/apis-show-faster-growth-rate-2019-previous-years/research/2019/07/17
© OPITZ CONSULTING 2018 API Management: Why it matters! Seite 6
© OPITZ CONSULTING 2018 API design-first Seite 7
Application architectures in traditional industries
¢ Contains a set of business functionality,
often implemented as modules
¢ Sharing infrastructure resources
¢ Database
¢ Storage
¢ CPU
¢ Memory
¢ Simple communication between the
modules
¢ Each module has access to all data
ERP
HR
PPM
SCM
Financials
Monolithic application architecture
Business
Capabilities
© OPITZ CONSULTING 2018 API design-first Seite 8
Bi-modal IT – Two speed IT to further innovation
Agility
Innovation
Effectivity
Competitive advantages
Compliance
Efficiency
Standardization
Differentiation
Innovation
New ideas
Better ideas
Tipical ideas
Customer-specific solutions
Standard Software solutions
Systems of Innovation
Systems of Differentiation
Systems of Record
Based on Pace Layered Application Strategy, Gartner 2012
Non-linear IT
§ Not sequential
§ Agile
§ Fast
§ Innovation
§ Disturbance
Traditional IT
§ Security
§ Efficiency
§ Accuracy
§ Tranquility
© OPITZ CONSULTING 2018 Seite 11
µServices and APIs
2
API design-first
© OPITZ CONSULTING 2018 API design-first Seite 12
APIs as a central architecture element
Seite 12
User Experience
Service Implementation
Persistence
Web Mobile DeviceMonitoring
BusinessAnalytics
Security
Management
Monolithic System RegistryEvent StoreShared Storage
Non-shared
Storage
Semi-decoupled Fully-decoupled
http://omesa.io
API
© OPITZ CONSULTING 2018 API design-first Seite 13
Microservices - Organize applications into Business capabilities
¢ Flexibility
¢ Independently releasable
¢ Technologies
¢ Platform
¢ Scalable
¢ Fault tolerant & robust
¢ Decoupled development
¢ Dedicated responsibility and ownership
Microservices are no silver bullets!
IMPORTANT
ERP
HR
PPM
SCM
Financials
µEmployees
© OPITZ CONSULTING 2018 API design-first Seite 14
APIs - Access business capabilities in a secure way
¢ Describes how consumers can use a business capability
¢ Provides a standard-based interface for accessing the
functionality
¢ Decouples Consumer and Provider
¢ Implements cross-cutting concerns, declared as policies
¢ AuthN/AuthZ
¢ Throttling/Rate Limit
¢ Routing
¢ Caching
¢ …
¢ Policy enforcement done by a specific runtime component
µEmployees
API
API Gateway
© OPITZ CONSULTING 2018 API design-first Seite 15
Focus on API Consumers
¢ Main goal: Build consistent and easy-to-use APIs!
¢ Support of different types of consumers (i.a.
introduce Single Purpose APIs)
¢ Development approach needed to support
collaboration already in an early stage:
¢ Decoupled development
¢ Quick feedback cycles
¢ API Mocking
Employees
Storage
µEmployees
µEmployees
Backoffice
API
API Gateway
© OPITZ CONSULTING 2018 API design-first Seite 16
Focus on API Consumers
¢ Main goal: Build consistent and easy-to-use APIs!
¢ Support of different types of consumers (i.a.
introduce Single Purpose APIs)
¢ Development approach needed to support
collaboration already in an early stage:
¢ Decoupled development
¢ Quick feedback cycles
¢ API Mocking
Employees
Storage
µEmployees
µEmployees
Backoffice
API
µEmployees
Mobile
BFF
API
µEmployees
SelfService
App
API Gateway
© OPITZ CONSULTING 2018 Seite 17
API design-first
3
API design-first
© OPITZ CONSULTING 2018 API design-first Seite 18
What is design?
Design is a collaborative process!
Source: https://ytiffanie.wordpress.com/danish-design/what-is-design/
© OPITZ CONSULTING 2018 API design-first Seite 19
API design-first approach
Feedback
Feedback
Intuitive, consistent API design is
key for API acceptance!
IMPORTANT
© OPITZ CONSULTING 2018 API design-first Seite 20
API life cycle
Design
Mock
Try
Create/configureDeploy
Promote,
deprecate, retire
Observe
API ideation &
planning
API life cycle as proposed by Luis Weir
(@luisw19) in his book „Enterprise API
Management“
© OPITZ CONSULTING 2018 Seite 21
API life cycle
4
API design-first
© OPITZ CONSULTING 2018 API design-first Seite 22
Tools supporting an API first design approach
Design Try
Create/
Configure
Deploy Observe
Feedback
Oracle API
Platform
Mock
© OPITZ CONSULTING 2018 API design-first Seite 23
API design-first
¢ Define your API specification collaboratively
¢ Approach helps to ensure usable API Design (UX)
¢ API spec is for API what Wireframes are for UIs!
¢ Tooling should support collaboration (e.g. by providing Git integration)
¢ Support for at least Open API specification; alternatives:
¢ API Blueprint
¢ RAML
¢ WADL
© OPITZ CONSULTING 2018 API design-first Seite 25
API description dialects: How to decide?
¢ Different specifications available with different focus,
representational styles
¢ As always: It depends!
¢ Which use case?
¢ What is the intention?
¢ Team skills?
¢ BUT: You‘re not trapped, if you decide for a dialect!
¢ APIMATIC helps with converting between the dialects
¢ Alternatives: Local tools like „api-spec-converter“ (Node-based)
© OPITZ CONSULTING 2018 API design-first Seite 26
Mock, try and collect for feedback
¢ Provide an API mock very early and without lots of effort
¢ Ideally without coding and deployment
¢ Mock should be easily adjustable in case of feedback and respective changes
¢ Always try to provide representative Mock data, so that API consumers can test it accordingly
¢ Exposing an API Mock with an API Gateway, can help to understand API usage
¢ Share information about the Service Mock with potential API consumers and
developers
¢ Ask for feedback
¢ Take the feedback serious
© OPITZ CONSULTING 2018 Seite 27
Demo – Design with Apiary
API design-first
© OPITZ CONSULTING 2018 API design-first Seite 28
Create and configure the API
¢ Scaffold Client/Server code, e.g by generating Code based on the IDL
¢ Create APIs metadata and documentation (API page)
¢ Define API version
¢ Create API policies
¢ AuthN/AuthZ
¢ Throttling/Rate limit
¢ Key validation
¢ etc.
© OPITZ CONSULTING 2018 API design-first Seite 30
Automate as much as possible
¢ Automate as much as as possible (Build, test, deployment, infrastructure)
¢ Define a consistent Build/Deployment process
¢ Make use of respective automation tools like Jenkins or Wercker
Pull Inspect
Build &
Package
QA Deploy Rollback
1 2 3 4 5 6
1) Checkout Sourcecode
2) Inspect Code and it‘s dependencies
3) Compile, package the Code and publish into an Artefact
repository
4) Quality assurance by conducting tests (Interface,
Functional, Performance, etc.)
5) Deploy to target environment (e.g. Production)
6) Rollback a previous deployment in case of issues with
certain components
© OPITZ CONSULTING 2018 API design-first Seite 31
API Interface testing is key to ensure consistency
¢ Ensure that the implementation adheres to the API design
¢ Correct payload information
¢ Correct HTTP responce codes
¢ Defined HTTP ressources available
¢ Dredd is a lightweight Open-Source HTTP testing framework
¢ Runs against a Backend service
¢ Test are based on the definitions in the API design (Swagger or API Blueprint)
© OPITZ CONSULTING 2018 API design-first Seite 32
View Dredd test results in Apiary
© OPITZ CONSULTING 2018 Seite 33
Demo – Interface testing with Dredd
API design-first
© OPITZ CONSULTING 2018 API design-first Seite 34
Functional and Performance testing
¢ Post-deployment tests of the integrated solution needs to be done ideally using
(semi) automated tests
¢ Run predefined tests from a tests, which describes the expected behaviour of a
certain operation
¢ Run more complex workflow tests
¢ Run performance & stress tests
© OPITZ CONSULTING 2018 API design-first Seite 35
Torch the light - See what‘s going on
¢ Observability is key in modern, distributed IT system landscapes
¢ Important to identify potential issues or bottlenecks
¢ Absolutely necessary to ensure SLA conformity
¢ Try to get as much insights as possible by externalizing as much information as
possible
¢ Different levels to track:
¢ API monitoring
¢ Service monitoring
¢ End-to-end monitoring
¢ Log analytics
¢ Application Performance monitoring
¢ Distributed Tracing
© OPITZ CONSULTING 2018 Seite 36
Summary
5
API design-first
© OPITZ CONSULTING 2018 API design-first Seite 37
Summary
¢ Consistent DevOps approach is key to succeed with µServices & APIs
¢ It’s not just about technology and tools
¢ Strives culture, organization and people
¢ Mindshift change is needed, to successfully implement the approach
¢ Attitude: “From suit to hoodie wearer”
¢ Mentality: “Be ready to fail, adjust and try again”
¢ API design-first approach is essential to implement usable APIs
¢ Not limited to REST; also valid to other Interface definition languages (IDL)
¢ Integrates with existing CI/CD approaches
¢ Prerequisite to grow and further innovation
© OPITZ CONSULTING 2018 API design-first Seite 38
Links & Resources
¢ Apiary: https://apiary.io
¢ API conversions: https://apimatic.io
¢ Dredd HTTP testing: http://dredd.readthedocs.io/en/latest/
¢ Wercker: http://www.wercker.com
¢ API Fortress: https://apifortress.com
¢ API Fortress Data sheet: https://bit.ly/2OQNjVP
¢ Book: Enterprise API Management (Luis Weir, 2019)
© OPITZ CONSULTING 2018 Seite 39API design-first
Q & A
© OPITZ CONSULTING 2018
¢¢¢ überraschend mehr Möglichkeiten!
@OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM
Seite 40
Thanks for your attention!
Sven Bernhardt
Senior Solution Architect | Oracle ACE
OPITZ CONSULTING Deutschland GmbH
Kirchstrasse 6, 51647 Gummersbach, Germany
Phone: +49 172 2193529
Mail: sven.bernhardt@opitz-consulting.com
@sbernhardt
https://svenbernhardt.wordpress.com
API design-first

More Related Content

What's hot

What's hot (20)

Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Azure serverless architectures
Azure serverless architecturesAzure serverless architectures
Azure serverless architectures
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing Services
 
New relic
New relicNew relic
New relic
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
 
API Governance
API Governance API Governance
API Governance
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
What's an api
What's an apiWhat's an api
What's an api
 
DevOps
DevOpsDevOps
DevOps
 
Observability and Management on OCI - Logging and Monitoring
Observability and Management on OCI - Logging and MonitoringObservability and Management on OCI - Logging and Monitoring
Observability and Management on OCI - Logging and Monitoring
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
 
API Management - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice Architecture
 
Build and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API GatewayBuild and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API Gateway
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
 
Event driven microservices
Event driven microservicesEvent driven microservices
Event driven microservices
 

Similar to API design-first and Microservices

Similar to API design-first and Microservices (20)

API-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachAPI-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approach
 
API first Design and Microservices
API first Design and MicroservicesAPI first Design and Microservices
API first Design and Microservices
 
API Management - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!
 
API First - Best Practices for consistent API management
API First - Best Practices for consistent API managementAPI First - Best Practices for consistent API management
API First - Best Practices for consistent API management
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCI
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCI
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCI
 
Evolution of API-driven architectures
Evolution of API-driven architecturesEvolution of API-driven architectures
Evolution of API-driven architectures
 
Evolution of API-driven Architectures
Evolution of API-driven ArchitecturesEvolution of API-driven Architectures
Evolution of API-driven Architectures
 
API Management and why it matters (Oracle API Platform)
API Management and why it matters (Oracle API Platform) API Management and why it matters (Oracle API Platform)
API Management and why it matters (Oracle API Platform)
 
Strategies for efficient delivery with APIs, containers, microservices and De...
Strategies for efficient delivery with APIs, containers, microservices and De...Strategies for efficient delivery with APIs, containers, microservices and De...
Strategies for efficient delivery with APIs, containers, microservices and De...
 
Strategies for efficient Delivery
Strategies for efficient DeliveryStrategies for efficient Delivery
Strategies for efficient Delivery
 
One Gateway to Rule them All: Building a Federated API Management Platform
One Gateway to Rule them All: Building a Federated API Management PlatformOne Gateway to Rule them All: Building a Federated API Management Platform
One Gateway to Rule them All: Building a Federated API Management Platform
 
Efficient API delivery with APIOps
Efficient API delivery with APIOpsEfficient API delivery with APIOps
Efficient API delivery with APIOps
 
Improve your Cloud Integrations with Test-driven Development
Improve your Cloud Integrations with Test-driven Development Improve your Cloud Integrations with Test-driven Development
Improve your Cloud Integrations with Test-driven Development
 
Elevating Development: Embracing APIOps for Enhanced Developer Productivity
Elevating Development: Embracing APIOps for Enhanced Developer ProductivityElevating Development: Embracing APIOps for Enhanced Developer Productivity
Elevating Development: Embracing APIOps for Enhanced Developer Productivity
 
Cloud-native Integration in the Oracle Cloud
Cloud-native Integration in the Oracle CloudCloud-native Integration in the Oracle Cloud
Cloud-native Integration in the Oracle Cloud
 
API Gateway or Service Mesh - Complementary or excluding concepts
API Gateway or Service Mesh - Complementary or excluding conceptsAPI Gateway or Service Mesh - Complementary or excluding concepts
API Gateway or Service Mesh - Complementary or excluding concepts
 
Efficient API delivery with APIOps
Efficient API delivery with APIOpsEfficient API delivery with APIOps
Efficient API delivery with APIOps
 
MuleSoft Meetup Valletta 1.0
MuleSoft Meetup Valletta  1.0MuleSoft Meetup Valletta  1.0
MuleSoft Meetup Valletta 1.0
 

More from Sven Bernhardt

Declarative observability management for Microservice architectures
Declarative observability management for Microservice architecturesDeclarative observability management for Microservice architectures
Declarative observability management for Microservice architectures
Sven Bernhardt
 
Service integration made easy with Open Source Kuma
Service integration made easy with Open Source KumaService integration made easy with Open Source Kuma
Service integration made easy with Open Source Kuma
Sven Bernhardt
 

More from Sven Bernhardt (20)

Effective and simple - integration architectures with Apache Camel and Quarkus
Effective and simple - integration architectures with Apache Camel and QuarkusEffective and simple - integration architectures with Apache Camel and Quarkus
Effective and simple - integration architectures with Apache Camel and Quarkus
 
Modernization options for Oracle Forms applications
Modernization options for Oracle Forms applicationsModernization options for Oracle Forms applications
Modernization options for Oracle Forms applications
 
Kong 101 - Jumpstart into the world of APIs
Kong 101 - Jumpstart into the world of APIsKong 101 - Jumpstart into the world of APIs
Kong 101 - Jumpstart into the world of APIs
 
Declarative observability management for Microservice architectures
Declarative observability management for Microservice architecturesDeclarative observability management for Microservice architectures
Declarative observability management for Microservice architectures
 
Integration architectures based on Microservices, APIs and events
Integration architectures based on Microservices,  APIs and eventsIntegration architectures based on Microservices,  APIs and events
Integration architectures based on Microservices, APIs and events
 
Build and Manage Multi-Cloud Applications Using Kuma
Build and Manage Multi-Cloud Applications Using KumaBuild and Manage Multi-Cloud Applications Using Kuma
Build and Manage Multi-Cloud Applications Using Kuma
 
Build and Manage Multi-Cloud Applications Using Kuma
Build and Manage Multi-Cloud Applications Using KumaBuild and Manage Multi-Cloud Applications Using Kuma
Build and Manage Multi-Cloud Applications Using Kuma
 
Torch the light - Implementing Observability for Microservice Architectures
Torch the light - Implementing Observability for Microservice ArchitecturesTorch the light - Implementing Observability for Microservice Architectures
Torch the light - Implementing Observability for Microservice Architectures
 
Analytics meets Integration - Modern Development with Data APIs
Analytics meets Integration - Modern Development with Data APIsAnalytics meets Integration - Modern Development with Data APIs
Analytics meets Integration - Modern Development with Data APIs
 
Modern Integration based on OCI Cloud-native Services
Modern Integration based on OCI Cloud-native ServicesModern Integration based on OCI Cloud-native Services
Modern Integration based on OCI Cloud-native Services
 
Service Mesh Advanced Use Cases
Service Mesh Advanced Use CasesService Mesh Advanced Use Cases
Service Mesh Advanced Use Cases
 
Cloud-native Application Development on OCI
Cloud-native Application Development on OCICloud-native Application Development on OCI
Cloud-native Application Development on OCI
 
Rumble in the Jungle - API Kickstart with Kong
Rumble in the Jungle - API Kickstart with KongRumble in the Jungle - API Kickstart with Kong
Rumble in the Jungle - API Kickstart with Kong
 
Cloud-native Application Development - The new normal
Cloud-native Application Development - The new normalCloud-native Application Development - The new normal
Cloud-native Application Development - The new normal
 
Implementing Cloud-native apps on OCI
Implementing Cloud-native apps on OCIImplementing Cloud-native apps on OCI
Implementing Cloud-native apps on OCI
 
Service integration made easy with Open Source Kuma
Service integration made easy with Open Source KumaService integration made easy with Open Source Kuma
Service integration made easy with Open Source Kuma
 
Cloud-native is just part of the game
Cloud-native is just part of the gameCloud-native is just part of the game
Cloud-native is just part of the game
 
API Gateway or Service mesh - Complementary or excluding concepts
API Gateway or Service mesh - Complementary or excluding conceptsAPI Gateway or Service mesh - Complementary or excluding concepts
API Gateway or Service mesh - Complementary or excluding concepts
 
Cloud-native Integration in the Oracle Cloud
Cloud-native Integration in the Oracle CloudCloud-native Integration in the Oracle Cloud
Cloud-native Integration in the Oracle Cloud
 
Flexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with KongFlexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with Kong
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Recently uploaded (20)

Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 

API design-first and Microservices

  • 1. © OPITZ CONSULTING 2018 s ¢¢¢ überraschend mehr Möglichkeiten! © OPITZ CONSULTING 2018 Meaning for µService architectures Sven Bernhardt API design-first
  • 2. © OPITZ CONSULTING 2018 API design-first Seite 2 About me Sven Bernhardt ¢ Senior Solution Architect @OPITZ CONSULTING Deutschland GmbH ¢ Oracle ACE Director @sbernhardt https://svenbernhardt.wordpress.com/
  • 3. © OPITZ CONSULTING 2018 Seite 3 Agenda 1 2 3 5 APIs today µServices and APIs API design-first Summary API design-first 4 API life cycle
  • 4. © OPITZ CONSULTING 2018 Seite 4 Once upon a time 1 API design-first
  • 5. © OPITZ CONSULTING 2018 API design-first Seite 5 Meaning of APIs today ¢ Today we have more than 22.000 APIs offered by different companies from different industries https://www.programmableweb.com/news/apis-show-faster-growth-rate-2019-previous-years/research/2019/07/17
  • 6. © OPITZ CONSULTING 2018 API Management: Why it matters! Seite 6
  • 7. © OPITZ CONSULTING 2018 API design-first Seite 7 Application architectures in traditional industries ¢ Contains a set of business functionality, often implemented as modules ¢ Sharing infrastructure resources ¢ Database ¢ Storage ¢ CPU ¢ Memory ¢ Simple communication between the modules ¢ Each module has access to all data ERP HR PPM SCM Financials Monolithic application architecture Business Capabilities
  • 8. © OPITZ CONSULTING 2018 API design-first Seite 8 Bi-modal IT – Two speed IT to further innovation Agility Innovation Effectivity Competitive advantages Compliance Efficiency Standardization Differentiation Innovation New ideas Better ideas Tipical ideas Customer-specific solutions Standard Software solutions Systems of Innovation Systems of Differentiation Systems of Record Based on Pace Layered Application Strategy, Gartner 2012 Non-linear IT § Not sequential § Agile § Fast § Innovation § Disturbance Traditional IT § Security § Efficiency § Accuracy § Tranquility
  • 9. © OPITZ CONSULTING 2018 Seite 11 µServices and APIs 2 API design-first
  • 10. © OPITZ CONSULTING 2018 API design-first Seite 12 APIs as a central architecture element Seite 12 User Experience Service Implementation Persistence Web Mobile DeviceMonitoring BusinessAnalytics Security Management Monolithic System RegistryEvent StoreShared Storage Non-shared Storage Semi-decoupled Fully-decoupled http://omesa.io API
  • 11. © OPITZ CONSULTING 2018 API design-first Seite 13 Microservices - Organize applications into Business capabilities ¢ Flexibility ¢ Independently releasable ¢ Technologies ¢ Platform ¢ Scalable ¢ Fault tolerant & robust ¢ Decoupled development ¢ Dedicated responsibility and ownership Microservices are no silver bullets! IMPORTANT ERP HR PPM SCM Financials µEmployees
  • 12. © OPITZ CONSULTING 2018 API design-first Seite 14 APIs - Access business capabilities in a secure way ¢ Describes how consumers can use a business capability ¢ Provides a standard-based interface for accessing the functionality ¢ Decouples Consumer and Provider ¢ Implements cross-cutting concerns, declared as policies ¢ AuthN/AuthZ ¢ Throttling/Rate Limit ¢ Routing ¢ Caching ¢ … ¢ Policy enforcement done by a specific runtime component µEmployees API API Gateway
  • 13. © OPITZ CONSULTING 2018 API design-first Seite 15 Focus on API Consumers ¢ Main goal: Build consistent and easy-to-use APIs! ¢ Support of different types of consumers (i.a. introduce Single Purpose APIs) ¢ Development approach needed to support collaboration already in an early stage: ¢ Decoupled development ¢ Quick feedback cycles ¢ API Mocking Employees Storage µEmployees µEmployees Backoffice API API Gateway
  • 14. © OPITZ CONSULTING 2018 API design-first Seite 16 Focus on API Consumers ¢ Main goal: Build consistent and easy-to-use APIs! ¢ Support of different types of consumers (i.a. introduce Single Purpose APIs) ¢ Development approach needed to support collaboration already in an early stage: ¢ Decoupled development ¢ Quick feedback cycles ¢ API Mocking Employees Storage µEmployees µEmployees Backoffice API µEmployees Mobile BFF API µEmployees SelfService App API Gateway
  • 15. © OPITZ CONSULTING 2018 Seite 17 API design-first 3 API design-first
  • 16. © OPITZ CONSULTING 2018 API design-first Seite 18 What is design? Design is a collaborative process! Source: https://ytiffanie.wordpress.com/danish-design/what-is-design/
  • 17. © OPITZ CONSULTING 2018 API design-first Seite 19 API design-first approach Feedback Feedback Intuitive, consistent API design is key for API acceptance! IMPORTANT
  • 18. © OPITZ CONSULTING 2018 API design-first Seite 20 API life cycle Design Mock Try Create/configureDeploy Promote, deprecate, retire Observe API ideation & planning API life cycle as proposed by Luis Weir (@luisw19) in his book „Enterprise API Management“
  • 19. © OPITZ CONSULTING 2018 Seite 21 API life cycle 4 API design-first
  • 20. © OPITZ CONSULTING 2018 API design-first Seite 22 Tools supporting an API first design approach Design Try Create/ Configure Deploy Observe Feedback Oracle API Platform Mock
  • 21. © OPITZ CONSULTING 2018 API design-first Seite 23 API design-first ¢ Define your API specification collaboratively ¢ Approach helps to ensure usable API Design (UX) ¢ API spec is for API what Wireframes are for UIs! ¢ Tooling should support collaboration (e.g. by providing Git integration) ¢ Support for at least Open API specification; alternatives: ¢ API Blueprint ¢ RAML ¢ WADL
  • 22. © OPITZ CONSULTING 2018 API design-first Seite 25 API description dialects: How to decide? ¢ Different specifications available with different focus, representational styles ¢ As always: It depends! ¢ Which use case? ¢ What is the intention? ¢ Team skills? ¢ BUT: You‘re not trapped, if you decide for a dialect! ¢ APIMATIC helps with converting between the dialects ¢ Alternatives: Local tools like „api-spec-converter“ (Node-based)
  • 23. © OPITZ CONSULTING 2018 API design-first Seite 26 Mock, try and collect for feedback ¢ Provide an API mock very early and without lots of effort ¢ Ideally without coding and deployment ¢ Mock should be easily adjustable in case of feedback and respective changes ¢ Always try to provide representative Mock data, so that API consumers can test it accordingly ¢ Exposing an API Mock with an API Gateway, can help to understand API usage ¢ Share information about the Service Mock with potential API consumers and developers ¢ Ask for feedback ¢ Take the feedback serious
  • 24. © OPITZ CONSULTING 2018 Seite 27 Demo – Design with Apiary API design-first
  • 25. © OPITZ CONSULTING 2018 API design-first Seite 28 Create and configure the API ¢ Scaffold Client/Server code, e.g by generating Code based on the IDL ¢ Create APIs metadata and documentation (API page) ¢ Define API version ¢ Create API policies ¢ AuthN/AuthZ ¢ Throttling/Rate limit ¢ Key validation ¢ etc.
  • 26. © OPITZ CONSULTING 2018 API design-first Seite 30 Automate as much as possible ¢ Automate as much as as possible (Build, test, deployment, infrastructure) ¢ Define a consistent Build/Deployment process ¢ Make use of respective automation tools like Jenkins or Wercker Pull Inspect Build & Package QA Deploy Rollback 1 2 3 4 5 6 1) Checkout Sourcecode 2) Inspect Code and it‘s dependencies 3) Compile, package the Code and publish into an Artefact repository 4) Quality assurance by conducting tests (Interface, Functional, Performance, etc.) 5) Deploy to target environment (e.g. Production) 6) Rollback a previous deployment in case of issues with certain components
  • 27. © OPITZ CONSULTING 2018 API design-first Seite 31 API Interface testing is key to ensure consistency ¢ Ensure that the implementation adheres to the API design ¢ Correct payload information ¢ Correct HTTP responce codes ¢ Defined HTTP ressources available ¢ Dredd is a lightweight Open-Source HTTP testing framework ¢ Runs against a Backend service ¢ Test are based on the definitions in the API design (Swagger or API Blueprint)
  • 28. © OPITZ CONSULTING 2018 API design-first Seite 32 View Dredd test results in Apiary
  • 29. © OPITZ CONSULTING 2018 Seite 33 Demo – Interface testing with Dredd API design-first
  • 30. © OPITZ CONSULTING 2018 API design-first Seite 34 Functional and Performance testing ¢ Post-deployment tests of the integrated solution needs to be done ideally using (semi) automated tests ¢ Run predefined tests from a tests, which describes the expected behaviour of a certain operation ¢ Run more complex workflow tests ¢ Run performance & stress tests
  • 31. © OPITZ CONSULTING 2018 API design-first Seite 35 Torch the light - See what‘s going on ¢ Observability is key in modern, distributed IT system landscapes ¢ Important to identify potential issues or bottlenecks ¢ Absolutely necessary to ensure SLA conformity ¢ Try to get as much insights as possible by externalizing as much information as possible ¢ Different levels to track: ¢ API monitoring ¢ Service monitoring ¢ End-to-end monitoring ¢ Log analytics ¢ Application Performance monitoring ¢ Distributed Tracing
  • 32. © OPITZ CONSULTING 2018 Seite 36 Summary 5 API design-first
  • 33. © OPITZ CONSULTING 2018 API design-first Seite 37 Summary ¢ Consistent DevOps approach is key to succeed with µServices & APIs ¢ It’s not just about technology and tools ¢ Strives culture, organization and people ¢ Mindshift change is needed, to successfully implement the approach ¢ Attitude: “From suit to hoodie wearer” ¢ Mentality: “Be ready to fail, adjust and try again” ¢ API design-first approach is essential to implement usable APIs ¢ Not limited to REST; also valid to other Interface definition languages (IDL) ¢ Integrates with existing CI/CD approaches ¢ Prerequisite to grow and further innovation
  • 34. © OPITZ CONSULTING 2018 API design-first Seite 38 Links & Resources ¢ Apiary: https://apiary.io ¢ API conversions: https://apimatic.io ¢ Dredd HTTP testing: http://dredd.readthedocs.io/en/latest/ ¢ Wercker: http://www.wercker.com ¢ API Fortress: https://apifortress.com ¢ API Fortress Data sheet: https://bit.ly/2OQNjVP ¢ Book: Enterprise API Management (Luis Weir, 2019)
  • 35. © OPITZ CONSULTING 2018 Seite 39API design-first Q & A
  • 36. © OPITZ CONSULTING 2018 ¢¢¢ überraschend mehr Möglichkeiten! @OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM Seite 40 Thanks for your attention! Sven Bernhardt Senior Solution Architect | Oracle ACE OPITZ CONSULTING Deutschland GmbH Kirchstrasse 6, 51647 Gummersbach, Germany Phone: +49 172 2193529 Mail: sven.bernhardt@opitz-consulting.com @sbernhardt https://svenbernhardt.wordpress.com API design-first