SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Cloud native is a way of
approaching the development and
deployment of applications in such
a way that takes account of the
characteristics and nature of the
cloud - resulting in processes and
workflows that fully take
advantage of the platform.
Mirror the structure of the
cloud with Microservices!
Don‘t port over your app from
server hardware to the cloud!
With MS, apps are being built
as a distributed collection of
services. This pairs up with the
distributed nature of the cloud.
● Allows each service to have a single focus
● Loosely coupled
● Lightweight
● Highly scalable modular architecture to achieve better
resource usages
● Optimized deployment models
● Fewer maintenance costs
● Faster delivery times
● Underlying the microservices architecture is the rise of
Docker and the container ecosystem.
● Managing your app as distinct services has implications on
infrastructure
● Every service in a microservices app needs to be a
self-contained unit
● Services need their own allotment of resources for
computing, memory, and networking
● This is where containers come in
● Software that treats the container as
the first-class unit of infrastructure
(as opposed to, for example, treating
the physical machine or the virtual
machine as the first-class unit)
● Software that does not just “happen
to work” in, on or around containers,
but rather is purposefully designed
for containers
● https://techcrunch.com/2016/04/27
/lets-define-container-native/
● Commonly done with Docker containers.
● Any size applications and dependencies can be
containerized
● Over time you should aspire towards splitting suitable
applications and writing future functionality as microservices
● Real Value of containers:
○ Fast immutable deployments
○ Maximizing resource utilization
○ Bare-metal performance
Img src: https://docs.docker.com/get-started/#images-and-containers
● Because containers alone won’t be enough
● Containers need to be managed
● Networking between containers is hard
● Containers must be scheduled, distributed and load balanced
● The data has to persist somewhere
● Kubernetes is the
market-leading orchestration
solution.
● Alternatives: RedHat
OpenShift, Mesosphere
DC/OS, Hashicorp Nomad,
and Docker Swarm for
container orchestration
● Container Orchestration
○ Pods
○ Replica Sets
○ Deployments
● Internal Routing
○ Services
● External Routing
○ Ingresses & Ingress
Controllers
● Configuration Management
○ Config Maps
● Credentials Management
○ Secrets
● Persistent Volumes
● Auto-scaling
○ Horizontal Pod Auto-scalers
● Package Management
○ Helm
● A chart is a collection of files that describe a related set of Kubernetes
resources.
● A single chart might be used to deploy a simple pod or a complex
application.
● WSO2 plans to implement charts for WSO2 middleware.
● Charts can be managed in Helm repositories.
https://docs.helm.sh/
● Service mesh is not something
that came up with Kubernetes.
● There are two logical components
that create service mesh.
● Sidecar is the perfect example
which extends and enhances the
main container in a pod. With
service mesh, the sidecar is service
proxy or data plane.
● Service mesh control plane is the
central place to manage the
service mesh and service proxies.
● Istio - most comprehensive service mesh platform
○ traffic management,
○ security
○ policy enforcement etc.
○ Monitoring - Prometheus, Grafana, Heapster, and native GCP and
AWS monitoring tools,
○ Distributed tracing - Zipkin and Jaeger.
● Due to the popularity of Istio, NGINX implemented another service mesh
based on Istio called nginMesh.
● Linkerd is another popular open-source service mesh platform.
● Conduit is also a service mesh platform targeting Kubernetes.
MSA reduces the infrastructure
resource usage by allocating
resources at a granular level.
Nevertheless, at any given time, it
would need to run at least one
container per service. The
serverless architecture attempts
to further optimize this by
decomposing the deployable unit
up to functions and running
functions only when needed.
Img src - https://dzone.com/storage/assets/9690455-dzone2018-researchguide-containers.pdf
● Serverless functions became popular when AWS introduced the AWS
Lambda platform.
● All public cloud vendors provide a similar offering, such as Google Cloud
Functions, Azure Functions, and IBM Cloud Functions.
● Users only get billed for the number of function invocations
● Apache OpenWhisk is a popular serverless framework for implementing
on-premise serverless systems.
● Fission is another popular serverless platform specifically designed for
Kubernetes.
Img src - https://dzone.com/storage/assets/9690455-dzone2018-researchguide-containers.pdf
● If the system grows over time, it would require a considerable
amount of effort and repetitive work by introducing a
considerable amount of integrations.
● Ballerina is a new programming language purposely built by
WSO2 to fill this gap in the container-native ecosystem.
● It provides integration constructs and connectors for
implementing distributed system integrations.
● Set up continuous integration/continuous delivery so that
changes to your source code automatically result in a new
container being built, tested and deployed in staging and
eventually to production.
Img src: https://chengl.com/docker-workflow/
● A deployment model that
mandates that no
application updates,
security patches, or
configuration changes
happen on production
systems.
● If any of these needs to be
modified, a new image is
constructed, pushed and
cycled into production.
image source: https://www.gocd.org/2017/08/15/canary-releases/
● Incrementally apply
changes to the existing
solution without having
to completely switch the
entire deployment to
the new solution version.
● Subset of users will try it
before propagating it to
everyone.
image source: https://www.gocd.org/2017/07/25/blue-green-deployments.html
● Switched to the newer
version of the solution
at once.
● It would need an
identical set of
resources for running
the newer version of the
solution in parallel to the
existing deployment.
● Monitoring - Observing the
health of the applications,
including socket status, resource
usage, request counts, latencies,
etc., and generating alerts for
the operations teams
● Prometheus is a monitoring
solution based on time series
data
● Grafana allows to visualize the
data stored in Prometheus (and
other sources)
● Centralized logging is crucial for
investigating issues in distributed
production environments
● Fluentd provides a unified logging
system for connecting various
sources of log data to various
destination systems
● It can be integrated with other
open-source monitoring tools,
such as Elasticsearch and Kibana,
to implement a complete solution
for monitoring service logs
https://github.com/fluent/fluentd
● Distributed tracing helps provide better insights on analyzing
○ Latency bottlenecks
○ Root-cause analysis of errors
○ Resource utilization issues, etc.
● Jaeger, Zipkin, and AppDash are three popular open-source projects
● Modern enterprises are now adopting microservices architecture for
implementing highly scalable applications that achieve better agility,
speed, and lower cost.
● Containers have enabled the increasing prominence of serverless
computing & microservices architectures.
● At a high level, designing container-native systems will require
technologies for container orchestration, serverless functions,
integration services, CI/CD, and observability.
[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments

Más contenido relacionado

La actualidad más candente

6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
openstackindia
 

La actualidad más candente (20)

Mod05lec23(map reduce tutorial)
Mod05lec23(map reduce tutorial)Mod05lec23(map reduce tutorial)
Mod05lec23(map reduce tutorial)
 
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaSEnhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
 
Amazon web services (aws) main developer services
Amazon web services (aws)   main developer servicesAmazon web services (aws)   main developer services
Amazon web services (aws) main developer services
 
High Availability - Brett Thurber - ManageIQ Design Summit 2016
High Availability - Brett Thurber - ManageIQ Design Summit 2016High Availability - Brett Thurber - ManageIQ Design Summit 2016
High Availability - Brett Thurber - ManageIQ Design Summit 2016
 
[WSO2Con USA 2018] Deploying Applications in K8S and Docker
[WSO2Con USA 2018] Deploying Applications in K8S and Docker[WSO2Con USA 2018] Deploying Applications in K8S and Docker
[WSO2Con USA 2018] Deploying Applications in K8S and Docker
 
7 - Monitoring Kubernetes with Elastic
7 - Monitoring Kubernetes with Elastic7 - Monitoring Kubernetes with Elastic
7 - Monitoring Kubernetes with Elastic
 
GCP CloudRun Overview
GCP CloudRun OverviewGCP CloudRun Overview
GCP CloudRun Overview
 
MicroService architecture_&_Kubernetes
MicroService architecture_&_KubernetesMicroService architecture_&_Kubernetes
MicroService architecture_&_Kubernetes
 
4 - Customer story: Telenet
4 - Customer story: Telenet4 - Customer story: Telenet
4 - Customer story: Telenet
 
Kubernetes best practices.odf
Kubernetes best practices.odfKubernetes best practices.odf
Kubernetes best practices.odf
 
Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)Mod05lec24(resource mgmt i)
Mod05lec24(resource mgmt i)
 
Running Java Applications inside Kubernetes with Nested Container Architectur...
Running Java Applications inside Kubernetes with Nested Container Architectur...Running Java Applications inside Kubernetes with Nested Container Architectur...
Running Java Applications inside Kubernetes with Nested Container Architectur...
 
OpenShift Meetup - Red Hat OpenShift Container Storage explained
OpenShift Meetup - Red Hat OpenShift Container Storage explainedOpenShift Meetup - Red Hat OpenShift Container Storage explained
OpenShift Meetup - Red Hat OpenShift Container Storage explained
 
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
 
6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
 
Scalable Spark deployment using Kubernetes
Scalable Spark deployment using KubernetesScalable Spark deployment using Kubernetes
Scalable Spark deployment using Kubernetes
 
Cloud Native Use Cases / Case Studies - KubeCon 2019 San Diego - RECAP
Cloud Native Use Cases / Case Studies - KubeCon 2019 San Diego - RECAPCloud Native Use Cases / Case Studies - KubeCon 2019 San Diego - RECAP
Cloud Native Use Cases / Case Studies - KubeCon 2019 San Diego - RECAP
 
Build your operator with the right tool
Build your operator with the right toolBuild your operator with the right tool
Build your operator with the right tool
 
Open Science Grid
Open Science GridOpen Science Grid
Open Science Grid
 
Testbed for Heterogeneous Cloud
Testbed for Heterogeneous CloudTestbed for Heterogeneous Cloud
Testbed for Heterogeneous Cloud
 

Similar a [WSO2Con Asia 2018] Architecting for Container-native Environments

Crossing the river by feeling the stones from legacy to cloud native applica...
Crossing the river by feeling the stones  from legacy to cloud native applica...Crossing the river by feeling the stones  from legacy to cloud native applica...
Crossing the river by feeling the stones from legacy to cloud native applica...
OPNFV
 
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar NeelamegamOpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
OpenNebula Project
 

Similar a [WSO2Con Asia 2018] Architecting for Container-native Environments (20)

Comparisons of the most famous container Orchestrators
Comparisons of the most famous container OrchestratorsComparisons of the most famous container Orchestrators
Comparisons of the most famous container Orchestrators
 
API Microservices with Node.js and Docker
API Microservices with Node.js and DockerAPI Microservices with Node.js and Docker
API Microservices with Node.js and Docker
 
Introduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud NativeIntroduction to containers, k8s, Microservices & Cloud Native
Introduction to containers, k8s, Microservices & Cloud Native
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific Computing
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud Computing
 
Attack graph generation for micro services architecture
Attack graph generation for micro services architectureAttack graph generation for micro services architecture
Attack graph generation for micro services architecture
 
Public Cloud Workshop
Public Cloud WorkshopPublic Cloud Workshop
Public Cloud Workshop
 
Lightening the burden of cloud resources administration: from VMs to Functions
Lightening the burden of cloud resources administration: from VMs to FunctionsLightening the burden of cloud resources administration: from VMs to Functions
Lightening the burden of cloud resources administration: from VMs to Functions
 
Ghost Environment
Ghost EnvironmentGhost Environment
Ghost Environment
 
Build A Scalable Mobile App
Build A Scalable Mobile App Build A Scalable Mobile App
Build A Scalable Mobile App
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Kubernetes is all you need
Kubernetes is all you needKubernetes is all you need
Kubernetes is all you need
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Crossing the river by feeling the stones from legacy to cloud native applica...
Crossing the river by feeling the stones  from legacy to cloud native applica...Crossing the river by feeling the stones  from legacy to cloud native applica...
Crossing the river by feeling the stones from legacy to cloud native applica...
 
Journey to Containerized Application / Google Container Engine
Journey to Containerized Application / Google Container EngineJourney to Containerized Application / Google Container Engine
Journey to Containerized Application / Google Container Engine
 
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
 
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar NeelamegamOpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
 
Introduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignIntroduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP Campaign
 
Apache Mesos Overview and Integration
Apache Mesos Overview and IntegrationApache Mesos Overview and Integration
Apache Mesos Overview and Integration
 
Introduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explainedIntroduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explained
 

Más de WSO2

Más de WSO2 (20)

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Último

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 

[WSO2Con Asia 2018] Architecting for Container-native Environments

  • 1.
  • 2.
  • 3. Cloud native is a way of approaching the development and deployment of applications in such a way that takes account of the characteristics and nature of the cloud - resulting in processes and workflows that fully take advantage of the platform.
  • 4. Mirror the structure of the cloud with Microservices! Don‘t port over your app from server hardware to the cloud! With MS, apps are being built as a distributed collection of services. This pairs up with the distributed nature of the cloud.
  • 5.
  • 6. ● Allows each service to have a single focus ● Loosely coupled ● Lightweight ● Highly scalable modular architecture to achieve better resource usages ● Optimized deployment models ● Fewer maintenance costs ● Faster delivery times
  • 7. ● Underlying the microservices architecture is the rise of Docker and the container ecosystem. ● Managing your app as distinct services has implications on infrastructure ● Every service in a microservices app needs to be a self-contained unit ● Services need their own allotment of resources for computing, memory, and networking ● This is where containers come in
  • 8. ● Software that treats the container as the first-class unit of infrastructure (as opposed to, for example, treating the physical machine or the virtual machine as the first-class unit) ● Software that does not just “happen to work” in, on or around containers, but rather is purposefully designed for containers ● https://techcrunch.com/2016/04/27 /lets-define-container-native/
  • 9.
  • 10. ● Commonly done with Docker containers. ● Any size applications and dependencies can be containerized ● Over time you should aspire towards splitting suitable applications and writing future functionality as microservices ● Real Value of containers: ○ Fast immutable deployments ○ Maximizing resource utilization ○ Bare-metal performance
  • 12.
  • 13. ● Because containers alone won’t be enough ● Containers need to be managed ● Networking between containers is hard ● Containers must be scheduled, distributed and load balanced ● The data has to persist somewhere
  • 14. ● Kubernetes is the market-leading orchestration solution. ● Alternatives: RedHat OpenShift, Mesosphere DC/OS, Hashicorp Nomad, and Docker Swarm for container orchestration
  • 15.
  • 16. ● Container Orchestration ○ Pods ○ Replica Sets ○ Deployments ● Internal Routing ○ Services ● External Routing ○ Ingresses & Ingress Controllers ● Configuration Management ○ Config Maps ● Credentials Management ○ Secrets ● Persistent Volumes ● Auto-scaling ○ Horizontal Pod Auto-scalers ● Package Management ○ Helm
  • 17. ● A chart is a collection of files that describe a related set of Kubernetes resources. ● A single chart might be used to deploy a simple pod or a complex application. ● WSO2 plans to implement charts for WSO2 middleware. ● Charts can be managed in Helm repositories. https://docs.helm.sh/
  • 18. ● Service mesh is not something that came up with Kubernetes. ● There are two logical components that create service mesh. ● Sidecar is the perfect example which extends and enhances the main container in a pod. With service mesh, the sidecar is service proxy or data plane. ● Service mesh control plane is the central place to manage the service mesh and service proxies.
  • 19.
  • 20. ● Istio - most comprehensive service mesh platform ○ traffic management, ○ security ○ policy enforcement etc. ○ Monitoring - Prometheus, Grafana, Heapster, and native GCP and AWS monitoring tools, ○ Distributed tracing - Zipkin and Jaeger. ● Due to the popularity of Istio, NGINX implemented another service mesh based on Istio called nginMesh. ● Linkerd is another popular open-source service mesh platform. ● Conduit is also a service mesh platform targeting Kubernetes.
  • 21. MSA reduces the infrastructure resource usage by allocating resources at a granular level. Nevertheless, at any given time, it would need to run at least one container per service. The serverless architecture attempts to further optimize this by decomposing the deployable unit up to functions and running functions only when needed.
  • 22. Img src - https://dzone.com/storage/assets/9690455-dzone2018-researchguide-containers.pdf
  • 23. ● Serverless functions became popular when AWS introduced the AWS Lambda platform. ● All public cloud vendors provide a similar offering, such as Google Cloud Functions, Azure Functions, and IBM Cloud Functions. ● Users only get billed for the number of function invocations ● Apache OpenWhisk is a popular serverless framework for implementing on-premise serverless systems. ● Fission is another popular serverless platform specifically designed for Kubernetes.
  • 24. Img src - https://dzone.com/storage/assets/9690455-dzone2018-researchguide-containers.pdf
  • 25. ● If the system grows over time, it would require a considerable amount of effort and repetitive work by introducing a considerable amount of integrations. ● Ballerina is a new programming language purposely built by WSO2 to fill this gap in the container-native ecosystem. ● It provides integration constructs and connectors for implementing distributed system integrations.
  • 26. ● Set up continuous integration/continuous delivery so that changes to your source code automatically result in a new container being built, tested and deployed in staging and eventually to production. Img src: https://chengl.com/docker-workflow/
  • 27. ● A deployment model that mandates that no application updates, security patches, or configuration changes happen on production systems. ● If any of these needs to be modified, a new image is constructed, pushed and cycled into production.
  • 28. image source: https://www.gocd.org/2017/08/15/canary-releases/ ● Incrementally apply changes to the existing solution without having to completely switch the entire deployment to the new solution version. ● Subset of users will try it before propagating it to everyone.
  • 29. image source: https://www.gocd.org/2017/07/25/blue-green-deployments.html ● Switched to the newer version of the solution at once. ● It would need an identical set of resources for running the newer version of the solution in parallel to the existing deployment.
  • 30. ● Monitoring - Observing the health of the applications, including socket status, resource usage, request counts, latencies, etc., and generating alerts for the operations teams ● Prometheus is a monitoring solution based on time series data ● Grafana allows to visualize the data stored in Prometheus (and other sources)
  • 31. ● Centralized logging is crucial for investigating issues in distributed production environments ● Fluentd provides a unified logging system for connecting various sources of log data to various destination systems ● It can be integrated with other open-source monitoring tools, such as Elasticsearch and Kibana, to implement a complete solution for monitoring service logs https://github.com/fluent/fluentd
  • 32. ● Distributed tracing helps provide better insights on analyzing ○ Latency bottlenecks ○ Root-cause analysis of errors ○ Resource utilization issues, etc. ● Jaeger, Zipkin, and AppDash are three popular open-source projects
  • 33. ● Modern enterprises are now adopting microservices architecture for implementing highly scalable applications that achieve better agility, speed, and lower cost. ● Containers have enabled the increasing prominence of serverless computing & microservices architectures. ● At a high level, designing container-native systems will require technologies for container orchestration, serverless functions, integration services, CI/CD, and observability.