© OPITZ CONSULTING 2022 / Öffentlich
Cloud-native app development - the new normal 1
Cologne, 2021-12-09
Sven Bernhardt
CLOUD-NATIVE APP DEVELOPMENT –
THE NEW NORMAL
© OPITZ CONSULTING 2022 / Öffentlich
THAT‘S ME
Cloud-native app development - the new normal 2
Sven Bernhardt
Cloud-Native enthusiast, API & integration geek. Always curious how new
technologies and concepts can help to make things more valuable and efficient.
¢ Chief Architect / Integration Evangelist@OPITZ CONSULTING Deutschland GmbH
¢ Oracle ACE Director
@sbernhardt
https://svenbernhardt.wordpress.com/
© OPITZ CONSULTING 2022 / Öffentlich
Cloud-native app development - the new normal 3
WHY CLOUD-NATIVE?
https://opitzcloud.canto.global/b/S97PB
© OPITZ CONSULTING 2022 / Öffentlich
MAIN CHALLENGE: ENSURE THE ABILITY TO INNOVATE
Cloud-native app development - the new normal 4
Source: https://konghq.com/resources/digital-innovation-benchmark-2021/
© OPITZ CONSULTING 2022 / Öffentlich
CLOUD-NATIVE APPS
Cloud-native app development - the new normal 5
¢ Designed for change with the following characteristics:
¢ Loose coupling
¢ Resilient and fault tolerant
¢ Scalable
¢ Manageable
¢ Observable
¢ Adhere to the 12-factor app methodology
¢ CNCF Cloud-native definition states:
Cloud-native
Microservices & APIs
CI / CD
DevOps
Containers
… loosely coupled systems that are resilient, manageable,
and observable. Combined with robust automation, they allow
engineers to make high-impact changes frequently and
predictably with minimal toil.
© OPITZ CONSULTING 2022 / Öffentlich
CLOUD-NATIVE IS NOT JUST ABOUT CLOUD, IT’S ABOUT…
Cloud-native app development - the new normal 6
¢ Designing apps to run in scalable, dynamic environments
¢ On-premises
¢ Public or private Cloud
¢ Implementing applications that are portable across different platforms
¢ Leveraging the capabilities of the underlying runtime platforms
¢ Focus on business requirements
¢ Faster time-2-market
¢ Increased Developers productivity
© OPITZ CONSULTING 2022 / Öffentlich
TRADITIONAL VS. CLOUD-NATIVE SYSTEMS
Cloud-native app development - the new normal 7
¢ Single Deployment unit
¢ Single execution process
¢ Shared database
¢ Local, app-internal communication only
¢ Multiple Deployment units
¢ Exclusive execution process per service
¢ Database per Service (usually)
¢ Remote, inter-service communication
UI
Business
Logic
Persistence
© OPITZ CONSULTING 2022 / Öffentlich
Cloud-native app development - the new normal 8
WAY TO CLOUD-NATIVE
https://opitzcloud.canto.global/b/M0IQC
© OPITZ CONSULTING 2022 / Öffentlich
ACHIEVE LOOSE COUPLING THROUGH API DESIGN-FIRST APPROACH
Cloud-native app development - the new normal 9
¢ Synchronous APIs (it’s not just REST!)
¢ REST (OpenAPI)
¢ GraphQL
¢ gRPC
¢ Asynchronous APIs (preferred)
¢ Async API
¢ Data description with
¢ Protobuf
¢ Avro
¢ JSON Schema
© OPITZ CONSULTING 2022 / Öffentlich
APIS SHOULD DELIVER BUSINESS VALUE!
Efficient API delivery with APIOps 10
¢ Focus on potential consumers
¢ How will a consumer use my API?
¢ What kind of resources and operations are
needed by the consumers?
¢ …
¢ APIs should be consumer-centric and thus
be consumable
¢ Well-designed, secured and compliant
¢ Documented, discoverable and accessible
¢ Performant, reliable and scalable
Source: https://konghq.com/blog/what-is-apiops/
Compliant
Functional Findable
The intersection of the three
characteristics defines
consumable APIs!
© OPITZ CONSULTING 2022 / Öffentlich
SPEED UP APP DELIVERY BY AUTOMATING THE DELIVERY PIPELINE
Cloud-native app development - the new normal 11
¢ Assumes no cycles and concentrates on the main process from commit to production
Commit Stage Build Stage
Automated
Verification
Stage
Deploy to
staging
environments
Manual
Acceptance
Test
Load Test /
Performance
Test
Security Test
Deploy to
prod
environments
Release
Code Pipeline Deployment Pipeline
¢ Ensure Software is always releasable
¢ Runs less often, only if software is
guaranteed to be working
¢ Feedback cycles often days up to 2-4 weeks
¢ Runs often
¢ Feedback cycles 10-15 min
Continuous Delivery Continuous Deployment
¢ Automatic deploy
and release to prod
¢ Needs to eleminate
manual steps in
continuous delivery
© OPITZ CONSULTING 2022 / Öffentlich
SHIFT-LEFT: CLOUD-NATIVE REQUIRES CHANGED DEVELOPER
MINDSET
Cloud-native app development - the new normal 12
¢ More responsibility on the developer side
¢ Move tasks from later stages to earlier stages in the pipeline to shorten cycle time
¢ Identifying issues earlier in the pipeline makes it cheaper to address issues
¢ Ensure quality earlier in the pipeline
© OPITZ CONSULTING 2022 / Öffentlich
Cloud-native app development - the new normal 13
FREEDOM OF CHOICE –
DEVELOPERS NEED TO EMBRACE TECHNOLOGY
https://landscape.cncf.io/
© OPITZ CONSULTING 2022 / Öffentlich
CNCF CLOUD-NATIVE TRAIL MAP
Cloud-native app development - the new normal 14
Source: https://github.com/cncf/trailmap
© OPITZ CONSULTING 2022 / Öffentlich
Cloud-native app development - the new normal 15
https://opitzcloud.canto.global/b/QN7DH
CLOUD-NATIVE APPLICATION PLATFORM (BASED ON OCI)
© OPITZ CONSULTING 2022 / Öffentlich
CLOUD-NATIVE APPLICATION PLATTFORM IN THE CLOUD
Cloud-native app development - the new normal 16
¢ All major Cloud providers provide respective services
¢ Cloud-native development platform should at least consist of:
¢ Source Code Management (Git)
¢ Artifact / Container Management
¢ Build tools (CI / CD Pipelines)
¢ Cloud-native runtime platform should at least consist of:
¢ Event Hub (Kafka)
¢ Container Engine (Managed Kubernetes)
¢ API Gateway
¢ Functions-as-a-Service platform (Serverless architectures)
¢ On top respective Observability tooling for operating cloud-native apps is needed
© OPITZ CONSULTING 2022 / Öffentlich
Cloud-native app development - the new normal 17
Oracle Cloud Infrastructure (OCI)
(Network, Compute, Storage, etc.)
Oracle Cloud Native Services
Container
Engine for
Kubernetes
(OKE)
API Gateway Functions Streaming
Application Runtime
Container
Registry
(OCIR)
Resource
Manager
Application Development
Artifact
Registry
DevOps
Monitoring
Logging
Events
Application Operations
Notifications
Application
Performance
Monitoring
© OPITZ CONSULTING 2022 / Öffentlich
OCI CLOUD-NATIVE EMBRACES OPEN SOURCE AND OPEN
STANDARDS
Cloud-native app development - the new normal 18
¢ Oracle is a CNCF member and actively contributes to the Open source community
¢ Helidon
¢ Micronaut
¢ GraalVM
¢ Kubernetes (Weblogic Operator, Database Operator)
¢ OCI Services supports, integrated with and is build upon open standards and tools provided by
CNCF
¢ Open API
¢ Open Telemetry
¢ Open Tracing
¢ CloudEvents
¢ FluentD
¢ Prometheus
¢ Grafana
¢ Kafka
¢ …
© OPITZ CONSULTING 2022 / Öffentlich
DEMO CASE: CLOUD-NATIVE MICRONAUT APP DEVELOPMENT WITH
OCI
Cloud-native app development - the new normal 19
OKE
Resource
Manager
OCI
API Gateway
DevOps
Container
Registry
Artifact
Registry
Developer
Push code change
Publish Build
artifacts
Push Container
images
Trigger
Deployment
Pull Container
image
Trigger
infrastructure
provisioning Deploy OKE cluster
(and related
resources)
Consumer
Events
Notifications
Publish
events
Consume
events
Send notification
Call API service
© OPITZ CONSULTING 2022 / Öffentlich
Cloud-native app development - the new normal 32
CONCLUSION
https://opitzcloud.canto.global/b/SPU2S
© OPITZ CONSULTING 2022 / Öffentlich
MOVEMENT TO ARCHITECTURES THAT ARE DESIGNED FOR CHANGE
Cloud-native app development - the new normal 33
¢ Move away from
¢ Classic and monolithic application design
¢ Centralized application teams
¢ Manual application delivery
Source: https://konghq.com/resources/digital-innovation-benchmark-2021/
© OPITZ CONSULTING 2022 / Öffentlich
KEY TAKEAWAYS
¢ New Apps should be built in a Cloud-native fashion
¢ Apps should be based on open source and open industry
standards
¢ Containers, DevOps and APIs are basic building blocks
¢ Cloud-native development requires mindest change
¢ Shift-left – more responsibility on developers
¢ Devs should embrace technology (even unknown ones)
¢ API design-first is important for consistent, intuitive API
design
Cloud-native app development - the new normal 34
DEV
© OPITZ CONSULTING 2022 / Öffentlich
Cloud-native app development - the new normal 35
Q & A
https://opitzcloud.canto.global/b/H0EMG
© OPITZ CONSULTING 2022 / Öffentlich
IN CASE OF ANY QUESTIONS…
Cloud-native app development - the new normal 36
Sven Bernhardt
Chief Architect / Integration Evangelist |
Kong Champion | Oracle ACE Pro
OPITZ CONSULTING Deutschland GmbH
Kirchstrasse 6, 51647 Gummersbach, Germany
Phone: +49 172 2193529
Mail: sven.bernhardt@opitz-consulting.com
Twitter: @sbernhardt
Blog: https://svenbernhardt.wordpress.com

Cloud-native Application Development - The new normal

  • 1.
    © OPITZ CONSULTING2022 / Öffentlich Cloud-native app development - the new normal 1 Cologne, 2021-12-09 Sven Bernhardt CLOUD-NATIVE APP DEVELOPMENT – THE NEW NORMAL
  • 2.
    © OPITZ CONSULTING2022 / Öffentlich THAT‘S ME Cloud-native app development - the new normal 2 Sven Bernhardt Cloud-Native enthusiast, API & integration geek. Always curious how new technologies and concepts can help to make things more valuable and efficient. ¢ Chief Architect / Integration Evangelist@OPITZ CONSULTING Deutschland GmbH ¢ Oracle ACE Director @sbernhardt https://svenbernhardt.wordpress.com/
  • 3.
    © OPITZ CONSULTING2022 / Öffentlich Cloud-native app development - the new normal 3 WHY CLOUD-NATIVE? https://opitzcloud.canto.global/b/S97PB
  • 4.
    © OPITZ CONSULTING2022 / Öffentlich MAIN CHALLENGE: ENSURE THE ABILITY TO INNOVATE Cloud-native app development - the new normal 4 Source: https://konghq.com/resources/digital-innovation-benchmark-2021/
  • 5.
    © OPITZ CONSULTING2022 / Öffentlich CLOUD-NATIVE APPS Cloud-native app development - the new normal 5 ¢ Designed for change with the following characteristics: ¢ Loose coupling ¢ Resilient and fault tolerant ¢ Scalable ¢ Manageable ¢ Observable ¢ Adhere to the 12-factor app methodology ¢ CNCF Cloud-native definition states: Cloud-native Microservices & APIs CI / CD DevOps Containers … loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.
  • 6.
    © OPITZ CONSULTING2022 / Öffentlich CLOUD-NATIVE IS NOT JUST ABOUT CLOUD, IT’S ABOUT… Cloud-native app development - the new normal 6 ¢ Designing apps to run in scalable, dynamic environments ¢ On-premises ¢ Public or private Cloud ¢ Implementing applications that are portable across different platforms ¢ Leveraging the capabilities of the underlying runtime platforms ¢ Focus on business requirements ¢ Faster time-2-market ¢ Increased Developers productivity
  • 7.
    © OPITZ CONSULTING2022 / Öffentlich TRADITIONAL VS. CLOUD-NATIVE SYSTEMS Cloud-native app development - the new normal 7 ¢ Single Deployment unit ¢ Single execution process ¢ Shared database ¢ Local, app-internal communication only ¢ Multiple Deployment units ¢ Exclusive execution process per service ¢ Database per Service (usually) ¢ Remote, inter-service communication UI Business Logic Persistence
  • 8.
    © OPITZ CONSULTING2022 / Öffentlich Cloud-native app development - the new normal 8 WAY TO CLOUD-NATIVE https://opitzcloud.canto.global/b/M0IQC
  • 9.
    © OPITZ CONSULTING2022 / Öffentlich ACHIEVE LOOSE COUPLING THROUGH API DESIGN-FIRST APPROACH Cloud-native app development - the new normal 9 ¢ Synchronous APIs (it’s not just REST!) ¢ REST (OpenAPI) ¢ GraphQL ¢ gRPC ¢ Asynchronous APIs (preferred) ¢ Async API ¢ Data description with ¢ Protobuf ¢ Avro ¢ JSON Schema
  • 10.
    © OPITZ CONSULTING2022 / Öffentlich APIS SHOULD DELIVER BUSINESS VALUE! Efficient API delivery with APIOps 10 ¢ Focus on potential consumers ¢ How will a consumer use my API? ¢ What kind of resources and operations are needed by the consumers? ¢ … ¢ APIs should be consumer-centric and thus be consumable ¢ Well-designed, secured and compliant ¢ Documented, discoverable and accessible ¢ Performant, reliable and scalable Source: https://konghq.com/blog/what-is-apiops/ Compliant Functional Findable The intersection of the three characteristics defines consumable APIs!
  • 11.
    © OPITZ CONSULTING2022 / Öffentlich SPEED UP APP DELIVERY BY AUTOMATING THE DELIVERY PIPELINE Cloud-native app development - the new normal 11 ¢ Assumes no cycles and concentrates on the main process from commit to production Commit Stage Build Stage Automated Verification Stage Deploy to staging environments Manual Acceptance Test Load Test / Performance Test Security Test Deploy to prod environments Release Code Pipeline Deployment Pipeline ¢ Ensure Software is always releasable ¢ Runs less often, only if software is guaranteed to be working ¢ Feedback cycles often days up to 2-4 weeks ¢ Runs often ¢ Feedback cycles 10-15 min Continuous Delivery Continuous Deployment ¢ Automatic deploy and release to prod ¢ Needs to eleminate manual steps in continuous delivery
  • 12.
    © OPITZ CONSULTING2022 / Öffentlich SHIFT-LEFT: CLOUD-NATIVE REQUIRES CHANGED DEVELOPER MINDSET Cloud-native app development - the new normal 12 ¢ More responsibility on the developer side ¢ Move tasks from later stages to earlier stages in the pipeline to shorten cycle time ¢ Identifying issues earlier in the pipeline makes it cheaper to address issues ¢ Ensure quality earlier in the pipeline
  • 13.
    © OPITZ CONSULTING2022 / Öffentlich Cloud-native app development - the new normal 13 FREEDOM OF CHOICE – DEVELOPERS NEED TO EMBRACE TECHNOLOGY https://landscape.cncf.io/
  • 14.
    © OPITZ CONSULTING2022 / Öffentlich CNCF CLOUD-NATIVE TRAIL MAP Cloud-native app development - the new normal 14 Source: https://github.com/cncf/trailmap
  • 15.
    © OPITZ CONSULTING2022 / Öffentlich Cloud-native app development - the new normal 15 https://opitzcloud.canto.global/b/QN7DH CLOUD-NATIVE APPLICATION PLATFORM (BASED ON OCI)
  • 16.
    © OPITZ CONSULTING2022 / Öffentlich CLOUD-NATIVE APPLICATION PLATTFORM IN THE CLOUD Cloud-native app development - the new normal 16 ¢ All major Cloud providers provide respective services ¢ Cloud-native development platform should at least consist of: ¢ Source Code Management (Git) ¢ Artifact / Container Management ¢ Build tools (CI / CD Pipelines) ¢ Cloud-native runtime platform should at least consist of: ¢ Event Hub (Kafka) ¢ Container Engine (Managed Kubernetes) ¢ API Gateway ¢ Functions-as-a-Service platform (Serverless architectures) ¢ On top respective Observability tooling for operating cloud-native apps is needed
  • 17.
    © OPITZ CONSULTING2022 / Öffentlich Cloud-native app development - the new normal 17 Oracle Cloud Infrastructure (OCI) (Network, Compute, Storage, etc.) Oracle Cloud Native Services Container Engine for Kubernetes (OKE) API Gateway Functions Streaming Application Runtime Container Registry (OCIR) Resource Manager Application Development Artifact Registry DevOps Monitoring Logging Events Application Operations Notifications Application Performance Monitoring
  • 18.
    © OPITZ CONSULTING2022 / Öffentlich OCI CLOUD-NATIVE EMBRACES OPEN SOURCE AND OPEN STANDARDS Cloud-native app development - the new normal 18 ¢ Oracle is a CNCF member and actively contributes to the Open source community ¢ Helidon ¢ Micronaut ¢ GraalVM ¢ Kubernetes (Weblogic Operator, Database Operator) ¢ OCI Services supports, integrated with and is build upon open standards and tools provided by CNCF ¢ Open API ¢ Open Telemetry ¢ Open Tracing ¢ CloudEvents ¢ FluentD ¢ Prometheus ¢ Grafana ¢ Kafka ¢ …
  • 19.
    © OPITZ CONSULTING2022 / Öffentlich DEMO CASE: CLOUD-NATIVE MICRONAUT APP DEVELOPMENT WITH OCI Cloud-native app development - the new normal 19 OKE Resource Manager OCI API Gateway DevOps Container Registry Artifact Registry Developer Push code change Publish Build artifacts Push Container images Trigger Deployment Pull Container image Trigger infrastructure provisioning Deploy OKE cluster (and related resources) Consumer Events Notifications Publish events Consume events Send notification Call API service
  • 20.
    © OPITZ CONSULTING2022 / Öffentlich Cloud-native app development - the new normal 32 CONCLUSION https://opitzcloud.canto.global/b/SPU2S
  • 21.
    © OPITZ CONSULTING2022 / Öffentlich MOVEMENT TO ARCHITECTURES THAT ARE DESIGNED FOR CHANGE Cloud-native app development - the new normal 33 ¢ Move away from ¢ Classic and monolithic application design ¢ Centralized application teams ¢ Manual application delivery Source: https://konghq.com/resources/digital-innovation-benchmark-2021/
  • 22.
    © OPITZ CONSULTING2022 / Öffentlich KEY TAKEAWAYS ¢ New Apps should be built in a Cloud-native fashion ¢ Apps should be based on open source and open industry standards ¢ Containers, DevOps and APIs are basic building blocks ¢ Cloud-native development requires mindest change ¢ Shift-left – more responsibility on developers ¢ Devs should embrace technology (even unknown ones) ¢ API design-first is important for consistent, intuitive API design Cloud-native app development - the new normal 34 DEV
  • 23.
    © OPITZ CONSULTING2022 / Öffentlich Cloud-native app development - the new normal 35 Q & A https://opitzcloud.canto.global/b/H0EMG
  • 24.
    © OPITZ CONSULTING2022 / Öffentlich IN CASE OF ANY QUESTIONS… Cloud-native app development - the new normal 36 Sven Bernhardt Chief Architect / Integration Evangelist | Kong Champion | Oracle ACE Pro OPITZ CONSULTING Deutschland GmbH Kirchstrasse 6, 51647 Gummersbach, Germany Phone: +49 172 2193529 Mail: sven.bernhardt@opitz-consulting.com Twitter: @sbernhardt Blog: https://svenbernhardt.wordpress.com