This document discusses building cloud native applications. It defines cloud native technologies as enabling scalable applications in dynamic environments using techniques like loosely coupled microservices and containers. Common cloud native design principles are outlined, such as stateless architectures and API-based interactions. Advantages include using preferred languages and frameworks while enabling agility, but problems can include a lack of standardization. The Oracle Cloud Native Framework is presented as providing services for container orchestration, streaming, functions and more to build and deploy cloud native applications on Oracle Cloud infrastructure. A demo is planned to deploy a containerized application using tools like Kubernetes for orchestration.
2. Next stepsNext steps
Advantages and ProblemsAdvantages and ProblemsAgendaAgenda
Why are we talking about Cloud NativeWhy are we talking about Cloud Native
Cloud Native Design PrinciplesCloud Native Design Principles
Oracle Cloud Native FrameworkOracle Cloud Native Framework
Demo timeDemo time
next 44minutes
3. Why are we talking about Cloud NativeWhy are we talking about Cloud Native
Cloud native technologies empower organizations to build and run scalable
applications in modern,dynamic environments such as public private and hybrid
clouds. These techniques enable 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.
According to CNCF’s definition
https://github.com/cncf/toc/blob/master/DEFINITION.md
“
”
4. Cloud Native Computing FoundationCloud Native Computing Foundation
Platinium Members
End User Members and Supporters
Projects
5. Loosely coupled microservices
Cloud Native Design PrinciplesCloud Native Design Principles
API based interactions
Stateless scalable architectures
Packaged as containers
DevOps practices
Monoliths Microservices
clean separation of stateless and stateful services
application discover each other through
the application runtime
collection of independent and autonomous services
based on protocols such as(REST gRPC and others
managed through an agile DevOps process
6. Use and scale resources more efficiently
AdvantagesAdvantages
Use preferred languages and frameworks
Enable agile deployment
Develop portable apps and avoid lock in
Light-weight containers for microservices
Automation with Infrastructure as Code
Streaming for real-time data processing
Serverless applications and functions
7. Unreliable DIY Approaches
ProblemsProblems
Culture and Complexity
Propietary Services
Fragmented Tools
Lack of training on various tools
Setup requires substantial expertise
and can slow down the organization
Hundreds of tools
Complicated to integrate together
Expensive to maintain
Lack of performance, scaling and reliability
Unreliable storage, security, networking,
monitoring and logging
Need for better portability across public
clouds and on premises
Custom APIs and non standard software
8. Oracle Cloud Native FrameworkOracle Cloud Native Framework
Monitoring EventsNotification
Service
Functions Streaming Container
Pipelines
Resource Manager Registry
Container Engine for K8S Orchestration and Management
Provisioning
App Definition and Development
Observability and Analysis
9. New container based application
Container
Pipeline Registry Container
Engine
build
test
push
Push to CI CD
Push Docker Images
Pull Images
Deploy images
K8s workers
Containers running
microservices
Microservices
based application
10. Refactor existing applications
Container
Pipeline Registry Container
Engine
build
test
push
Push to CI CD
Push Docker Images
Pull Images
Deploy images
K8s workers
Containers running
microservices
Data Store
App Server
User Interface
Monolith
Application
App Server
User Interface
Data Store
Refactor Application
11. Streaming use case
App Server
User Interface
Data Store
Streaming
Service
Object
Storage
Autonomous
Data Warehouse
Customer
Built Application
Ingest data flows
real-time
Serverless connector
for object storage
Staging area for
Apache Spark
Serverless connector
for Data Warehouse
Spark jobs work on data to do fast log analytics
Use data for long term
reporting and analytics jobs
Custom business logic for processing and transforming data
12. Oracle Cloud IAM
Deploy your services using Terraform
Configure your Kubectl
Login to OCIR and upload
Deploy your services
Monitor your cluster
Demo timeDemo time
your containers