© OPITZ CONSULTING 2021 / Öffentlich
Implementing Cloud-native Apps on OCI 1
Cologne, 2021-12-09
Sven Bernhardt
IMPLEMENTING CLOUD-NATIVE APPS
ON OCI
© OPITZ CONSULTING 2021 / Öffentlich
THAT‘S ME
Implementing Cloud-native Apps on OCI 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 2021 / Öffentlich
Implementing Cloud-native Apps on OCI 3
WHY CLOUD-NATIVE?
https://opitzcloud.canto.global/b/S97PB
© OPITZ CONSULTING 2021 / Öffentlich
MAIN CHALLENGE: ENSURE THE ABILITY TO INNOVATE
Implementing Cloud-native Apps on OCI 4
Source: https://konghq.com/resources/digital-innovation-benchmark-2021/
© OPITZ CONSULTING 2021 / Öffentlich
CLOUD-NATIVE APPS
Implementing Cloud-native Apps on OCI 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
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 2021 / Öffentlich
CLOUD-NATIVE IS NOT JUST ABOUT CLOUD, IT’S ABOUT…
Implementing Cloud-native Apps on OCI 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 2021 / Öffentlich
TRADITIONAL VS CLOUD-NATIVE SYSTEMS
Implementing Cloud-native Apps on OCI 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 2021 / Öffentlich
Implementing Cloud-native Apps on OCI 8
WAY TO CLOUD-NATIVE
https://opitzcloud.canto.global/b/M0IQC
© OPITZ CONSULTING 2021 / Öffentlich
ACHIEVE LOOSE COUPLING THROUGH API DESIGN-FIRST APPROACH
Implementing Cloud-native Apps on OCI 9
¢ Synchronous APIs
¢ REST (OpenAPI)
¢ GraphQL
¢ gRPC
¢ Asynchronous APIs (preferred)
¢ Async API
© OPITZ CONSULTING 2021 / Öffentlich
SPEED UP APP DELIVERY BY AUTOMATING THE DELIVERY PIPELINE
Implementing Cloud-native Apps on OCI 10
¢ 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 2021 / Öffentlich
SHIFT-LEFT: CLOUD-NATIVE REQUIRES CHANGED DEVELOPER
MINDSET
Implementing Cloud-native Apps on OCI 11
¢ 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 2021 / Öffentlich
Implementing Cloud-native Apps on OCI 12
DEVELOPERS NEED TO EMBRACE TECHNOLOGY
https://landscape.cncf.io/
© OPITZ CONSULTING 2021 / Öffentlich
CNCF CLOUD-NATIVE TRAIL MAP
Implementing Cloud-native Apps on OCI 13
Source: https://github.com/cncf/trailmap
© OPITZ CONSULTING 2021 / Öffentlich
Implementing Cloud-native Apps on OCI 14
OCI CLOUD-NATIVE SERVICES
https://opitzcloud.canto.global/b/M0IQC
© OPITZ CONSULTING 2021 / Öffentlich
Implementing Cloud-native Apps on OCI 15
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 2021 / Öffentlich
APPLICATION RUNTIME: ORACLE CONTAINER ENGINE FOR
KUBERNETES (OKE)
Implementing Cloud-native Apps on OCI 16
Based on IaaS Oracle
Compute Cloud Service
Worker Nodes: VM
Master Node:
•Managed and maintained by Oracle
•Not visible for the end user
•Master nodes are free of charge
Auto-scaling capabilities
using Worker-Node Pools
Can be provisioned using
OCI Cloud Console
OCI Cloud Shell
OCI CLI
Terraform (OCI Resource Manager)
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION RUNTIME: API GATEWAY
Implementing Cloud-native Apps on OCI 17
¢ Fully-managed API Gateway
¢ Enables to publish API endpoints that are accessible
¢ Within the Cloud network only
¢ From the public internet
¢ Currently only REST APIs based on Open API are supported
¢ Exposed API endpoints support: API validation, Request/Reponse transformation, CORS, AuthN/Z, Rate
limiting
¢ Can be provisioned using:
¢ OCI Cloud Console
¢ OCI Cloud Shell
¢ OCI CLI
¢ Terraform (OCI Ressource Manager)
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION RUNTIME: FUNCTIONS
Implementing Cloud-native Apps on OCI 18
¢ Build FaaS-style apps
¢ Developers are not required to manage any infrastructure and just need to implement business
code
¢ Build upon open standards and based on Fn project
¢ Multi language support through Function Developer Kit (FDK)
¢ FDKs comprise of different building blocks, like
¢ Language-specific Fn libraries
¢ Build-Time Docker images
¢ Minimal runtime Docker images
¢ Fn CLI is used to manage and create Functions
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION RUNTIME: STREAMING
Implementing Cloud-native Apps on OCI 19
¢ Real-time, serverless, Apache Kafka-compatible event streaming platform
¢ Elastic and scalable platform managed by Oracle
¢ Deploy streaming apps at scale, capable to serve hundreds of consumers
¢ Open, standards-based
¢ Open source Apache Kafka-compatible
¢ Alternatively use native Streaming APIs (Python, Java, Typescript, Go)
¢ Security by design with built-in encryption and privacy
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION DEVELOPMENT: CONTAINER REGISTRY
Implementing Cloud-native Apps on OCI 20
¢ Open standards-based, Oracle-managed Docker registry service for securely storing and
sharing container images (Docker v2 compliant)
¢ Data protection through integration with OCI object storage
¢ Automatic clean up old docker images (Retention policies)
¢ Integrates with different OCI services and 3rd party DevOps and dev tools (Jenkins, Gitlab)
¢ Container Engine for Kubernetes (OKE)
¢ Identity and Access Management (IAM)
¢ Visual Builder Studio
¢ Docker containers can be pushed/pulled by Docker CLI and API
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION DEVELOPMENT: ARTIFACT REGISTRY
Implementing Cloud-native Apps on OCI 21
¢ Repository service for storing, sharing, and managing software development packages (non-
container)
¢ Kubernetes manifests
¢ JAR-Files created from Build pipelines
¢ API specifications
¢ …
¢ Option to store artifacts
¢ Immutable
¢ Versioned
¢ Identifiable (by Hash)
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION DEVELOPMENT: DEVOPS
Implementing Cloud-native Apps on OCI 22
¢ End-to-end, continuous integration and continuous delivery (CI/CD) platform
¢ Service provides:
¢ Private Git repositories (allows connections to external code repos)
¢ Build pipelines
¢ Deployment pipelines
Code
Repository
External
Connection
Trigger
Build
Pipeline
Container
Registry
Artifact
Registry
Artifact
Deployment
Pipeline
OKE
Functions
Compute
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION DEVELOPMENT: RESOURCE MANAGER
Implementing Cloud-native Apps on OCI 23
¢ Automate the process of provisioning Oracle Cloud Infrastructure resources
¢ Infrastructure as Code (IaC) with HashiCorp Terraform using specific OCI Terraform provider
¢ Managing OCI resources in a declarative way
¢ Ensure consistent infrastructure management by supporting
¢ Immutable infrastructure approach
¢ GitOps
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION OPERATIONS: MONITORING
Implementing Cloud-native Apps on OCI 24
¢ Provides insights on Cloud infrastructure and workloads with out-of-the-box metrics for health
and performance
¢ Custom metrics for custom application can be sent using the Monitoring API
¢ Custom query support (MQL) to analyze metrics for a collection of resources
¢ Alarms for informing operations team team; can trigger OCI Notifications
¢ Supports metrics access using
¢ CLI,
¢ SDK,
¢ Console
¢ Grafana plugins
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION OPERATIONS: LOGGING
Implementing Cloud-native Apps on OCI 25
¢ Centralized platform for all types of logs, such as audit, infrastructure, database and
applications
¢ Build on open CNCF standards
¢ FluentD for log ingestion
¢ CloudEvents for log events
¢ Collects OOTB OCI infrastructure logs as well as custom application logs
¢ Notifications can be triggered based on rules
¢ Can be integrated with 3rd party provides (e.g. Splunk) by using OCI Streaming
¢ Logs can be analyzed using OCI Console
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION OPERATIONS: EVENTS AND NOTIFICATIONS
Implementing Cloud-native Apps on OCI 26
¢ Tracks OCI resource changes using Events
¢ Events comply with the Cloud Native
Computing Foundation (CNCF) CloudEvents
standard
¢ Ensures interoperability
¢ Ability to build Multi-Cloud apps
¢ Developers / Operators can respond to those
changes by using
¢ Oracle Functions
¢ Events published to OCI Streaming
¢ Sending alerts using notifications
¢ Highly available, low-latency
publish/subscribe (pub/sub) service
¢ Sends alerts and messages to Oracle
Functions, email, SMS, and message delivery
partners, including Slack, PagerDuty, and
ServiceNow
¢ Tight integration with OCI Monitoring to being
able to send alerts in case of metric breaches
© OPITZ CONSULTING 2021 / Öffentlich
APPLICATION OPERATIONS: APPLICATION PERFORMANCE
MONITORING
Implementing Cloud-native Apps on OCI 27
¢ Provides a Distributed Tracing System as a Service
¢ Builds upon open standard like OpenTracing and OpenTelemetry
¢ Allows integration with modern microservice-based apps as well as legacy applications
¢ Tracing data be combined with log data and other collected data (metrics)
¢ View tracing data together with log and metrics data
¢ Ability to provide a 360-degree view on the application and infrastructure state
¢ Provides OOTB functionalities for end-user monitoring
© OPITZ CONSULTING 2021 / Öffentlich
DEMO CASE: CLOUD-NATIVE MICRONAUT APP DEVELOPMENT WITH
OCI
Implementing Cloud-native Apps on OCI 28
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 2021 / Öffentlich
Implementing Cloud-native Apps on OCI 29
CONCLUSION
https://opitzcloud.canto.global/b/SPU2S
© OPITZ CONSULTING 2021 / Öffentlich
OCI CLOUD-NATIVE EMBRACES OPEN SOURCE AND OPEN
STANDARDS
Implementing Cloud-native Apps on OCI 30
¢ 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 2021 / Öffentlich
CLOUD-NATIVE MULTI-CLOUD APPS WITH ORACLE VERRAZZANO
Implementing Cloud-native Apps on OCI 31
¢ Modernization of existing application workloads by lifting application worlkloads to the Cloud
¢ Capable of handling polyglot workloads:
¢ Cloud-native and Kubernetes workloads (e.g. Helidon)
¢ Java EE (Weblogic)
¢ Non-Java apps
¢ Manage Multi-Cloud and Multi-Cluster workloads easily
¢ Network
¢ Security
¢ Observability
Source: https://www.oracle.com/cloud-native/
© OPITZ CONSULTING 2021 / Öffentlich
KEY TAKEAWAYS
Implementing Cloud-native Apps on OCI 32
¢ Apps should be built in a Cloud-native fashion
¢ Containers, DevOps and APIs are basic building blocks
¢ API design-first is important for consistent, intuitive API design
¢ Why implementing Cloud-native on OCI?
¢ Based on open source and standards
¢ Built-in management capabilities
¢ Designed for multi-cloud environments
© OPITZ CONSULTING 2021 / Öffentlich
Implementing Cloud-native Apps on OCI 33
Q & A
https://opitzcloud.canto.global/b/H0EMG
© OPITZ CONSULTING 2021 / Öffentlich
IN CASE OF ANY QUESTIONS…
Implementing Cloud-native Apps on OCI 34
Sven Bernhardt
Chief Architect / Integration Evangelist |
Oracle ACE Director
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

Implementing Cloud-native apps on OCI

  • 1.
    © OPITZ CONSULTING2021 / Öffentlich Implementing Cloud-native Apps on OCI 1 Cologne, 2021-12-09 Sven Bernhardt IMPLEMENTING CLOUD-NATIVE APPS ON OCI
  • 2.
    © OPITZ CONSULTING2021 / Öffentlich THAT‘S ME Implementing Cloud-native Apps on OCI 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 CONSULTING2021 / Öffentlich Implementing Cloud-native Apps on OCI 3 WHY CLOUD-NATIVE? https://opitzcloud.canto.global/b/S97PB
  • 4.
    © OPITZ CONSULTING2021 / Öffentlich MAIN CHALLENGE: ENSURE THE ABILITY TO INNOVATE Implementing Cloud-native Apps on OCI 4 Source: https://konghq.com/resources/digital-innovation-benchmark-2021/
  • 5.
    © OPITZ CONSULTING2021 / Öffentlich CLOUD-NATIVE APPS Implementing Cloud-native Apps on OCI 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 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 CONSULTING2021 / Öffentlich CLOUD-NATIVE IS NOT JUST ABOUT CLOUD, IT’S ABOUT… Implementing Cloud-native Apps on OCI 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 CONSULTING2021 / Öffentlich TRADITIONAL VS CLOUD-NATIVE SYSTEMS Implementing Cloud-native Apps on OCI 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 CONSULTING2021 / Öffentlich Implementing Cloud-native Apps on OCI 8 WAY TO CLOUD-NATIVE https://opitzcloud.canto.global/b/M0IQC
  • 9.
    © OPITZ CONSULTING2021 / Öffentlich ACHIEVE LOOSE COUPLING THROUGH API DESIGN-FIRST APPROACH Implementing Cloud-native Apps on OCI 9 ¢ Synchronous APIs ¢ REST (OpenAPI) ¢ GraphQL ¢ gRPC ¢ Asynchronous APIs (preferred) ¢ Async API
  • 10.
    © OPITZ CONSULTING2021 / Öffentlich SPEED UP APP DELIVERY BY AUTOMATING THE DELIVERY PIPELINE Implementing Cloud-native Apps on OCI 10 ¢ 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
  • 11.
    © OPITZ CONSULTING2021 / Öffentlich SHIFT-LEFT: CLOUD-NATIVE REQUIRES CHANGED DEVELOPER MINDSET Implementing Cloud-native Apps on OCI 11 ¢ 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
  • 12.
    © OPITZ CONSULTING2021 / Öffentlich Implementing Cloud-native Apps on OCI 12 DEVELOPERS NEED TO EMBRACE TECHNOLOGY https://landscape.cncf.io/
  • 13.
    © OPITZ CONSULTING2021 / Öffentlich CNCF CLOUD-NATIVE TRAIL MAP Implementing Cloud-native Apps on OCI 13 Source: https://github.com/cncf/trailmap
  • 14.
    © OPITZ CONSULTING2021 / Öffentlich Implementing Cloud-native Apps on OCI 14 OCI CLOUD-NATIVE SERVICES https://opitzcloud.canto.global/b/M0IQC
  • 15.
    © OPITZ CONSULTING2021 / Öffentlich Implementing Cloud-native Apps on OCI 15 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
  • 16.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION RUNTIME: ORACLE CONTAINER ENGINE FOR KUBERNETES (OKE) Implementing Cloud-native Apps on OCI 16 Based on IaaS Oracle Compute Cloud Service Worker Nodes: VM Master Node: •Managed and maintained by Oracle •Not visible for the end user •Master nodes are free of charge Auto-scaling capabilities using Worker-Node Pools Can be provisioned using OCI Cloud Console OCI Cloud Shell OCI CLI Terraform (OCI Resource Manager)
  • 17.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION RUNTIME: API GATEWAY Implementing Cloud-native Apps on OCI 17 ¢ Fully-managed API Gateway ¢ Enables to publish API endpoints that are accessible ¢ Within the Cloud network only ¢ From the public internet ¢ Currently only REST APIs based on Open API are supported ¢ Exposed API endpoints support: API validation, Request/Reponse transformation, CORS, AuthN/Z, Rate limiting ¢ Can be provisioned using: ¢ OCI Cloud Console ¢ OCI Cloud Shell ¢ OCI CLI ¢ Terraform (OCI Ressource Manager)
  • 18.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION RUNTIME: FUNCTIONS Implementing Cloud-native Apps on OCI 18 ¢ Build FaaS-style apps ¢ Developers are not required to manage any infrastructure and just need to implement business code ¢ Build upon open standards and based on Fn project ¢ Multi language support through Function Developer Kit (FDK) ¢ FDKs comprise of different building blocks, like ¢ Language-specific Fn libraries ¢ Build-Time Docker images ¢ Minimal runtime Docker images ¢ Fn CLI is used to manage and create Functions
  • 19.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION RUNTIME: STREAMING Implementing Cloud-native Apps on OCI 19 ¢ Real-time, serverless, Apache Kafka-compatible event streaming platform ¢ Elastic and scalable platform managed by Oracle ¢ Deploy streaming apps at scale, capable to serve hundreds of consumers ¢ Open, standards-based ¢ Open source Apache Kafka-compatible ¢ Alternatively use native Streaming APIs (Python, Java, Typescript, Go) ¢ Security by design with built-in encryption and privacy
  • 20.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION DEVELOPMENT: CONTAINER REGISTRY Implementing Cloud-native Apps on OCI 20 ¢ Open standards-based, Oracle-managed Docker registry service for securely storing and sharing container images (Docker v2 compliant) ¢ Data protection through integration with OCI object storage ¢ Automatic clean up old docker images (Retention policies) ¢ Integrates with different OCI services and 3rd party DevOps and dev tools (Jenkins, Gitlab) ¢ Container Engine for Kubernetes (OKE) ¢ Identity and Access Management (IAM) ¢ Visual Builder Studio ¢ Docker containers can be pushed/pulled by Docker CLI and API
  • 21.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION DEVELOPMENT: ARTIFACT REGISTRY Implementing Cloud-native Apps on OCI 21 ¢ Repository service for storing, sharing, and managing software development packages (non- container) ¢ Kubernetes manifests ¢ JAR-Files created from Build pipelines ¢ API specifications ¢ … ¢ Option to store artifacts ¢ Immutable ¢ Versioned ¢ Identifiable (by Hash)
  • 22.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION DEVELOPMENT: DEVOPS Implementing Cloud-native Apps on OCI 22 ¢ End-to-end, continuous integration and continuous delivery (CI/CD) platform ¢ Service provides: ¢ Private Git repositories (allows connections to external code repos) ¢ Build pipelines ¢ Deployment pipelines Code Repository External Connection Trigger Build Pipeline Container Registry Artifact Registry Artifact Deployment Pipeline OKE Functions Compute
  • 23.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION DEVELOPMENT: RESOURCE MANAGER Implementing Cloud-native Apps on OCI 23 ¢ Automate the process of provisioning Oracle Cloud Infrastructure resources ¢ Infrastructure as Code (IaC) with HashiCorp Terraform using specific OCI Terraform provider ¢ Managing OCI resources in a declarative way ¢ Ensure consistent infrastructure management by supporting ¢ Immutable infrastructure approach ¢ GitOps
  • 24.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION OPERATIONS: MONITORING Implementing Cloud-native Apps on OCI 24 ¢ Provides insights on Cloud infrastructure and workloads with out-of-the-box metrics for health and performance ¢ Custom metrics for custom application can be sent using the Monitoring API ¢ Custom query support (MQL) to analyze metrics for a collection of resources ¢ Alarms for informing operations team team; can trigger OCI Notifications ¢ Supports metrics access using ¢ CLI, ¢ SDK, ¢ Console ¢ Grafana plugins
  • 25.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION OPERATIONS: LOGGING Implementing Cloud-native Apps on OCI 25 ¢ Centralized platform for all types of logs, such as audit, infrastructure, database and applications ¢ Build on open CNCF standards ¢ FluentD for log ingestion ¢ CloudEvents for log events ¢ Collects OOTB OCI infrastructure logs as well as custom application logs ¢ Notifications can be triggered based on rules ¢ Can be integrated with 3rd party provides (e.g. Splunk) by using OCI Streaming ¢ Logs can be analyzed using OCI Console
  • 26.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION OPERATIONS: EVENTS AND NOTIFICATIONS Implementing Cloud-native Apps on OCI 26 ¢ Tracks OCI resource changes using Events ¢ Events comply with the Cloud Native Computing Foundation (CNCF) CloudEvents standard ¢ Ensures interoperability ¢ Ability to build Multi-Cloud apps ¢ Developers / Operators can respond to those changes by using ¢ Oracle Functions ¢ Events published to OCI Streaming ¢ Sending alerts using notifications ¢ Highly available, low-latency publish/subscribe (pub/sub) service ¢ Sends alerts and messages to Oracle Functions, email, SMS, and message delivery partners, including Slack, PagerDuty, and ServiceNow ¢ Tight integration with OCI Monitoring to being able to send alerts in case of metric breaches
  • 27.
    © OPITZ CONSULTING2021 / Öffentlich APPLICATION OPERATIONS: APPLICATION PERFORMANCE MONITORING Implementing Cloud-native Apps on OCI 27 ¢ Provides a Distributed Tracing System as a Service ¢ Builds upon open standard like OpenTracing and OpenTelemetry ¢ Allows integration with modern microservice-based apps as well as legacy applications ¢ Tracing data be combined with log data and other collected data (metrics) ¢ View tracing data together with log and metrics data ¢ Ability to provide a 360-degree view on the application and infrastructure state ¢ Provides OOTB functionalities for end-user monitoring
  • 28.
    © OPITZ CONSULTING2021 / Öffentlich DEMO CASE: CLOUD-NATIVE MICRONAUT APP DEVELOPMENT WITH OCI Implementing Cloud-native Apps on OCI 28 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
  • 29.
    © OPITZ CONSULTING2021 / Öffentlich Implementing Cloud-native Apps on OCI 29 CONCLUSION https://opitzcloud.canto.global/b/SPU2S
  • 30.
    © OPITZ CONSULTING2021 / Öffentlich OCI CLOUD-NATIVE EMBRACES OPEN SOURCE AND OPEN STANDARDS Implementing Cloud-native Apps on OCI 30 ¢ 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 ¢ …
  • 31.
    © OPITZ CONSULTING2021 / Öffentlich CLOUD-NATIVE MULTI-CLOUD APPS WITH ORACLE VERRAZZANO Implementing Cloud-native Apps on OCI 31 ¢ Modernization of existing application workloads by lifting application worlkloads to the Cloud ¢ Capable of handling polyglot workloads: ¢ Cloud-native and Kubernetes workloads (e.g. Helidon) ¢ Java EE (Weblogic) ¢ Non-Java apps ¢ Manage Multi-Cloud and Multi-Cluster workloads easily ¢ Network ¢ Security ¢ Observability Source: https://www.oracle.com/cloud-native/
  • 32.
    © OPITZ CONSULTING2021 / Öffentlich KEY TAKEAWAYS Implementing Cloud-native Apps on OCI 32 ¢ Apps should be built in a Cloud-native fashion ¢ Containers, DevOps and APIs are basic building blocks ¢ API design-first is important for consistent, intuitive API design ¢ Why implementing Cloud-native on OCI? ¢ Based on open source and standards ¢ Built-in management capabilities ¢ Designed for multi-cloud environments
  • 33.
    © OPITZ CONSULTING2021 / Öffentlich Implementing Cloud-native Apps on OCI 33 Q & A https://opitzcloud.canto.global/b/H0EMG
  • 34.
    © OPITZ CONSULTING2021 / Öffentlich IN CASE OF ANY QUESTIONS… Implementing Cloud-native Apps on OCI 34 Sven Bernhardt Chief Architect / Integration Evangelist | Oracle ACE Director 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