SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
© OPITZ CONSULTING 2018
s
¢¢¢ überraschend mehr Möglichkeiten!
© OPITZ CONSULTING 2018
Significance for µServices Architectures
Sven Bernhardt, Danilo Schmiedel
API-First-Design
© OPITZ CONSULTING 2018 API-First-Design Seite 2
OPITZ CONSULTING - A success story since 1990
¢ Our Mission: Help organizations to leverage the possibilities of
digitalization to be different, better and faster than their competitors
¢ Owner-led company with
¢ 450+ consultants
¢ 11 locations in Germany and Poland
Danilo Schmiedel
¢
¢ Senior Managing Consultant
¢ Business Development and Innovation
About us
Sven Bernhardt
¢ Senior Solution Architect
¢ Technical Lead for API Management
© OPITZ CONSULTING 2018 Seite 3
Agenda
1
2
3
5
Use Case introduction
µServices and APIs
API first Design
Summary
API-First-Design
4 Continuous Software delivery
© OPITZ CONSULTING 2018 Seite 4
Use Case introduction
1
API-First-Design
© OPITZ CONSULTING 2018 API-First-Design Seite 5
Example µService Architecture: Webshop
¢ Requirements:
¢ Agility: Quickly respond to changing/new market requirements
¢ Extensibility: Easily evolve the platform with new functionality
¢ Scalability: Flexible handling of increasing workloads
¢ Availibility: Zero-downtime tolerance with respect to the complete webshop platform
µ
Customers
µ
Orders
µ
Products
µ
Loyalty
µ
Finance
µ
Logistics
Web Shop Portal
Micro-UIs
µ
Customers
µ
Orders
µ
Products
µ
Loyalty
µ
Finance
© OPITZ CONSULTING 2018 API-First-Design Seite 6
© OPITZ CONSULTING 2018 Seite 7
µServices and APIs
2
API-First-Design
© OPITZ CONSULTING 2018 API-First-Design Seite 8
Why µServices?
¢ Flexibility
¢ Independently releasable
¢ Technologies
¢ Platform
¢ Scalable
¢ Fault tolerant & robust
¢ Decoupled development
¢ Dedicated responsibility and
ownership
Microservices are no silver bullets!
IMPORTANT
© OPITZ CONSULTING 2018 API-First-Design Seite 9
What service granularity to choose?
¢ It doesn’t matter in a first step, because there is no definitive solution,
because of changes in
¢ Organizations
¢ Business objectives
¢ Technology Frameworks
¢ Regulations
¢ Get started quickly with a first idea of Bounded Context, APIs, etc.
¢ Service cut is not carved in stone and needs revision in every iteration
#doneisbetterthanperfect
#stopdiscussingstartdoing
#embracechange
© OPITZ CONSULTING 2018 API-First-Design Seite 10
Which technology platform to use?
¢ Technology platform is not significant, even though it‘s important to
keep it flexible and exchangeable
¢ Focus should be on the Business challenges that should be solved
¢ More instances is better than bigger instances (Horizontal scaling)
¢ More resiliency
¢ Better elasticity
Main objective µServices:
Sustainable manageable agility in functionality and non-functionality (scale, performance,
location, availability, ..) - with optimal cost (low), speed (high), risk (low) of running and
evolving our business application landscape. The evolution of the underlying technology
and architecture is very much to be included. (Quote: Lucas Jellema, CTO, AMIS NL)
© OPITZ CONSULTING 2018 API-First-Design Seite 11
Use of APIs in µService interactions
µ
Customers
µ
Orders
µ
Products
µ
Loyalty
µ
Finance
µ
Logistics
Web Shop Portal
Micro-UIs
µ
Customers
µ
Orders
µ
Products
µ
Loyalty
µ
Finance
Horizontal level
Verticallevel
APIs
Events
© OPITZ CONSULTING 2018 API-First-Design Seite 12
Two-layered API approach to increase agility
Seite 12
User Experience
Service Implementation
Persistence
Web Mobile Device
Single Purpose API
Multi-Purpose API
Monitoring
BusinessAnalytics
Security
Management
Monolithic
System
RegistryEvent StoreShared Storage
Non-shared
Storage
Semi-decoupled Fully-decoupled
http://omesa.io
µServices
APIs
© OPITZ CONSULTING 2018 API-First-Design Seite 13
Meaning of APIs for µServices
¢ Single access point to a µServices Bounded Context
¢ Decoupling of frontend and backend logic (vertical level)
¢ Implementation of cross-cutting concerns
¢ Security (Authentication, Encryption, etc.)
¢ Monitoring (Number of calls, Number of errors, etc.)
¢ Quality of Service (Rate limits, Caching, etc.)
¢ Increased flexibility and agility with respect to changes
¢ API composition (MS Pattern C. Richardson)
¢ BFF (specific backends for a certain frontend)
© OPITZ CONSULTING 2018 API-First-Design Seite 14
Example: Financials µService
¢ Encapsulates everything with respect to financials:
¢ Business functionalities
¢ Manage Invoices
¢ Query Customer Account information
¢ Process Payments
¢ Data relevant to the financials domain
¢ Invoices
¢ Customer account information
¢ Payments
¢ Efficient development approach needs to:
¢ Support collaboration
¢ Decoupled development
¢ Quick feedback cycles
µ
Finance
µ
Finance UI
Finance
Finance Context
API
© OPITZ CONSULTING 2018 Seite 15
API first Design
3
API-First-Design
© OPITZ CONSULTING 2018 API-First-Design Seite 16
What is design?
Design is a collaborative process!
Source: https://ytiffanie.wordpress.com/danish-design/what-is-design/
© OPITZ CONSULTING 2018 API-First-Design Seite 17
API first design approach
Feedback
Feedback
Intuitive, consistent API design is
key for API acceptance!
IMPORTANT
© OPITZ CONSULTING 2018 API-First-Design Seite 18
Tools supporting an API first design approach
Design Use Build Deploy Test
Feedback
Oracle API
Platform
© OPITZ CONSULTING 2018 API-First-Design Seite 19
API first Design with Apiary
¢ Supports API first design approach
¢ Collaboration through Github integration
¢ Ensures consistent API Design
¢ Support for API Blueprint and Swagger 2.0 (Open API)
API as a by-
product of
building apps
API
documentation
generated
from code
Design-first
API
Development
API Design
Consistency
© OPITZ CONSULTING 2018 Seite 20
Demo – Design with Apiary
API-First-Design
© OPITZ CONSULTING 2018 API-First-Design Seite 21
Comparison Swagger and API Blueprint
Swagger API Blueprint
Purpose Development framework:
Document, Implement (Code gen),
Testing
API Documentation
Representation JSON and YAML Markdown
Focus Streamline the update workflow Create consistent and better API
designs collaborativelly
Code Generation Yes; Client and Server code No code generation possible
© OPITZ CONSULTING 2018 API-First-Design Seite 22
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
¢ Alternatively: NPM-based tool
© OPITZ CONSULTING 2018 API-First-Design Seite 23
Implement the API
¢ Generate Sourcecode artifacts from Swagger definition
¢ Plugin can generate
¢ Client and Server artifacts
¢ Domain objects
¢ Service interface
¢ Different implementation technologies
© OPITZ CONSULTING 2018 API-First-Design Seite 24
Implement the API policy
¢ API policy consists of different assertions
¢ API policy is (often) implemented in a declarative fashion
¢ In Oracle API Platform Cloud Service:
¢ Management Service for:
¢ Implement the API policy
¢ Deploy the API policy to the Gateways
¢ Manage and monitor the API
¢ Developer Portal for:
¢ API discovery
¢ App registration
© OPITZ CONSULTING 2018
© OPITZ CONSULTING 2018
(1) Subscribe application to API
(2) Issued API key for this application
© OPITZ CONSULTING 2018 API-First-Design Seite 28
Testing API Design against the implementation
¢ Ensure that the implementation adheres to the API design
¢ Correct payload information
¢ Correct HTTP responce codes
¢ Defined HTTP ressources available
¢ Dredd is an 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-First-Design Seite 29
View Dredd test results in Apiary
© OPITZ CONSULTING 2018 Seite 30
Demo – Dredd API test
API-First-Design
© OPITZ CONSULTING 2018 Seite 31
Continuous Software delivery
3
API-First-Design
© OPITZ CONSULTING 2018 API-First-Design Seite 32
Automate as much as possible
¢ Build and deployment steps should be automated as much as possible
¢ Wercker is a cloud-based platform for building and deploying
containerized applications
¢ Build is defined as a so called workflows, which consists of pipelines
¢ Wercker provides a step store for sharing and exchanging templates
Pipeline
Definition in „wercker.yml“
<
Step
© OPITZ CONSULTING 2018 Seite 33
Demo – Wercker build pipeline
API-First-Design
© OPITZ CONSULTING 2018 API-First-Design Seite 34
K8s deployment using Helm charts
¢ ‘Package manager’ for Kubernetes apps
¢ Official Kubernetes project and part of Cloud Native Computing
Foundation (CNCF)
¢ Packages called charts stored in repositories
¢ Install/upgrade software
¢ Automatically install software dependencies
¢ Charts contain templatized Kubernetes configuration
¢ Helm chart repository: https://hub.kubeapps.com
© OPITZ CONSULTING 2018 API-First-Design Seite 35
Infrastructure-as-code
¢ CI/CD is more than just build, test and deploy your application code
¢ Infrastructure should be expressed by code and treated like that
¢ Dockerfiles
¢ K8s Resources (e.g. Deployment Configs, etc.)
¢ Cloud infrastructure management (e.g. provisioning of new compute nodes)
¢ Infrastructure code should describe desired target state
¢ Infrstructure-as-code helps to consistently manage your system
configurations
© OPITZ CONSULTING 2018 API-First-Design Seite 36
Test the integrated API solution
¢ 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-First-Design Seite 37
API Fortress
¢ Complete API platform solution for testing and developing
¢ Availabe in the Cloud or On-premises
¢ Support developers and testers in
¢ Functional testing
¢ Automation (for CI/CD)
¢ Mocking / Virtualization
¢ Load Testing
¢ Monitoring
Source: https://events.apifortress.com/end-to-end-automated-api-testing-qa-datasheet
© OPITZ CONSULTING 2018 Seite 39
Summary
5
API-First-Design
© OPITZ CONSULTING 2018 API-First-Design Seite 40
Summary
¢ µServices are no silver bullet!
¢ Make use of an API first design approach to consistently design &
implement your APIs!
¢ Consistent, intuitive APIs are essential for API acceptance
¢ An API that is not used, is useless
¢ API design is as important as for µServices, as UI design (UX) is for User interfaces
¢ Especially when APIs are exposed to 3rd parties, like business partners and when it comes
to monetization
¢ APIs help to further transparency with respect µService usage
¢ Who is using a specific µService?
¢ How many requests are sent to this specific µService resp. to certain resources?
© OPITZ CONSULTING 2018 API-First-Design Seite 41
Links & Resources
¢ Financials µService Source: https://bit.ly/2qTQp1s
¢ Apiary: https://apiary.io
¢ API conversions: https://apimatic.io
¢ Dredd HTTP testing: http://dredd.readthedocs.io/en/latest/
¢ Wercker: http://www.wercker.com
¢ Helm: https://helm.sh
¢ Kubeapps: https://hub.kubeapps.com
¢ API Fortress: https://apifortress.com
¢ API Fortress Data sheet: https://bit.ly/2OQNjVP
© OPITZ CONSULTING 2018 Seite 42API-First-Design
Q & A
© OPITZ CONSULTING 2018
¢¢¢ überraschend mehr Möglichkeiten!
@OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM
Seite 43
Contact us!
Danilo Schmiedel
Senior Managing Consultant Solutions | Oracle ACE Director
OPITZ CONSULTING Deutschland GmbH
Tempelhofer Weg 64, 12347 Berlin, Germany
Phone: +49 173 7279001
Mail: danilo.schmiedel@opitz-consulting.com
@dschmied
http://inside-bpm-and-soa.blogspot.com
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-First-Design

Weitere ähnliche Inhalte

Was ist angesagt?

API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy IntroductionDoug Gregory
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Kai Wähner
 
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...HostedbyConfluent
 
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...apidays
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api managerChanaka Fernando
 
Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewGiulio Roggero
 
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityMatt Tesauro
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital TransformationAditya Thatte
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 
Istio service mesh introduction
Istio service mesh introductionIstio service mesh introduction
Istio service mesh introductionKyohei Mizumoto
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementBizTalk360
 
Best Practices for API Management
Best Practices for API Management Best Practices for API Management
Best Practices for API Management WSO2
 
API Business Models
API Business ModelsAPI Business Models
API Business ModelsJohn Musser
 

Was ist angesagt? (20)

API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
 
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
 
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api manager
 
Definitive Guide to API Management
Definitive Guide to API ManagementDefinitive Guide to API Management
Definitive Guide to API Management
 
Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree view
 
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
apidays Paris 2022 - The 12 Facets of the OpenAPI Specification, Steve Sfartz...
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
API Management in Azure
API Management in AzureAPI Management in Azure
API Management in Azure
 
Apigee Products Overview
Apigee Products OverviewApigee Products Overview
Apigee Products Overview
 
Istio service mesh introduction
Istio service mesh introductionIstio service mesh introduction
Istio service mesh introduction
 
Apigee Edge Overview and Roadmap
Apigee Edge Overview and RoadmapApigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
 
Best Practices for API Management
Best Practices for API Management Best Practices for API Management
Best Practices for API Management
 
API Business Models
API Business ModelsAPI Business Models
API Business Models
 
Argocd up and running
Argocd up and runningArgocd up and running
Argocd up and running
 

Ähnlich wie API first Design and Microservices

API design-first and Microservices
API design-first and MicroservicesAPI design-first and Microservices
API design-first and MicroservicesSven Bernhardt
 
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 approachSven Bernhardt
 
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 OCISven Bernhardt
 
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 OCISven Bernhardt
 
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) OPITZ CONSULTING Deutschland
 
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 OCISven Bernhardt
 
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...Sven Bernhardt
 
Evolution of API-driven architectures
Evolution of API-driven architecturesEvolution of API-driven architectures
Evolution of API-driven architecturesSven Bernhardt
 
API Management - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!Sven Bernhardt
 
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 CloudSven Bernhardt
 
Serverless architectures with Fn Project
Serverless architectures with Fn ProjectServerless architectures with Fn Project
Serverless architectures with Fn ProjectSven Bernhardt
 
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 managementSven Bernhardt
 
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 conceptsSven Bernhardt
 
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 OPITZ CONSULTING Deutschland
 
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 conceptsSven Bernhardt
 
Efficient API delivery with APIOps
Efficient API delivery with APIOpsEfficient API delivery with APIOps
Efficient API delivery with APIOpsSven Bernhardt
 
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 KongSven Bernhardt
 

Ähnlich wie API first Design and Microservices (20)

API design-first and Microservices
API design-first and MicroservicesAPI design-first and Microservices
API design-first and Microservices
 
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
 
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
 
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)
 
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
 
Strategies for efficient Delivery
Strategies for efficient DeliveryStrategies for efficient Delivery
Strategies for efficient Delivery
 
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...
 
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 - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!
 
API Management - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!
 
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
 
Serverless architectures with Fn Project
Serverless architectures with Fn ProjectServerless architectures with Fn Project
Serverless architectures with Fn Project
 
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
 
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
 
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
 
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
 
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
 

Mehr von Sven Bernhardt

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 QuarkusSven Bernhardt
 
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 PlatformSven Bernhardt
 
Modernization options for Oracle Forms applications
Modernization options for Oracle Forms applicationsModernization options for Oracle Forms applications
Modernization options for Oracle Forms applicationsSven Bernhardt
 
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 ProductivitySven Bernhardt
 
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 APIsSven Bernhardt
 
Declarative observability management for Microservice architectures
Declarative observability management for Microservice architecturesDeclarative observability management for Microservice architectures
Declarative observability management for Microservice architecturesSven Bernhardt
 
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 eventsSven Bernhardt
 
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 KumaSven Bernhardt
 
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 KumaSven Bernhardt
 
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 ArchitecturesSven Bernhardt
 
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 APIsSven Bernhardt
 
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 ServicesSven Bernhardt
 
Service Mesh Advanced Use Cases
Service Mesh Advanced Use CasesService Mesh Advanced Use Cases
Service Mesh Advanced Use CasesSven Bernhardt
 
Cloud-native Application Development on OCI
Cloud-native Application Development on OCICloud-native Application Development on OCI
Cloud-native Application Development on OCISven Bernhardt
 
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 KongSven Bernhardt
 
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 normalSven Bernhardt
 
Efficient API delivery with APIOps
Efficient API delivery with APIOpsEfficient API delivery with APIOps
Efficient API delivery with APIOpsSven Bernhardt
 
Implementing Cloud-native apps on OCI
Implementing Cloud-native apps on OCIImplementing Cloud-native apps on OCI
Implementing Cloud-native apps on OCISven 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 KumaSven Bernhardt
 
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 gameSven Bernhardt
 

Mehr von 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
 
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
 
Modernization options for Oracle Forms applications
Modernization options for Oracle Forms applicationsModernization options for Oracle Forms applications
Modernization options for Oracle Forms applications
 
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
 
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
 
Efficient API delivery with APIOps
Efficient API delivery with APIOpsEfficient API delivery with APIOps
Efficient API delivery with APIOps
 
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
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

API first Design and Microservices

  • 1. © OPITZ CONSULTING 2018 s ¢¢¢ überraschend mehr Möglichkeiten! © OPITZ CONSULTING 2018 Significance for µServices Architectures Sven Bernhardt, Danilo Schmiedel API-First-Design
  • 2. © OPITZ CONSULTING 2018 API-First-Design Seite 2 OPITZ CONSULTING - A success story since 1990 ¢ Our Mission: Help organizations to leverage the possibilities of digitalization to be different, better and faster than their competitors ¢ Owner-led company with ¢ 450+ consultants ¢ 11 locations in Germany and Poland Danilo Schmiedel ¢ ¢ Senior Managing Consultant ¢ Business Development and Innovation About us Sven Bernhardt ¢ Senior Solution Architect ¢ Technical Lead for API Management
  • 3. © OPITZ CONSULTING 2018 Seite 3 Agenda 1 2 3 5 Use Case introduction µServices and APIs API first Design Summary API-First-Design 4 Continuous Software delivery
  • 4. © OPITZ CONSULTING 2018 Seite 4 Use Case introduction 1 API-First-Design
  • 5. © OPITZ CONSULTING 2018 API-First-Design Seite 5 Example µService Architecture: Webshop ¢ Requirements: ¢ Agility: Quickly respond to changing/new market requirements ¢ Extensibility: Easily evolve the platform with new functionality ¢ Scalability: Flexible handling of increasing workloads ¢ Availibility: Zero-downtime tolerance with respect to the complete webshop platform µ Customers µ Orders µ Products µ Loyalty µ Finance µ Logistics Web Shop Portal Micro-UIs µ Customers µ Orders µ Products µ Loyalty µ Finance
  • 6. © OPITZ CONSULTING 2018 API-First-Design Seite 6
  • 7. © OPITZ CONSULTING 2018 Seite 7 µServices and APIs 2 API-First-Design
  • 8. © OPITZ CONSULTING 2018 API-First-Design Seite 8 Why µServices? ¢ Flexibility ¢ Independently releasable ¢ Technologies ¢ Platform ¢ Scalable ¢ Fault tolerant & robust ¢ Decoupled development ¢ Dedicated responsibility and ownership Microservices are no silver bullets! IMPORTANT
  • 9. © OPITZ CONSULTING 2018 API-First-Design Seite 9 What service granularity to choose? ¢ It doesn’t matter in a first step, because there is no definitive solution, because of changes in ¢ Organizations ¢ Business objectives ¢ Technology Frameworks ¢ Regulations ¢ Get started quickly with a first idea of Bounded Context, APIs, etc. ¢ Service cut is not carved in stone and needs revision in every iteration #doneisbetterthanperfect #stopdiscussingstartdoing #embracechange
  • 10. © OPITZ CONSULTING 2018 API-First-Design Seite 10 Which technology platform to use? ¢ Technology platform is not significant, even though it‘s important to keep it flexible and exchangeable ¢ Focus should be on the Business challenges that should be solved ¢ More instances is better than bigger instances (Horizontal scaling) ¢ More resiliency ¢ Better elasticity Main objective µServices: Sustainable manageable agility in functionality and non-functionality (scale, performance, location, availability, ..) - with optimal cost (low), speed (high), risk (low) of running and evolving our business application landscape. The evolution of the underlying technology and architecture is very much to be included. (Quote: Lucas Jellema, CTO, AMIS NL)
  • 11. © OPITZ CONSULTING 2018 API-First-Design Seite 11 Use of APIs in µService interactions µ Customers µ Orders µ Products µ Loyalty µ Finance µ Logistics Web Shop Portal Micro-UIs µ Customers µ Orders µ Products µ Loyalty µ Finance Horizontal level Verticallevel APIs Events
  • 12. © OPITZ CONSULTING 2018 API-First-Design Seite 12 Two-layered API approach to increase agility Seite 12 User Experience Service Implementation Persistence Web Mobile Device Single Purpose API Multi-Purpose API Monitoring BusinessAnalytics Security Management Monolithic System RegistryEvent StoreShared Storage Non-shared Storage Semi-decoupled Fully-decoupled http://omesa.io µServices APIs
  • 13. © OPITZ CONSULTING 2018 API-First-Design Seite 13 Meaning of APIs for µServices ¢ Single access point to a µServices Bounded Context ¢ Decoupling of frontend and backend logic (vertical level) ¢ Implementation of cross-cutting concerns ¢ Security (Authentication, Encryption, etc.) ¢ Monitoring (Number of calls, Number of errors, etc.) ¢ Quality of Service (Rate limits, Caching, etc.) ¢ Increased flexibility and agility with respect to changes ¢ API composition (MS Pattern C. Richardson) ¢ BFF (specific backends for a certain frontend)
  • 14. © OPITZ CONSULTING 2018 API-First-Design Seite 14 Example: Financials µService ¢ Encapsulates everything with respect to financials: ¢ Business functionalities ¢ Manage Invoices ¢ Query Customer Account information ¢ Process Payments ¢ Data relevant to the financials domain ¢ Invoices ¢ Customer account information ¢ Payments ¢ Efficient development approach needs to: ¢ Support collaboration ¢ Decoupled development ¢ Quick feedback cycles µ Finance µ Finance UI Finance Finance Context API
  • 15. © OPITZ CONSULTING 2018 Seite 15 API first Design 3 API-First-Design
  • 16. © OPITZ CONSULTING 2018 API-First-Design Seite 16 What is design? Design is a collaborative process! Source: https://ytiffanie.wordpress.com/danish-design/what-is-design/
  • 17. © OPITZ CONSULTING 2018 API-First-Design Seite 17 API first design approach Feedback Feedback Intuitive, consistent API design is key for API acceptance! IMPORTANT
  • 18. © OPITZ CONSULTING 2018 API-First-Design Seite 18 Tools supporting an API first design approach Design Use Build Deploy Test Feedback Oracle API Platform
  • 19. © OPITZ CONSULTING 2018 API-First-Design Seite 19 API first Design with Apiary ¢ Supports API first design approach ¢ Collaboration through Github integration ¢ Ensures consistent API Design ¢ Support for API Blueprint and Swagger 2.0 (Open API) API as a by- product of building apps API documentation generated from code Design-first API Development API Design Consistency
  • 20. © OPITZ CONSULTING 2018 Seite 20 Demo – Design with Apiary API-First-Design
  • 21. © OPITZ CONSULTING 2018 API-First-Design Seite 21 Comparison Swagger and API Blueprint Swagger API Blueprint Purpose Development framework: Document, Implement (Code gen), Testing API Documentation Representation JSON and YAML Markdown Focus Streamline the update workflow Create consistent and better API designs collaborativelly Code Generation Yes; Client and Server code No code generation possible
  • 22. © OPITZ CONSULTING 2018 API-First-Design Seite 22 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 ¢ Alternatively: NPM-based tool
  • 23. © OPITZ CONSULTING 2018 API-First-Design Seite 23 Implement the API ¢ Generate Sourcecode artifacts from Swagger definition ¢ Plugin can generate ¢ Client and Server artifacts ¢ Domain objects ¢ Service interface ¢ Different implementation technologies
  • 24. © OPITZ CONSULTING 2018 API-First-Design Seite 24 Implement the API policy ¢ API policy consists of different assertions ¢ API policy is (often) implemented in a declarative fashion ¢ In Oracle API Platform Cloud Service: ¢ Management Service for: ¢ Implement the API policy ¢ Deploy the API policy to the Gateways ¢ Manage and monitor the API ¢ Developer Portal for: ¢ API discovery ¢ App registration
  • 26. © OPITZ CONSULTING 2018 (1) Subscribe application to API (2) Issued API key for this application
  • 27. © OPITZ CONSULTING 2018 API-First-Design Seite 28 Testing API Design against the implementation ¢ Ensure that the implementation adheres to the API design ¢ Correct payload information ¢ Correct HTTP responce codes ¢ Defined HTTP ressources available ¢ Dredd is an 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-First-Design Seite 29 View Dredd test results in Apiary
  • 29. © OPITZ CONSULTING 2018 Seite 30 Demo – Dredd API test API-First-Design
  • 30. © OPITZ CONSULTING 2018 Seite 31 Continuous Software delivery 3 API-First-Design
  • 31. © OPITZ CONSULTING 2018 API-First-Design Seite 32 Automate as much as possible ¢ Build and deployment steps should be automated as much as possible ¢ Wercker is a cloud-based platform for building and deploying containerized applications ¢ Build is defined as a so called workflows, which consists of pipelines ¢ Wercker provides a step store for sharing and exchanging templates Pipeline Definition in „wercker.yml“ < Step
  • 32. © OPITZ CONSULTING 2018 Seite 33 Demo – Wercker build pipeline API-First-Design
  • 33. © OPITZ CONSULTING 2018 API-First-Design Seite 34 K8s deployment using Helm charts ¢ ‘Package manager’ for Kubernetes apps ¢ Official Kubernetes project and part of Cloud Native Computing Foundation (CNCF) ¢ Packages called charts stored in repositories ¢ Install/upgrade software ¢ Automatically install software dependencies ¢ Charts contain templatized Kubernetes configuration ¢ Helm chart repository: https://hub.kubeapps.com
  • 34. © OPITZ CONSULTING 2018 API-First-Design Seite 35 Infrastructure-as-code ¢ CI/CD is more than just build, test and deploy your application code ¢ Infrastructure should be expressed by code and treated like that ¢ Dockerfiles ¢ K8s Resources (e.g. Deployment Configs, etc.) ¢ Cloud infrastructure management (e.g. provisioning of new compute nodes) ¢ Infrastructure code should describe desired target state ¢ Infrstructure-as-code helps to consistently manage your system configurations
  • 35. © OPITZ CONSULTING 2018 API-First-Design Seite 36 Test the integrated API solution ¢ 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
  • 36. © OPITZ CONSULTING 2018 API-First-Design Seite 37 API Fortress ¢ Complete API platform solution for testing and developing ¢ Availabe in the Cloud or On-premises ¢ Support developers and testers in ¢ Functional testing ¢ Automation (for CI/CD) ¢ Mocking / Virtualization ¢ Load Testing ¢ Monitoring Source: https://events.apifortress.com/end-to-end-automated-api-testing-qa-datasheet
  • 37. © OPITZ CONSULTING 2018 Seite 39 Summary 5 API-First-Design
  • 38. © OPITZ CONSULTING 2018 API-First-Design Seite 40 Summary ¢ µServices are no silver bullet! ¢ Make use of an API first design approach to consistently design & implement your APIs! ¢ Consistent, intuitive APIs are essential for API acceptance ¢ An API that is not used, is useless ¢ API design is as important as for µServices, as UI design (UX) is for User interfaces ¢ Especially when APIs are exposed to 3rd parties, like business partners and when it comes to monetization ¢ APIs help to further transparency with respect µService usage ¢ Who is using a specific µService? ¢ How many requests are sent to this specific µService resp. to certain resources?
  • 39. © OPITZ CONSULTING 2018 API-First-Design Seite 41 Links & Resources ¢ Financials µService Source: https://bit.ly/2qTQp1s ¢ Apiary: https://apiary.io ¢ API conversions: https://apimatic.io ¢ Dredd HTTP testing: http://dredd.readthedocs.io/en/latest/ ¢ Wercker: http://www.wercker.com ¢ Helm: https://helm.sh ¢ Kubeapps: https://hub.kubeapps.com ¢ API Fortress: https://apifortress.com ¢ API Fortress Data sheet: https://bit.ly/2OQNjVP
  • 40. © OPITZ CONSULTING 2018 Seite 42API-First-Design Q & A
  • 41. © OPITZ CONSULTING 2018 ¢¢¢ überraschend mehr Möglichkeiten! @OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM Seite 43 Contact us! Danilo Schmiedel Senior Managing Consultant Solutions | Oracle ACE Director OPITZ CONSULTING Deutschland GmbH Tempelhofer Weg 64, 12347 Berlin, Germany Phone: +49 173 7279001 Mail: danilo.schmiedel@opitz-consulting.com @dschmied http://inside-bpm-and-soa.blogspot.com 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-First-Design