SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
© 2018 Cloud Technology Experts INC
Damian Igbe, PhD
● PhD in Computer science
● Founder & CTO of Cloud Technology Experts Inc
● Linux Systems Administrator
● Kubernetes Certified Administrator
● Kubernetes Doc team contributor
● Organizer of Kubernetes and CloudNative Dallas Meetup
https://www.meetup.com/Kubernetes-and-Cloud-Native-
North-Dallas/
© 2018 Cloud Technology Experts INC
The Rise of Kubernetes and
Microservices
© 2017 Cloud Technology Experts INC. All rights reserved.
Cloud Technology Experts
Agenda
● The Case for Docker/Kubernetes
● Monolith, Microservices, CNCF, Docker/Kubernetes,
Service Mesh
● Kubernetes Architecture
● Some hands-on?
© 2018 Cloud Technology Experts INC
The First Premise
Software Is Eating the World
--Marc Andreessen
-source website
https://www.wsj.com/articles/SB10001424053111903480904576512250915629460
Uber, Lift, Airbnb, Amazon, Netflix, google,Ebay/Paypal,Groupon,FB, Twitter,Linkedin, Cloud,
SDN/NFV
© 2018 Cloud Technology Experts INC
Second Premise
The future platform is the Cloud or Multi-cloud or Hybrid.
© 2018 Cloud Technology Experts INC
Third Premise
Microservices is the future.
Successful Microservice Implementations:
Netflix, Google, Credit Karma, Ebay,
Groupon, REAGroup, Soundcloud, Uber, Lift
© 2018 Cloud Technology Experts INC
Monolith/Brownfield Applications
© 2018 Cloud Technology Experts INC
Monolith/Brownfield Applications
Pros:
● Monolithic applications are very simple to develop because of all the tools and IDEs support to that kind of
application by default.
● Very easy to deploy because all components are packed into one bundle.
● The architecture has less moving parts.
Cons:
● Very difficult to understand and create the patches for monolithic applications.
● Adapting to new technology is very challengeable.
● Very difficult to maintain CI/CD pipeline.
● Maintainability is very high and braking of one code line will stop the whole process.
● Take a long time to startup because all the components need to get started.
● One component failure will cause the whole system to fail.
● Not suitable for Agile.
© 2018 Cloud Technology Experts INC
Microservices/Greenfield Applications
© 2018 Cloud Technology Experts INC
Monolith/Brownfield Applications
© 2018 Cloud Technology Experts INC
Microservices
Pros:
● Can use the latest technologies to develop the microservices.
● Composability is very high.
● Can scale independent microservices separately. No need to scale the whole the system.
● One component failure will not cause entire system downtimes.
● When developing an overall solution we can parallel the microservices development task with the small
teams. So it helps to decrease the development time.
● CI/CD is very easy.
Cons:
● Independent code base maintenance is very difficult.
● Monitoring the overall system is very challenging because of decentralization. Communication needs to be
very strong to communicate with independent modules.
● Has additional performance overhead because of network latency.
● Complexity
© 2018 Cloud Technology Experts INC
Agile Software dev and Goto Mkt
● Microservices and Agile Software Dev. has
seen significant result in software releases.
● If software is eating the world, Goto
Market/Competitive Advantage is the key
Netflix, Google, Credit Karma, Ebay, Groupon,
REAGroup, Soundcloud, Uber, Lift
© 2018 Cloud Technology Experts INC
The link between present and future
© 2018 Cloud Technology Experts INC
Docker/Kubernetes (DK)
● DK is the link between the present and the
future
● DK enables Microservices
● DK enables Agile Software Development
● DK empowers multicloud, hybrid Cloud
because of portability and platform
independence
© 2018 Cloud Technology Experts INC
Microservices/Greenfield Applications
© 2018 Cloud Technology Experts INC
Challenges of Microservices
© 2018 Cloud Technology Experts INC
K8S to the Rescue of Microservices
© 2018 Cloud Technology Experts INC
Enters CNCF
● Cloud Native is open source cloud computing for
applications, a trusted tool kit for modern architectures.
● There are many routes to deploying a cloud native
application, with CNCF Projects representing a particularly
well-traveled path.
● Promote use of good patterns through community
education
● https://www.cncf.io/
© 2018 Cloud Technology Experts INC
CNCF Ref. Architecture Fundamentals
ObservabilityandAnalysis
© 2018 Cloud Technology Experts INC
https://raw.githubusercontent.com/cncf/landscape/master/landscape/CloudNativeLandscape_latest.png
© 2018 Cloud Technology Experts INC
Architecture of Microservices
© 2018 Cloud Technology Experts INC
Greek for “Helmsman”; also the root of the
words “governor” and “cybernetic”
• Infrastructure for containers
• Schedules, runs, and manages containers
on virtual and physical machines
• Platform for automating deployment,
scaling, and operations
Kubernetes
© 2018 Cloud Technology Experts INC
Docker: A New Way of Deploying Apps
OS-level virtualization
Isolated, from each other and from the host
• filesystems
• processes
• resources
Small and fast ⇒ enables 1:1 app to image
• Unlocks benefits of microservices
• Consistency from development to production
• Portable across OS distros and clouds
• Application-centric management
Operating System
Container Manager
Runtime
System
Application
Runtime
System
Application
Runtime
System
Application
© 2018 Cloud Technology Experts INC
Scheduling: Decide where my containers should run
Lifecycle and health: Keep my containers running despite failures
Scaling: Make sets of containers bigger or smaller
Naming and discovery: Find where my containers are now
Load balancing: Distribute traffic across a set of containers
Storage volumes: Provide data to containers
Logging and monitoring: Track what’s happening with my containers
Debugging and introspection: Enter or attach to containers
Identity and authorization: Control who can do things to my containers
K8S/Container Orchestration
© 2018 Cloud Technology Experts INC
Scheduling
Placement,replication/scaling,rescheduling,rolling
deployment,upgrades,downgrades,collocation
Resource Management
Memory,cpu,gpu,volumes,ports,ip addresses,images/artifacts
Service Management
Labels,groups/namespaces,dependencies,health checks,readiness checks
Container Orchestration
© 2018 Cloud Technology Experts INC
Drive current state → desired state
Observed state is truth
Act independently
• choreography rather than
orchestration
Recurring pattern in the system
Kubernetes Control Loop
© 2018 Cloud Technology Experts INC
Sample Complete Picture
© 2018 Cloud Technology Experts INC
Sample Complete Picture
© 2018 Cloud Technology Experts INC
Sample Complete Picture on AWS
© 2018 Cloud Technology Experts INC
SERVICE MESH
© 2018 Cloud Technology Experts INC
Service Mesh
Istio
© 2018 Cloud Technology Experts INC
Service Mesh
© 2018 Cloud Technology Experts INC
Service Mesh
© 2018 Cloud Technology Experts INC
Service Mesh
© 2018 Cloud Technology Experts INC
Service Mesh
© 2018 Cloud Technology Experts INC
Service Mesh
© 2018 Cloud Technology Experts INC
Service Mesh
© 2018 Cloud Technology Experts INC
Service Mesh: Istio
© 2018 Cloud Technology Experts INC
Service mesh: Istio
© 2018 Cloud Technology Experts INC
Service Mesh: Istio
© 2018 Cloud Technology Experts INC
Service mesh : Istio
© 2018 Cloud Technology Experts INC
Service: Istio
© 2018 Cloud Technology Experts INC
Envoy
© 2018 Cloud Technology Experts INC
Service: Istio
© 2018 Cloud Technology Experts INC
Service: Istio
© 2018 Cloud Technology Experts INC
Service: Istio
© 2018 Cloud Technology Experts INC
Istio
● Service observability
● Graduated deployment and release
● Policy enforcement
● Cluster reliability
● Chaos testing
● Fleet configuration
● Strong security options
© 2018 Cloud Technology Experts INC
Istio
© 2018 Cloud Technology Experts INC
KUBERNETES ARCHITECTURE
© 2018 Cloud Technology Experts INC
Cluster Components
Master/Controller
● API Server (kube-apiserver)
● Scheduler (kube-scheduler)
● Controller manager (kube-controller-manager)
● etcd (stores cluster state)
Node
● Kubelet (“node agent”)
● Kube-proxy
● Container Runtime (Docker,rkt)
© 2018 Cloud Technology Experts INC
Kubernetes Architecture
© 2018 Cloud Technology Experts INC
Architecture: Master Node
Master Node (“Control Plane”)
kube-apiserver
- Point of interaction with the cluster
- Exposes http endpoint
kube-controller-manager
- Responsible for most of the important stuff
- Interacts with the api server to retrieve cluster state
- Ensures correct number of pods are running
- Reacts to Nodes being added / deleted
- Manages Service Accounts and security tokens
kube-scheduler
- Schedules newly created pods to a Node
© 2018 Cloud Technology Experts INC
Architecture: Master Node
Master Node (“Control Plane”)
Etcd
- Stores the state of the cluster
- Doesn’t necessarily have to be co-located with other components
- Must be backed up in a production scenario
© 2018 Cloud Technology Experts INC
Architecture: Worker Node
kubelet
● Agent for running Pods
● Mounts volumes for Pods where required
● Reports the status of Pods back to rest of system
kube-proxy
● Enforces network rules on each Node (uses iptables)
● Responsible for forwarding packets to correct destination
© 2018 Cloud Technology Experts INC
How to Deploy
● Minikube
● On-Premise (Baremetal, GPU)
● Cloud: AWS EKS
● Google Cloud (GKE)
● Azure Kubernetes Service (AKS)
● Check CNCF Framework for other platforms
© 2018 Cloud Technology Experts INC
Kubernetes Objects
● PODs
● Replicasets
● Deployments
● Services
● StatefulSets
● Secrets/Configmaps
● etc etc
© 2018 Cloud Technology Experts INC
Cloud Technology Experts Inc
www.cloudtechnologyexperts.com
@expertscoud
800-690-2675
© 2018 Cloud Technology Experts INC
Cloud Technology Experts Inc
● Main Focus is Cloud Training and Consulting on
CNCF Framework
● Core Focus Areas:
○ Docker/Kubernetes
○ Microservices/CloudNative
○ Cloud Platform:AWS
● AWS Authorized Consulting Partner
© 2018 Cloud Technology Experts INC
CTE Courses
● 1-Day Docker Fundamentals
● 1-Day Kubernetes Fundamentals
● 3-Day Kubernetes Certified Administrator
● 3-Day Docker/Kubernetes and Security Hardening
● 3-Day Microservices with Docker and Kubernetes
© 2018 Cloud Technology Experts INC
Q & A
© 2018 Cloud Technology Experts INC
References
● Making Microservices Micro with Istio Service Mesh by Ray Tsang
● https://blog.buoyant.io/2017/04/25/whats-a-service-mesh-and-why-do-i-need-one/
● https://thenewstack.io/introducing-microservices-hierarchy-needs/
● https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-t
o-kubernetes/
● https://aws.amazon.com/blogs/devops/continuous-deployment-to-kubernetes-using-aws-c
odepipeline-aws-codecommit-aws-codebuild-amazon-ecr-and-aws-lambda/
● https://kubernetes.io/blog/2016/10/kubernetes-and-openstack-at-yahoo-japan/
● https://dzone.com/articles/easily-automate-your-cicd-pipeline-with-jenkins-he
● https://dzone.com/articles/monolithic-to-microservices
● https://microservices.io/patterns/monolithic.html

Mais conteúdo relacionado

Mais procurados

Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in aziendaPivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
VMware Tanzu
 
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource SharingMaintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Vladimir Podolskiy
 

Mais procurados (20)

Pulling Back the Curtain – CloudStack in Private and Community Clouds
Pulling Back the Curtain –CloudStack in Private and Community CloudsPulling Back the Curtain –CloudStack in Private and Community Clouds
Pulling Back the Curtain – CloudStack in Private and Community Clouds
 
High-Precision GPS Positioning for Spring Developers
High-Precision GPS Positioning for Spring DevelopersHigh-Precision GPS Positioning for Spring Developers
High-Precision GPS Positioning for Spring Developers
 
Anthos Application Modernization Platform
Anthos Application Modernization PlatformAnthos Application Modernization Platform
Anthos Application Modernization Platform
 
James Watters Kafka Summit NYC 2019 Keynote
James Watters Kafka Summit NYC 2019 KeynoteJames Watters Kafka Summit NYC 2019 Keynote
James Watters Kafka Summit NYC 2019 Keynote
 
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
 
Api more than payload (2021 Update)
Api more than payload (2021 Update)Api more than payload (2021 Update)
Api more than payload (2021 Update)
 
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...
Hitting the Enterprise Sweet Spot—A Real-World View of PKS Deployment and Suc...
 
cross cloud inter-operability with iPaaS and serverless for Telco cloud SDN/NFV
cross cloud inter-operability with iPaaS and serverless for Telco cloud SDN/NFVcross cloud inter-operability with iPaaS and serverless for Telco cloud SDN/NFV
cross cloud inter-operability with iPaaS and serverless for Telco cloud SDN/NFV
 
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
 
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in aziendaPivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
Pivotal Container Service : la nuova soluzione per gestire Kubernetes in azienda
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)
 
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource SharingMaintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
 
Running Persistent Data in a Multi-Cloud Architecture
Running Persistent Data in a Multi-Cloud ArchitectureRunning Persistent Data in a Multi-Cloud Architecture
Running Persistent Data in a Multi-Cloud Architecture
 
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on AzureMigrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
 
Enterprise Application Migration
Enterprise Application MigrationEnterprise Application Migration
Enterprise Application Migration
 
Cloud Native Summit 2019 Summary
Cloud Native Summit 2019 SummaryCloud Native Summit 2019 Summary
Cloud Native Summit 2019 Summary
 
Going Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a Platform
 
Continuous Delivery with CloudBees Core
Continuous Delivery with CloudBees CoreContinuous Delivery with CloudBees Core
Continuous Delivery with CloudBees Core
 
Spring Cloud Kubernetes: An Easier Path from Idea to Production
Spring Cloud Kubernetes: An Easier Path from Idea to ProductionSpring Cloud Kubernetes: An Easier Path from Idea to Production
Spring Cloud Kubernetes: An Easier Path from Idea to Production
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 

Semelhante a The rise of microservices

Semelhante a The rise of microservices (20)

Deploy prometheus on kubernetes
Deploy prometheus on kubernetesDeploy prometheus on kubernetes
Deploy prometheus on kubernetes
 
Containers and Kubernetes
Containers and KubernetesContainers and Kubernetes
Containers and Kubernetes
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on Containers
 
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google CloudPSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
 
Containers and Kubernetes without limits
Containers and Kubernetes without limitsContainers and Kubernetes without limits
Containers and Kubernetes without limits
 
Cisco Connect 2018 Indonesia - Building container ready infrastructure
Cisco Connect 2018 Indonesia - Building container ready infrastructure  Cisco Connect 2018 Indonesia - Building container ready infrastructure
Cisco Connect 2018 Indonesia - Building container ready infrastructure
 
Infrastructure design for Kubernetes
Infrastructure design for KubernetesInfrastructure design for Kubernetes
Infrastructure design for Kubernetes
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
TechWiseTV Workshop: Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop:  Cisco Hybrid Cloud Platform for Google CloudTechWiseTV Workshop:  Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop: Cisco Hybrid Cloud Platform for Google Cloud
 
Leveraging HybridMultiCloud for Devops and Automation Platform
Leveraging HybridMultiCloud for Devops and Automation PlatformLeveraging HybridMultiCloud for Devops and Automation Platform
Leveraging HybridMultiCloud for Devops and Automation Platform
 
Migrating to Cloud Native Solutions
Migrating to Cloud Native SolutionsMigrating to Cloud Native Solutions
Migrating to Cloud Native Solutions
 
Get started with gitops and flux
Get started with gitops and fluxGet started with gitops and flux
Get started with gitops and flux
 
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
 
Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption
 
Veritas + MongoDB
Veritas + MongoDBVeritas + MongoDB
Veritas + MongoDB
 
Running containers in production, the ING story
Running containers in production, the ING storyRunning containers in production, the ING story
Running containers in production, the ING story
 
Service Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaS
Service Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaSService Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaS
Service Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaS
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 

Último

Último (20)

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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

The rise of microservices

  • 1. © 2018 Cloud Technology Experts INC Damian Igbe, PhD ● PhD in Computer science ● Founder & CTO of Cloud Technology Experts Inc ● Linux Systems Administrator ● Kubernetes Certified Administrator ● Kubernetes Doc team contributor ● Organizer of Kubernetes and CloudNative Dallas Meetup https://www.meetup.com/Kubernetes-and-Cloud-Native- North-Dallas/
  • 2. © 2018 Cloud Technology Experts INC The Rise of Kubernetes and Microservices
  • 3. © 2017 Cloud Technology Experts INC. All rights reserved. Cloud Technology Experts Agenda ● The Case for Docker/Kubernetes ● Monolith, Microservices, CNCF, Docker/Kubernetes, Service Mesh ● Kubernetes Architecture ● Some hands-on?
  • 4. © 2018 Cloud Technology Experts INC The First Premise Software Is Eating the World --Marc Andreessen -source website https://www.wsj.com/articles/SB10001424053111903480904576512250915629460 Uber, Lift, Airbnb, Amazon, Netflix, google,Ebay/Paypal,Groupon,FB, Twitter,Linkedin, Cloud, SDN/NFV
  • 5. © 2018 Cloud Technology Experts INC Second Premise The future platform is the Cloud or Multi-cloud or Hybrid.
  • 6. © 2018 Cloud Technology Experts INC Third Premise Microservices is the future. Successful Microservice Implementations: Netflix, Google, Credit Karma, Ebay, Groupon, REAGroup, Soundcloud, Uber, Lift
  • 7. © 2018 Cloud Technology Experts INC Monolith/Brownfield Applications
  • 8. © 2018 Cloud Technology Experts INC Monolith/Brownfield Applications Pros: ● Monolithic applications are very simple to develop because of all the tools and IDEs support to that kind of application by default. ● Very easy to deploy because all components are packed into one bundle. ● The architecture has less moving parts. Cons: ● Very difficult to understand and create the patches for monolithic applications. ● Adapting to new technology is very challengeable. ● Very difficult to maintain CI/CD pipeline. ● Maintainability is very high and braking of one code line will stop the whole process. ● Take a long time to startup because all the components need to get started. ● One component failure will cause the whole system to fail. ● Not suitable for Agile.
  • 9. © 2018 Cloud Technology Experts INC Microservices/Greenfield Applications
  • 10. © 2018 Cloud Technology Experts INC Monolith/Brownfield Applications
  • 11. © 2018 Cloud Technology Experts INC Microservices Pros: ● Can use the latest technologies to develop the microservices. ● Composability is very high. ● Can scale independent microservices separately. No need to scale the whole the system. ● One component failure will not cause entire system downtimes. ● When developing an overall solution we can parallel the microservices development task with the small teams. So it helps to decrease the development time. ● CI/CD is very easy. Cons: ● Independent code base maintenance is very difficult. ● Monitoring the overall system is very challenging because of decentralization. Communication needs to be very strong to communicate with independent modules. ● Has additional performance overhead because of network latency. ● Complexity
  • 12. © 2018 Cloud Technology Experts INC Agile Software dev and Goto Mkt ● Microservices and Agile Software Dev. has seen significant result in software releases. ● If software is eating the world, Goto Market/Competitive Advantage is the key Netflix, Google, Credit Karma, Ebay, Groupon, REAGroup, Soundcloud, Uber, Lift
  • 13. © 2018 Cloud Technology Experts INC The link between present and future
  • 14. © 2018 Cloud Technology Experts INC Docker/Kubernetes (DK) ● DK is the link between the present and the future ● DK enables Microservices ● DK enables Agile Software Development ● DK empowers multicloud, hybrid Cloud because of portability and platform independence
  • 15. © 2018 Cloud Technology Experts INC Microservices/Greenfield Applications
  • 16. © 2018 Cloud Technology Experts INC Challenges of Microservices
  • 17. © 2018 Cloud Technology Experts INC K8S to the Rescue of Microservices
  • 18. © 2018 Cloud Technology Experts INC Enters CNCF ● Cloud Native is open source cloud computing for applications, a trusted tool kit for modern architectures. ● There are many routes to deploying a cloud native application, with CNCF Projects representing a particularly well-traveled path. ● Promote use of good patterns through community education ● https://www.cncf.io/
  • 19. © 2018 Cloud Technology Experts INC CNCF Ref. Architecture Fundamentals ObservabilityandAnalysis
  • 20. © 2018 Cloud Technology Experts INC https://raw.githubusercontent.com/cncf/landscape/master/landscape/CloudNativeLandscape_latest.png
  • 21. © 2018 Cloud Technology Experts INC Architecture of Microservices
  • 22. © 2018 Cloud Technology Experts INC Greek for “Helmsman”; also the root of the words “governor” and “cybernetic” • Infrastructure for containers • Schedules, runs, and manages containers on virtual and physical machines • Platform for automating deployment, scaling, and operations Kubernetes
  • 23. © 2018 Cloud Technology Experts INC Docker: A New Way of Deploying Apps OS-level virtualization Isolated, from each other and from the host • filesystems • processes • resources Small and fast ⇒ enables 1:1 app to image • Unlocks benefits of microservices • Consistency from development to production • Portable across OS distros and clouds • Application-centric management Operating System Container Manager Runtime System Application Runtime System Application Runtime System Application
  • 24. © 2018 Cloud Technology Experts INC Scheduling: Decide where my containers should run Lifecycle and health: Keep my containers running despite failures Scaling: Make sets of containers bigger or smaller Naming and discovery: Find where my containers are now Load balancing: Distribute traffic across a set of containers Storage volumes: Provide data to containers Logging and monitoring: Track what’s happening with my containers Debugging and introspection: Enter or attach to containers Identity and authorization: Control who can do things to my containers K8S/Container Orchestration
  • 25. © 2018 Cloud Technology Experts INC Scheduling Placement,replication/scaling,rescheduling,rolling deployment,upgrades,downgrades,collocation Resource Management Memory,cpu,gpu,volumes,ports,ip addresses,images/artifacts Service Management Labels,groups/namespaces,dependencies,health checks,readiness checks Container Orchestration
  • 26. © 2018 Cloud Technology Experts INC Drive current state → desired state Observed state is truth Act independently • choreography rather than orchestration Recurring pattern in the system Kubernetes Control Loop
  • 27. © 2018 Cloud Technology Experts INC Sample Complete Picture
  • 28. © 2018 Cloud Technology Experts INC Sample Complete Picture
  • 29. © 2018 Cloud Technology Experts INC Sample Complete Picture on AWS
  • 30. © 2018 Cloud Technology Experts INC SERVICE MESH
  • 31. © 2018 Cloud Technology Experts INC Service Mesh Istio
  • 32. © 2018 Cloud Technology Experts INC Service Mesh
  • 33. © 2018 Cloud Technology Experts INC Service Mesh
  • 34. © 2018 Cloud Technology Experts INC Service Mesh
  • 35. © 2018 Cloud Technology Experts INC Service Mesh
  • 36. © 2018 Cloud Technology Experts INC Service Mesh
  • 37. © 2018 Cloud Technology Experts INC Service Mesh
  • 38. © 2018 Cloud Technology Experts INC Service Mesh: Istio
  • 39. © 2018 Cloud Technology Experts INC Service mesh: Istio
  • 40. © 2018 Cloud Technology Experts INC Service Mesh: Istio
  • 41. © 2018 Cloud Technology Experts INC Service mesh : Istio
  • 42. © 2018 Cloud Technology Experts INC Service: Istio
  • 43. © 2018 Cloud Technology Experts INC Envoy
  • 44. © 2018 Cloud Technology Experts INC Service: Istio
  • 45. © 2018 Cloud Technology Experts INC Service: Istio
  • 46. © 2018 Cloud Technology Experts INC Service: Istio
  • 47. © 2018 Cloud Technology Experts INC Istio ● Service observability ● Graduated deployment and release ● Policy enforcement ● Cluster reliability ● Chaos testing ● Fleet configuration ● Strong security options
  • 48. © 2018 Cloud Technology Experts INC Istio
  • 49. © 2018 Cloud Technology Experts INC KUBERNETES ARCHITECTURE
  • 50. © 2018 Cloud Technology Experts INC Cluster Components Master/Controller ● API Server (kube-apiserver) ● Scheduler (kube-scheduler) ● Controller manager (kube-controller-manager) ● etcd (stores cluster state) Node ● Kubelet (“node agent”) ● Kube-proxy ● Container Runtime (Docker,rkt)
  • 51. © 2018 Cloud Technology Experts INC Kubernetes Architecture
  • 52. © 2018 Cloud Technology Experts INC Architecture: Master Node Master Node (“Control Plane”) kube-apiserver - Point of interaction with the cluster - Exposes http endpoint kube-controller-manager - Responsible for most of the important stuff - Interacts with the api server to retrieve cluster state - Ensures correct number of pods are running - Reacts to Nodes being added / deleted - Manages Service Accounts and security tokens kube-scheduler - Schedules newly created pods to a Node
  • 53. © 2018 Cloud Technology Experts INC Architecture: Master Node Master Node (“Control Plane”) Etcd - Stores the state of the cluster - Doesn’t necessarily have to be co-located with other components - Must be backed up in a production scenario
  • 54. © 2018 Cloud Technology Experts INC Architecture: Worker Node kubelet ● Agent for running Pods ● Mounts volumes for Pods where required ● Reports the status of Pods back to rest of system kube-proxy ● Enforces network rules on each Node (uses iptables) ● Responsible for forwarding packets to correct destination
  • 55. © 2018 Cloud Technology Experts INC How to Deploy ● Minikube ● On-Premise (Baremetal, GPU) ● Cloud: AWS EKS ● Google Cloud (GKE) ● Azure Kubernetes Service (AKS) ● Check CNCF Framework for other platforms
  • 56. © 2018 Cloud Technology Experts INC Kubernetes Objects ● PODs ● Replicasets ● Deployments ● Services ● StatefulSets ● Secrets/Configmaps ● etc etc
  • 57. © 2018 Cloud Technology Experts INC Cloud Technology Experts Inc www.cloudtechnologyexperts.com @expertscoud 800-690-2675
  • 58. © 2018 Cloud Technology Experts INC Cloud Technology Experts Inc ● Main Focus is Cloud Training and Consulting on CNCF Framework ● Core Focus Areas: ○ Docker/Kubernetes ○ Microservices/CloudNative ○ Cloud Platform:AWS ● AWS Authorized Consulting Partner
  • 59. © 2018 Cloud Technology Experts INC CTE Courses ● 1-Day Docker Fundamentals ● 1-Day Kubernetes Fundamentals ● 3-Day Kubernetes Certified Administrator ● 3-Day Docker/Kubernetes and Security Hardening ● 3-Day Microservices with Docker and Kubernetes
  • 60. © 2018 Cloud Technology Experts INC Q & A
  • 61. © 2018 Cloud Technology Experts INC References ● Making Microservices Micro with Istio Service Mesh by Ray Tsang ● https://blog.buoyant.io/2017/04/25/whats-a-service-mesh-and-why-do-i-need-one/ ● https://thenewstack.io/introducing-microservices-hierarchy-needs/ ● https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-t o-kubernetes/ ● https://aws.amazon.com/blogs/devops/continuous-deployment-to-kubernetes-using-aws-c odepipeline-aws-codecommit-aws-codebuild-amazon-ecr-and-aws-lambda/ ● https://kubernetes.io/blog/2016/10/kubernetes-and-openstack-at-yahoo-japan/ ● https://dzone.com/articles/easily-automate-your-cicd-pipeline-with-jenkins-he ● https://dzone.com/articles/monolithic-to-microservices ● https://microservices.io/patterns/monolithic.html