SlideShare a Scribd company logo
1 of 21
© 2015 ARAVIND AJAD YARRA < 1 >
MICROSERVICES &
CONTAINERS
m a k i n g s e r vi c e s w o r k
μ
© 2015 ARAVIND AJAD YARRA < 2 >
ARAVIND AJAD YARRA
 Software Architect & Engineer
for 19 years
 Distinguished Member of
Technical Staff at Wipro
© 2015 ARAVIND AJAD YARRA < 3 >
MICROSERVICES
QUICK INTRODUCTION TO MICROSERVICES
© 2015 ARAVIND AJAD YARRA < 4 >
SOA CURRENT STATE
ORCEHSTRATION
BUSINESS LOGIC
CHANNELS OLTP WORK-FLOW
DASH
BOARDS
CORE
SYSTEMS
LEGACY
SYSTEMS
DATA
WAREHOUSE
S
PARTNER
SYSTEMS
ENTERPRISE SERVICE BUS
GOVERNANCE
CONNECTIVITY
SERVICE
PROVIDERS/
CLIENTS
SERVICE
CLIENTS/
PROVIDERS
SOA INTEGRATION
MIDDLEWARE
Service Oriented Architectures are currently adopted in Enterprise Integration.
© 2015 ARAVIND AJAD YARRA < 5 >
MONOLITH ARCHITECTURE
RWD MVC
Quote HomeCommercial
Cross SellCart Rules Ref Data Bundles
ResumeCaching Document Payment Integration
Validations
Auto
Data Store
Life
UI
JAVAEE
CONTAINER
Monolith architectures have components bundled together with tight
dependencies. Change or failure in a component will result in fragility,
there by makes it difficult to evolve the architecture.
© 2015 ARAVIND AJAD YARRA < 6 >
MICROSERVICES
HomeQuote
CommercialQuote
Recommendations
Cart
BundleManagement
Caching Document
Payment
AutoQuote
μ μ μ μ μ μ
μ μμ
• Service Oriented
• Independently managed
• Loose Coupling
• Connected
Applying service oriented architecture principles to monolith system architectures
© 2015 ARAVIND AJAD YARRA < 7 >
WHY CONTAINERS?
PRACTICAL CONSIDERATIONS FOR MICROSERVICES
© 2015 ARAVIND AJAD YARRA < 8 >
KEY CONSIDERATIONS
Design and
development of
services - Service
capabilities such as
connectivity, discovery
and monitoring
Deploy self-contained
services.
Continuous
deployment of services
– enable evolution &
continuous availability
Configure services
externally without fixed
assumptions
Transparently discover
dependent services.
Find failed services
and connect to
resumed services.
Manage services and
Monitor service
specific metrics, events
and logs
© 2015 ARAVIND AJAD YARRA < 9 >
KEY CHALLENGES
• Lightweight – How not to add overhead?
• Self-contained – How do we make services portable across
environments? How do we isolate service processes?
• Continuous deployment – How to deploy services rapidly without
any disruption?
• Setup & Discovery – How to setup services and add dependencies?
• Elastic Scaling - How to scale services transparently?
• Monitor – How to monitor services and failures?
Application Stacks have grown up to handle these.
How about infrastructure?
© 2015 ARAVIND AJAD YARRA < 10 >
DOCKER MADE FOR μS
Docker makes an excellent choice for micro-services. But is it
enough?
• Isolation : One process per container
• Lightweight : No virtualization overhead
• Self-contained : Package all the hard
dependencies together
• Portable : Easily pull images into any
environment
© 2015 ARAVIND AJAD YARRA < 11 >
CONTAINER ORCHESTRATION
Orchestrate containers to facilitate micro-services architecture
 Provision Containers
 Manage Container Dependencies
 Enable Discovery
 Handle Container Failure
 Scale Containers
Amazon ECS
© 2015 ARAVIND AJAD YARRA < 12 >
BRINGING IT ALL TOGETHER
HOW TO MAKE ALL THIS WORK?
© 2015 ARAVIND AJAD YARRA < 13 >
KUBERNETES CLUSTER
Master
Minion
pod pod
labels labels
kubelet cAdvisor proxy
API Server
Minion
pod pod
labels labels
kubelet cAdvisor proxy
scheduler
replication
controller
kubectl
distributed
storage
© 2015 ARAVIND AJAD YARRA < 14 >
PACKAGING μS
• Packaging a microservice involves creating a executable JAR or equivalent.
Use Onejar or Spring Boot to build a fat jar with all dependencies
• Create Docker image with the executable for microservice. Use caching as
required
• Pod is the abstraction for a basic unit of
a μS in Kubernetes. Create a Pod with
docker image.
© 2015 ARAVIND AJAD YARRA < 15 >
SCALING μS
• Replicating Pods is easy and will replicate containers (& microservices)
• Kubernetes replication controllers are best way to achieve replication
• Replica count can be incremented or decremented as required dynamically
using kubectl or Kubernetes API
• BTW, replication controllers can help in resiliency
© 2015 ARAVIND AJAD YARRA < 16 >
LOAD BALANCING
• Load balancing can be enabled using the ‘Service’ construct of Kubernetes.
Service is essentially a proxy on top of Pod.
kube-proxy
Pod #2
Labels: quoteservice
Port: 8080
Pod #3
Labels: quoteservice
Port:8080
Pod #1
Labels: quoteservice
Port:8080
• Load balancing is done using selectors on labels
• Pods are ephemeral and they can come up and go. Service will resolve
those pods randomly.
© 2015 ARAVIND AJAD YARRA < 17 >
BG DEPLOYMENT
service
Pod #2
Labels: quoteservice
Port: 8080
Pod #3
Labels: quoteservice
Port:8080
Pod #1
Labels: quoteservice
Port:8080
service
Pod #2
Labels: quoteservice
Port: 8080
Pod #3
Labels: quoteservice
Port:8080
Pod #1
Labels: quoteservice
Port:8080
X
Pod #4
Labels: quoteservice
Port:8080
 Services enables blue-green deployments for continuous deployment
 Services also enable other patterns such as canary releases, taking off
instances for debugging and so on
replcontroller#1#2
© 2015 ARAVIND AJAD YARRA < 18 >
SERVICE DISCOVERY
 Environment Variables
 kubelet adds environment variables for every service that is
active in the cluster
 microservices can leverage these environment variables for
resolving dependencies
 SkyDNS with DNS cluster add-on
 Injects SkyDNS (+etcd) to environment variables
 SkyDNS is populated with active services from kubernetes
master
 Higher order frameworks
 Consul
 Eureka
© 2015 ARAVIND AJAD YARRA < 19 >
SERVICE MONITORING
 Docker Process Monitoring
 Kubelet monitors docker process constantly
 Failure of docker process triggers restart of the pod based
on policy
 Application Level Health Checks
 HTTP Health Check – Kubelet calls a HTTP endpoint
 Container Exec – Kubelet calls a container command
 Higher Order Frameworks
 Hystrix + Eureka
 Metrics & Log Monitoring
 Heapster
 Fluentd + Elasticsearch
© 2015 ARAVIND AJAD YARRA < 20 >
WATCH OUT
 Orchestration of containers for stateful
microservices
 Limited controller capabilities
 Rapidly evolving
 Not yet ready for production
 Limited management capabilities
 Tooling is yet to catch-up
 Read the small print
© 2015 ARAVIND AJAD YARRA < 21 >
THANK YOU
@aravindajad
www.slideshare.net/AravindAjad
MAERSK CREATIVE COMMONS

More Related Content

What's hot

Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...WSO2
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMukul Jain
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAmazon Web Services
 
Aws re invent hybrid cloud breakout session
Aws re invent   hybrid cloud breakout session Aws re invent   hybrid cloud breakout session
Aws re invent hybrid cloud breakout session Angela_Tripp
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java CloudAnkur Gupta
 
Banking and Docker Datacenter - How Containers Drive Agility
Banking and Docker Datacenter - How Containers Drive AgilityBanking and Docker Datacenter - How Containers Drive Agility
Banking and Docker Datacenter - How Containers Drive AgilitySendachi
 
Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSPDmitry Lazarenko
 
Managed Cloud Services for Siebel CRM on Amazon AWS
Managed Cloud Services for Siebel CRM on Amazon AWSManaged Cloud Services for Siebel CRM on Amazon AWS
Managed Cloud Services for Siebel CRM on Amazon AWSMilind Waikul
 
Openstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platformOpenstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platformNagaraj Shenoy
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...VMware Tanzu
 
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...WSO2
 
(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture PatternsAmazon Web Services
 
The Best of Both Worlds: Implementing Hybrid IT with AWS (ENT218) | AWS re:In...
The Best of Both Worlds: Implementing Hybrid IT with AWS (ENT218) | AWS re:In...The Best of Both Worlds: Implementing Hybrid IT with AWS (ENT218) | AWS re:In...
The Best of Both Worlds: Implementing Hybrid IT with AWS (ENT218) | AWS re:In...Amazon Web Services
 
A Modern Data Architecture for Microservices
A Modern Data Architecture for MicroservicesA Modern Data Architecture for Microservices
A Modern Data Architecture for MicroservicesAmazon Web Services
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry BootcampAndy Piper
 
DEVNET-1187 Cisco Intercloud Services: Delivering a Solution that Enables Hi...
DEVNET-1187	Cisco Intercloud Services:  Delivering a Solution that Enables Hi...DEVNET-1187	Cisco Intercloud Services:  Delivering a Solution that Enables Hi...
DEVNET-1187 Cisco Intercloud Services: Delivering a Solution that Enables Hi...Cisco DevNet
 

What's hot (20)

Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
Achieve Cloud Scale by Implementing Elastic Load Balancing, Asset Deployment,...
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service Fabric
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWS
 
MicroServices sur AWS
MicroServices sur AWSMicroServices sur AWS
MicroServices sur AWS
 
Aws re invent hybrid cloud breakout session
Aws re invent   hybrid cloud breakout session Aws re invent   hybrid cloud breakout session
Aws re invent hybrid cloud breakout session
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
 
Banking and Docker Datacenter - How Containers Drive Agility
Banking and Docker Datacenter - How Containers Drive AgilityBanking and Docker Datacenter - How Containers Drive Agility
Banking and Docker Datacenter - How Containers Drive Agility
 
Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSP
 
Managed Cloud Services for Siebel CRM on Amazon AWS
Managed Cloud Services for Siebel CRM on Amazon AWSManaged Cloud Services for Siebel CRM on Amazon AWS
Managed Cloud Services for Siebel CRM on Amazon AWS
 
Openstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platformOpenstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platform
 
Un-clouding the cloud
Un-clouding the cloudUn-clouding the cloud
Un-clouding the cloud
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
 
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
Roadmap to the Clouds - How to Easily Migrate to the Cloud Platform Using WSO...
 
(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns
 
The Best of Both Worlds: Implementing Hybrid IT with AWS (ENT218) | AWS re:In...
The Best of Both Worlds: Implementing Hybrid IT with AWS (ENT218) | AWS re:In...The Best of Both Worlds: Implementing Hybrid IT with AWS (ENT218) | AWS re:In...
The Best of Both Worlds: Implementing Hybrid IT with AWS (ENT218) | AWS re:In...
 
VMware Ready vRealize Automation Program
VMware Ready vRealize Automation ProgramVMware Ready vRealize Automation Program
VMware Ready vRealize Automation Program
 
A Modern Data Architecture for Microservices
A Modern Data Architecture for MicroservicesA Modern Data Architecture for Microservices
A Modern Data Architecture for Microservices
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry Bootcamp
 
DEVNET-1187 Cisco Intercloud Services: Delivering a Solution that Enables Hi...
DEVNET-1187	Cisco Intercloud Services:  Delivering a Solution that Enables Hi...DEVNET-1187	Cisco Intercloud Services:  Delivering a Solution that Enables Hi...
DEVNET-1187 Cisco Intercloud Services: Delivering a Solution that Enables Hi...
 

Similar to Microservices & Containers - Docker Bangalore Meetup #12

Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...CA Technologies
 
We are Net3 Technology
We are Net3 TechnologyWe are Net3 Technology
We are Net3 TechnologyKate Bissinger
 
Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?DevOps.com
 
Technology Primer: Building Applications the New-Fashioned Way
Technology Primer: Building Applications the New-Fashioned WayTechnology Primer: Building Applications the New-Fashioned Way
Technology Primer: Building Applications the New-Fashioned WayCA Technologies
 
Technology Primer: Monitor Microservices, Containers, Cloud Foundry and Node ...
Technology Primer: Monitor Microservices, Containers, Cloud Foundry and Node ...Technology Primer: Monitor Microservices, Containers, Cloud Foundry and Node ...
Technology Primer: Monitor Microservices, Containers, Cloud Foundry and Node ...CA Technologies
 
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryConcevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryVMware Tanzu
 
Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)GabrielaRodriguez182401
 
Data Plane Matters! A Deep Dive and Demo on NGINX Service Mesh
Data Plane Matters! A Deep Dive and Demo on NGINX Service MeshData Plane Matters! A Deep Dive and Demo on NGINX Service Mesh
Data Plane Matters! A Deep Dive and Demo on NGINX Service MeshNGINX, Inc.
 
Technology Primer: Monitor Node.js App Performance and the Impact to DevOps w...
Technology Primer: Monitor Node.js App Performance and the Impact to DevOps w...Technology Primer: Monitor Node.js App Performance and the Impact to DevOps w...
Technology Primer: Monitor Node.js App Performance and the Impact to DevOps w...CA Technologies
 
CA Unified Infrastructure Management Network Performance Management Capabili...
 CA Unified Infrastructure Management Network Performance Management Capabili... CA Unified Infrastructure Management Network Performance Management Capabili...
CA Unified Infrastructure Management Network Performance Management Capabili...CA Technologies
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxSufyaan Kazi
 
CA Performance Manager Agility by using Docker Containers for Network Manag...
CA Performance Manager Agility by using Docker Containers for Network Manag...CA Performance Manager Agility by using Docker Containers for Network Manag...
CA Performance Manager Agility by using Docker Containers for Network Manag...CA Technologies
 
See Inside the Middleware Black Box
See Inside the Middleware Black Box See Inside the Middleware Black Box
See Inside the Middleware Black Box CA Technologies
 
Case Study: Nordstrom Succeeds in E-Commerce with Innovative Performance Test...
Case Study: Nordstrom Succeeds in E-Commerce with Innovative Performance Test...Case Study: Nordstrom Succeeds in E-Commerce with Innovative Performance Test...
Case Study: Nordstrom Succeeds in E-Commerce with Innovative Performance Test...CA Technologies
 
Unlock Sustainable Kubernetes Services for TAS
Unlock Sustainable Kubernetes Services for TASUnlock Sustainable Kubernetes Services for TAS
Unlock Sustainable Kubernetes Services for TASVMware Tanzu
 
Openshift serverless Solution
Openshift serverless SolutionOpenshift serverless Solution
Openshift serverless SolutionRyan ZhangCheng
 
Cloud Foundry Marketplace
Cloud  Foundry MarketplaceCloud  Foundry Marketplace
Cloud Foundry MarketplaceLayne Peng
 
Explore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsExplore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsCA Technologies
 
Technology Primer: New Cloud Monitoring Capabilities in CA Unified Infrastruc...
Technology Primer: New Cloud Monitoring Capabilities in CA Unified Infrastruc...Technology Primer: New Cloud Monitoring Capabilities in CA Unified Infrastruc...
Technology Primer: New Cloud Monitoring Capabilities in CA Unified Infrastruc...CA Technologies
 
Kubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceKubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceSAP HANA Cloud Platform
 

Similar to Microservices & Containers - Docker Bangalore Meetup #12 (20)

Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
Tech Talk: Harness the Power of Innovations Like Microservice Architecture an...
 
We are Net3 Technology
We are Net3 TechnologyWe are Net3 Technology
We are Net3 Technology
 
Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?
 
Technology Primer: Building Applications the New-Fashioned Way
Technology Primer: Building Applications the New-Fashioned WayTechnology Primer: Building Applications the New-Fashioned Way
Technology Primer: Building Applications the New-Fashioned Way
 
Technology Primer: Monitor Microservices, Containers, Cloud Foundry and Node ...
Technology Primer: Monitor Microservices, Containers, Cloud Foundry and Node ...Technology Primer: Monitor Microservices, Containers, Cloud Foundry and Node ...
Technology Primer: Monitor Microservices, Containers, Cloud Foundry and Node ...
 
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryConcevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
 
Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)Vmware Tanzu Kubernetes Connect(Spanish)
Vmware Tanzu Kubernetes Connect(Spanish)
 
Data Plane Matters! A Deep Dive and Demo on NGINX Service Mesh
Data Plane Matters! A Deep Dive and Demo on NGINX Service MeshData Plane Matters! A Deep Dive and Demo on NGINX Service Mesh
Data Plane Matters! A Deep Dive and Demo on NGINX Service Mesh
 
Technology Primer: Monitor Node.js App Performance and the Impact to DevOps w...
Technology Primer: Monitor Node.js App Performance and the Impact to DevOps w...Technology Primer: Monitor Node.js App Performance and the Impact to DevOps w...
Technology Primer: Monitor Node.js App Performance and the Impact to DevOps w...
 
CA Unified Infrastructure Management Network Performance Management Capabili...
 CA Unified Infrastructure Management Network Performance Management Capabili... CA Unified Infrastructure Management Network Performance Management Capabili...
CA Unified Infrastructure Management Network Performance Management Capabili...
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptx
 
CA Performance Manager Agility by using Docker Containers for Network Manag...
CA Performance Manager Agility by using Docker Containers for Network Manag...CA Performance Manager Agility by using Docker Containers for Network Manag...
CA Performance Manager Agility by using Docker Containers for Network Manag...
 
See Inside the Middleware Black Box
See Inside the Middleware Black Box See Inside the Middleware Black Box
See Inside the Middleware Black Box
 
Case Study: Nordstrom Succeeds in E-Commerce with Innovative Performance Test...
Case Study: Nordstrom Succeeds in E-Commerce with Innovative Performance Test...Case Study: Nordstrom Succeeds in E-Commerce with Innovative Performance Test...
Case Study: Nordstrom Succeeds in E-Commerce with Innovative Performance Test...
 
Unlock Sustainable Kubernetes Services for TAS
Unlock Sustainable Kubernetes Services for TASUnlock Sustainable Kubernetes Services for TAS
Unlock Sustainable Kubernetes Services for TAS
 
Openshift serverless Solution
Openshift serverless SolutionOpenshift serverless Solution
Openshift serverless Solution
 
Cloud Foundry Marketplace
Cloud  Foundry MarketplaceCloud  Foundry Marketplace
Cloud Foundry Marketplace
 
Explore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsExplore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration Topics
 
Technology Primer: New Cloud Monitoring Capabilities in CA Unified Infrastruc...
Technology Primer: New Cloud Monitoring Capabilities in CA Unified Infrastruc...Technology Primer: New Cloud Monitoring Capabilities in CA Unified Infrastruc...
Technology Primer: New Cloud Monitoring Capabilities in CA Unified Infrastruc...
 
Kubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experienceKubernetes, Istio and Knative - noteworthy practical experience
Kubernetes, Istio and Knative - noteworthy practical experience
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Microservices & Containers - Docker Bangalore Meetup #12

  • 1. © 2015 ARAVIND AJAD YARRA < 1 > MICROSERVICES & CONTAINERS m a k i n g s e r vi c e s w o r k μ
  • 2. © 2015 ARAVIND AJAD YARRA < 2 > ARAVIND AJAD YARRA  Software Architect & Engineer for 19 years  Distinguished Member of Technical Staff at Wipro
  • 3. © 2015 ARAVIND AJAD YARRA < 3 > MICROSERVICES QUICK INTRODUCTION TO MICROSERVICES
  • 4. © 2015 ARAVIND AJAD YARRA < 4 > SOA CURRENT STATE ORCEHSTRATION BUSINESS LOGIC CHANNELS OLTP WORK-FLOW DASH BOARDS CORE SYSTEMS LEGACY SYSTEMS DATA WAREHOUSE S PARTNER SYSTEMS ENTERPRISE SERVICE BUS GOVERNANCE CONNECTIVITY SERVICE PROVIDERS/ CLIENTS SERVICE CLIENTS/ PROVIDERS SOA INTEGRATION MIDDLEWARE Service Oriented Architectures are currently adopted in Enterprise Integration.
  • 5. © 2015 ARAVIND AJAD YARRA < 5 > MONOLITH ARCHITECTURE RWD MVC Quote HomeCommercial Cross SellCart Rules Ref Data Bundles ResumeCaching Document Payment Integration Validations Auto Data Store Life UI JAVAEE CONTAINER Monolith architectures have components bundled together with tight dependencies. Change or failure in a component will result in fragility, there by makes it difficult to evolve the architecture.
  • 6. © 2015 ARAVIND AJAD YARRA < 6 > MICROSERVICES HomeQuote CommercialQuote Recommendations Cart BundleManagement Caching Document Payment AutoQuote μ μ μ μ μ μ μ μμ • Service Oriented • Independently managed • Loose Coupling • Connected Applying service oriented architecture principles to monolith system architectures
  • 7. © 2015 ARAVIND AJAD YARRA < 7 > WHY CONTAINERS? PRACTICAL CONSIDERATIONS FOR MICROSERVICES
  • 8. © 2015 ARAVIND AJAD YARRA < 8 > KEY CONSIDERATIONS Design and development of services - Service capabilities such as connectivity, discovery and monitoring Deploy self-contained services. Continuous deployment of services – enable evolution & continuous availability Configure services externally without fixed assumptions Transparently discover dependent services. Find failed services and connect to resumed services. Manage services and Monitor service specific metrics, events and logs
  • 9. © 2015 ARAVIND AJAD YARRA < 9 > KEY CHALLENGES • Lightweight – How not to add overhead? • Self-contained – How do we make services portable across environments? How do we isolate service processes? • Continuous deployment – How to deploy services rapidly without any disruption? • Setup & Discovery – How to setup services and add dependencies? • Elastic Scaling - How to scale services transparently? • Monitor – How to monitor services and failures? Application Stacks have grown up to handle these. How about infrastructure?
  • 10. © 2015 ARAVIND AJAD YARRA < 10 > DOCKER MADE FOR μS Docker makes an excellent choice for micro-services. But is it enough? • Isolation : One process per container • Lightweight : No virtualization overhead • Self-contained : Package all the hard dependencies together • Portable : Easily pull images into any environment
  • 11. © 2015 ARAVIND AJAD YARRA < 11 > CONTAINER ORCHESTRATION Orchestrate containers to facilitate micro-services architecture  Provision Containers  Manage Container Dependencies  Enable Discovery  Handle Container Failure  Scale Containers Amazon ECS
  • 12. © 2015 ARAVIND AJAD YARRA < 12 > BRINGING IT ALL TOGETHER HOW TO MAKE ALL THIS WORK?
  • 13. © 2015 ARAVIND AJAD YARRA < 13 > KUBERNETES CLUSTER Master Minion pod pod labels labels kubelet cAdvisor proxy API Server Minion pod pod labels labels kubelet cAdvisor proxy scheduler replication controller kubectl distributed storage
  • 14. © 2015 ARAVIND AJAD YARRA < 14 > PACKAGING μS • Packaging a microservice involves creating a executable JAR or equivalent. Use Onejar or Spring Boot to build a fat jar with all dependencies • Create Docker image with the executable for microservice. Use caching as required • Pod is the abstraction for a basic unit of a μS in Kubernetes. Create a Pod with docker image.
  • 15. © 2015 ARAVIND AJAD YARRA < 15 > SCALING μS • Replicating Pods is easy and will replicate containers (& microservices) • Kubernetes replication controllers are best way to achieve replication • Replica count can be incremented or decremented as required dynamically using kubectl or Kubernetes API • BTW, replication controllers can help in resiliency
  • 16. © 2015 ARAVIND AJAD YARRA < 16 > LOAD BALANCING • Load balancing can be enabled using the ‘Service’ construct of Kubernetes. Service is essentially a proxy on top of Pod. kube-proxy Pod #2 Labels: quoteservice Port: 8080 Pod #3 Labels: quoteservice Port:8080 Pod #1 Labels: quoteservice Port:8080 • Load balancing is done using selectors on labels • Pods are ephemeral and they can come up and go. Service will resolve those pods randomly.
  • 17. © 2015 ARAVIND AJAD YARRA < 17 > BG DEPLOYMENT service Pod #2 Labels: quoteservice Port: 8080 Pod #3 Labels: quoteservice Port:8080 Pod #1 Labels: quoteservice Port:8080 service Pod #2 Labels: quoteservice Port: 8080 Pod #3 Labels: quoteservice Port:8080 Pod #1 Labels: quoteservice Port:8080 X Pod #4 Labels: quoteservice Port:8080  Services enables blue-green deployments for continuous deployment  Services also enable other patterns such as canary releases, taking off instances for debugging and so on replcontroller#1#2
  • 18. © 2015 ARAVIND AJAD YARRA < 18 > SERVICE DISCOVERY  Environment Variables  kubelet adds environment variables for every service that is active in the cluster  microservices can leverage these environment variables for resolving dependencies  SkyDNS with DNS cluster add-on  Injects SkyDNS (+etcd) to environment variables  SkyDNS is populated with active services from kubernetes master  Higher order frameworks  Consul  Eureka
  • 19. © 2015 ARAVIND AJAD YARRA < 19 > SERVICE MONITORING  Docker Process Monitoring  Kubelet monitors docker process constantly  Failure of docker process triggers restart of the pod based on policy  Application Level Health Checks  HTTP Health Check – Kubelet calls a HTTP endpoint  Container Exec – Kubelet calls a container command  Higher Order Frameworks  Hystrix + Eureka  Metrics & Log Monitoring  Heapster  Fluentd + Elasticsearch
  • 20. © 2015 ARAVIND AJAD YARRA < 20 > WATCH OUT  Orchestration of containers for stateful microservices  Limited controller capabilities  Rapidly evolving  Not yet ready for production  Limited management capabilities  Tooling is yet to catch-up  Read the small print
  • 21. © 2015 ARAVIND AJAD YARRA < 21 > THANK YOU @aravindajad www.slideshare.net/AravindAjad MAERSK CREATIVE COMMONS