SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
CONTAINERS:
DON'T SKEU THEM UP
USE MICROSERVICES INSTEAD
Gordon Haff, Technology Evangelist, @ghaff, ghaff@redhat.com
William Henry, DevOps Strategy Lead, @ipbabble, whenry@redhat.com
14 July 2016
CONTAINERS ARE
Software packaging concept that
typically includes an application/service
and all of its runtime dependencies
Simplified management (plus packaging
and orchestration) of a set of tools that
have existed within Linux for a long time
Portability across diverse environments
Isolated through a variety of Linux
features
CONTAINERS ISOLATE WORKLOADS
BUT CONTAINERS ARE NOT
Server virtualization
WHY SERVER VIRTUALIZATION HAPPENED
Mainstream hardware availability
Server consolidation
Cost reduction (remember dot-bomb?)
Minimal change to operational model
VMS ARE PETS
Individuals
Scale-up
Long-lived
Monolithic
Nursed back to health
A skeuomorph / skjuːəmɔrf/ is a derivative object
that retains ornamental design cues from structures
that were necessary in the original. Examples
include pottery embellished with imitation rivets
reminiscent of similar pots made of metal and a
software calendar that imitates the appearance of
binding on a paper desk calendar.
Wikipedia
THE CASE AGAINST SKEUOMORPHS
SO DON'T DO THAT
CONTAINERS ARE
FOR ANTS
Scale-out
Short-lived
Single-function
Component of a larger whole
Replacable
Less stateful
WARNING!
OVERSIMPLIFICATION ALERT!
Source: https://www.flickr.com/photos/pondapple/6502194585
ENTER MICROSERVICES
WHAT ARE MICROSERVICES?
TextText
http://martinfowler.com/articles/microservices.html
ISN'T THIS JUST...
Source: TIBCO
IMPORTANT DIFFERENCES
Source: PWC
Lighter-weight communications
protocols
Improved understanding of
functional separation
More open source and vendor-
neutral philosophies
Scale-out infrastructure
standardization and automation
Alignment with evolving practices
such as DevOps
AUTONOMOUS
Data and functionality exposed only through
service calls over the network
Designed to be externalizable
No back-doors
BOUNDED CONTEXT
Avoid having to know too much about the
surrounding services
Can be modified or updated independently
Should be robust in the face of changes to
other services
SMALL
Well-defined function
"Fits in your head"
Owned by a single cross-functional team
Organized around business capabilities
(Conway's Law)
Source: Kathy CC/Flickr https://flic.kr/p/b9fFV
SIGNS YOU MIGHT
NEED MICROSERVICES
Having trouble coordinating function teams like
DBAs and UI engineers
Brittle apps. Minor changes cause major
breakage
Your CICD process is bogged down by big
deployments
Different teams keep reinventing the wheel (in
gratuitously different ways)
Hard to experiment
Source: Daniel Pratts CC/flickr https://flic.kr/p/7RE6yc
ADVANTAGES
Easier for teams to pick the right tool for the job
Easier for teams to pick an appropriate release cycle
Easier to build resiliency and scale-out
Easier to do updates and CICD
Potentially more scalable
Easier to do DevOps!
Source: KegRiver CC/flickr https://flic.kr/p/at2Jt2
ON THE OTHER HAND
Source: CC/flickr https://www.flickr.com/photos/firstdown/2456119103
Architectural effort
Service boundaries
Communication overhead
Do you need it?
NOT EVERYTHING IS A
MICROSERVICE
Cost of migrating existing apps
May not need the scale
Monoliths may be the first step even for cloud
native
Containerization has benefits even without
microservices
Broader idea of twelve-factor apps
Evolutionary approaches often most practical
Source: Eric Fischer CC/flickr https://www.flickr.com/photos/walkingsf/4622376356E
COMMON THREAD:
NEED TO RUN AS AN ORCHESTRATED
(API-CENTRIC) SYSTEM
Source: CC/flickr https://www.flickr.com/photos/42931449 www.planetofsuccess.com/blog/
EVERYONE IS SCALING
Not just unicorns and mammoths
Three main use cases:
Large scale workloads
Diverse workloads
Complex resource management
Source: Google
WE HAVE "BIG" WORKLOADS
What scale?
A big cluster or many small ones?
Throughput?
Scheduling frequency?
How much availability required?
Source: Darth Vader
WE HAVE DIVERSE
WORKLOADS
Conventional or cloud native?
What type of workloads?
CI/CD (e.g. Jenkins)
Data analytics (e.g. Spark, Storm)
Batch (e.g. Chronos, Mesos)
Workflows
Containers (e.g. Kubernetes)
Single cluster sharing the workloads?
WE NEED RESOURCE
MANAGEMENT
What policies are needed?
Compliance
Multi-tenancy
Dependency management
Avoiding repeated failures
Persistent volume services
Dynamic reservations
HARD PARTS
Hardest is political/people
How do you test, deploy and manage?
Untangling existing apps and defining
service boundaries for new ones
Clusters and memory at scale
New availability mechanisms
Emergent behaviors
Source: Keith Allison CC/flickr https://flic.kr/p/abGcs9
BRINGING IT ALL TOGETHER
DEVELOPERS GET
Self-service
Multiple interaction models
Polyglot, multi-language support
xPaaS services
Immutable, container-based platform
Automation for application builds, deployments, scaling, and
health management
Persistent storage option
Text
PULLS TOGETHER OPEN SOURCE
INNOVATION
INTERLOCKING BROAD CHANGES
THANK YOU!

Mais conteúdo relacionado

Mais procurados

[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)
[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)
[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)Konveyor Community
 
CI/CD for Microservices Best Practices
CI/CD for Microservices Best PracticesCI/CD for Microservices Best Practices
CI/CD for Microservices Best PracticesDevOps.com
 
Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftAmazon Web Services
 
The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017Patrick Chanezon
 
CICD Pipelines for Microservices: Lessons from the Trenches
CICD Pipelines for Microservices: Lessons from the TrenchesCICD Pipelines for Microservices: Lessons from the Trenches
CICD Pipelines for Microservices: Lessons from the TrenchesCodefresh
 
Containers: Don't Skeu Them Up. Use Microservices Instead.
Containers: Don't Skeu Them Up. Use Microservices Instead.Containers: Don't Skeu Them Up. Use Microservices Instead.
Containers: Don't Skeu Them Up. Use Microservices Instead.Gordon Haff
 
[Konveyor] adding security to dev ops for your kubernetes native applications
[Konveyor] adding security to dev ops for your kubernetes native applications [Konveyor] adding security to dev ops for your kubernetes native applications
[Konveyor] adding security to dev ops for your kubernetes native applications Konveyor Community
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Patrick Chanezon
 
Multi-container Applications on OpenShift with the Ansible Service Broker Mul...
Multi-container Applications on OpenShift with the Ansible Service Broker Mul...Multi-container Applications on OpenShift with the Ansible Service Broker Mul...
Multi-container Applications on OpenShift with the Ansible Service Broker Mul...Amazon Web Services
 
WebSphere 20th - Application modernization
WebSphere 20th - Application modernizationWebSphere 20th - Application modernization
WebSphere 20th - Application modernizationArthur De Magalhaes
 
CI CD using Docker and Jenkins
CI CD  using Docker and JenkinsCI CD  using Docker and Jenkins
CI CD using Docker and JenkinsSukant Kumar
 
How to Modernize Virtualized Workloads
How to Modernize Virtualized Workloads  How to Modernize Virtualized Workloads
How to Modernize Virtualized Workloads Konveyor Community
 
Docker cloud hybridation & orchestration
Docker cloud hybridation & orchestrationDocker cloud hybridation & orchestration
Docker cloud hybridation & orchestrationAdrien Blind
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftKangaroot
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Daniel Krook
 
Migrating to Microservices – It's Easier Than You Think
Migrating to Microservices – It's Easier Than You ThinkMigrating to Microservices – It's Easier Than You Think
Migrating to Microservices – It's Easier Than You ThinkDevOps.com
 
Transforming The Government - KubeCon
Transforming The Government - KubeConTransforming The Government - KubeCon
Transforming The Government - KubeConipedrazas
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubTom Mens
 

Mais procurados (20)

[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)
[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)
[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)
 
Docker Innovation Culture
Docker Innovation CultureDocker Innovation Culture
Docker Innovation Culture
 
CI/CD for Microservices Best Practices
CI/CD for Microservices Best PracticesCI/CD for Microservices Best Practices
CI/CD for Microservices Best Practices
 
Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShift
 
The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017
 
CICD Pipelines for Microservices: Lessons from the Trenches
CICD Pipelines for Microservices: Lessons from the TrenchesCICD Pipelines for Microservices: Lessons from the Trenches
CICD Pipelines for Microservices: Lessons from the Trenches
 
Containers: Don't Skeu Them Up. Use Microservices Instead.
Containers: Don't Skeu Them Up. Use Microservices Instead.Containers: Don't Skeu Them Up. Use Microservices Instead.
Containers: Don't Skeu Them Up. Use Microservices Instead.
 
[Konveyor] adding security to dev ops for your kubernetes native applications
[Konveyor] adding security to dev ops for your kubernetes native applications [Konveyor] adding security to dev ops for your kubernetes native applications
[Konveyor] adding security to dev ops for your kubernetes native applications
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
 
Multi-container Applications on OpenShift with the Ansible Service Broker Mul...
Multi-container Applications on OpenShift with the Ansible Service Broker Mul...Multi-container Applications on OpenShift with the Ansible Service Broker Mul...
Multi-container Applications on OpenShift with the Ansible Service Broker Mul...
 
WebSphere 20th - Application modernization
WebSphere 20th - Application modernizationWebSphere 20th - Application modernization
WebSphere 20th - Application modernization
 
DockerCon EU 2017 Recap
DockerCon EU 2017 RecapDockerCon EU 2017 Recap
DockerCon EU 2017 Recap
 
CI CD using Docker and Jenkins
CI CD  using Docker and JenkinsCI CD  using Docker and Jenkins
CI CD using Docker and Jenkins
 
How to Modernize Virtualized Workloads
How to Modernize Virtualized Workloads  How to Modernize Virtualized Workloads
How to Modernize Virtualized Workloads
 
Docker cloud hybridation & orchestration
Docker cloud hybridation & orchestrationDocker cloud hybridation & orchestration
Docker cloud hybridation & orchestration
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
 
Migrating to Microservices – It's Easier Than You Think
Migrating to Microservices – It's Easier Than You ThinkMigrating to Microservices – It's Easier Than You Think
Migrating to Microservices – It's Easier Than You Think
 
Transforming The Government - KubeCon
Transforming The Government - KubeConTransforming The Government - KubeCon
Transforming The Government - KubeCon
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 

Destaque

Portfolio-Mang_TECH_Fall-2016
Portfolio-Mang_TECH_Fall-2016Portfolio-Mang_TECH_Fall-2016
Portfolio-Mang_TECH_Fall-2016Jason Wyman
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art TechnologiesSangYun Yi
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016Colin Charles
 
The OpenStack Cloud at CERN - OpenStack Nordic
The OpenStack Cloud at CERN - OpenStack NordicThe OpenStack Cloud at CERN - OpenStack Nordic
The OpenStack Cloud at CERN - OpenStack NordicTim Bell
 
Galera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesGalera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesSeveralnines
 
4G Mobile Network & Applications
4G Mobile Network & Applications4G Mobile Network & Applications
4G Mobile Network & ApplicationsKuncoro Wastuwibowo
 

Destaque (10)

Sexualidad
SexualidadSexualidad
Sexualidad
 
Portfolio-Mang_TECH_Fall-2016
Portfolio-Mang_TECH_Fall-2016Portfolio-Mang_TECH_Fall-2016
Portfolio-Mang_TECH_Fall-2016
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016
 
The OpenStack Cloud at CERN - OpenStack Nordic
The OpenStack Cloud at CERN - OpenStack NordicThe OpenStack Cloud at CERN - OpenStack Nordic
The OpenStack Cloud at CERN - OpenStack Nordic
 
Xgboost
XgboostXgboost
Xgboost
 
2016 年春季嵌入式作業系統課程說明
2016 年春季嵌入式作業系統課程說明2016 年春季嵌入式作業系統課程說明
2016 年春季嵌入式作業系統課程說明
 
Galera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesGalera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction Slides
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
4G Mobile Network & Applications
4G Mobile Network & Applications4G Mobile Network & Applications
4G Mobile Network & Applications
 

Semelhante a Containers: Don't Skeu Them Up, Use Microservices Instead

Containers: Don't Skeu Them Up (LinuxCon Dublin)
Containers: Don't Skeu Them Up (LinuxCon Dublin)Containers: Don't Skeu Them Up (LinuxCon Dublin)
Containers: Don't Skeu Them Up (LinuxCon Dublin)Gordon Haff
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSMesosphere Inc.
 
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...danielschulz2005
 
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...Dana Gardner
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
Docker with Micro Service and WebServices
Docker with Micro Service and WebServicesDocker with Micro Service and WebServices
Docker with Micro Service and WebServicesSunil Yadav
 
Docker's value for Development Teams in a DevOps Process
Docker's value for Development Teams in a DevOps ProcessDocker's value for Development Teams in a DevOps Process
Docker's value for Development Teams in a DevOps ProcessLaurent Goujon
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Liran Levy
 
Revolutionizing DevOps and CI/CD
Revolutionizing DevOps and CI/CDRevolutionizing DevOps and CI/CD
Revolutionizing DevOps and CI/CDBahaa Al Zubaidi
 
How to Contribute to Cloud Native Computing Foundation
How to Contribute to Cloud Native Computing FoundationHow to Contribute to Cloud Native Computing Foundation
How to Contribute to Cloud Native Computing FoundationCodeOps Technologies LLP
 
How to contribute to cloud native computing foundation (CNCF)
How to contribute to cloud native computing foundation (CNCF)How to contribute to cloud native computing foundation (CNCF)
How to contribute to cloud native computing foundation (CNCF)Krishna-Kumar
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Steve Wilson
 
Adopting DevOps at Scale on AWS with VirtusaPolaris
Adopting DevOps at Scale on AWS with VirtusaPolarisAdopting DevOps at Scale on AWS with VirtusaPolaris
Adopting DevOps at Scale on AWS with VirtusaPolarisAmazon Web Services
 
Best Practices for Microservice CI/CD: Lessons from Expedia and Codefresh
Best Practices for Microservice CI/CD: Lessons from Expedia and CodefreshBest Practices for Microservice CI/CD: Lessons from Expedia and Codefresh
Best Practices for Microservice CI/CD: Lessons from Expedia and CodefreshCodefresh
 
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...Ashnikbiz
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.anilpmuvvala
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.anilpmuvvala
 
Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOpsGordon Haff
 
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...Docker, Inc.
 

Semelhante a Containers: Don't Skeu Them Up, Use Microservices Instead (20)

Containers: Don't Skeu Them Up (LinuxCon Dublin)
Containers: Don't Skeu Them Up (LinuxCon Dublin)Containers: Don't Skeu Them Up (LinuxCon Dublin)
Containers: Don't Skeu Them Up (LinuxCon Dublin)
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OS
 
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
 
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
HPE’s Erik Vogel on Key Factors for Driving Success in Hybrid Cloud Adoption ...
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Docker with Micro Service and WebServices
Docker with Micro Service and WebServicesDocker with Micro Service and WebServices
Docker with Micro Service and WebServices
 
Docker's value for Development Teams in a DevOps Process
Docker's value for Development Teams in a DevOps ProcessDocker's value for Development Teams in a DevOps Process
Docker's value for Development Teams in a DevOps Process
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
Revolutionizing DevOps and CI/CD
Revolutionizing DevOps and CI/CDRevolutionizing DevOps and CI/CD
Revolutionizing DevOps and CI/CD
 
How to Contribute to Cloud Native Computing Foundation
How to Contribute to Cloud Native Computing FoundationHow to Contribute to Cloud Native Computing Foundation
How to Contribute to Cloud Native Computing Foundation
 
How to contribute to cloud native computing foundation (CNCF)
How to contribute to cloud native computing foundation (CNCF)How to contribute to cloud native computing foundation (CNCF)
How to contribute to cloud native computing foundation (CNCF)
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!
 
Adopting DevOps at Scale on AWS with VirtusaPolaris
Adopting DevOps at Scale on AWS with VirtusaPolarisAdopting DevOps at Scale on AWS with VirtusaPolaris
Adopting DevOps at Scale on AWS with VirtusaPolaris
 
Best Practices for Microservice CI/CD: Lessons from Expedia and Codefresh
Best Practices for Microservice CI/CD: Lessons from Expedia and CodefreshBest Practices for Microservice CI/CD: Lessons from Expedia and Codefresh
Best Practices for Microservice CI/CD: Lessons from Expedia and Codefresh
 
What_is_DevOps.pptx
What_is_DevOps.pptxWhat_is_DevOps.pptx
What_is_DevOps.pptx
 
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
Docker Enterprise Edition Overview by Steven Thwaites, Technical Solutions En...
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
 
Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOps
 
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
A Story of Cultural Change: PayPal's 2 Year Journey to 150,000 Containers wit...
 

Mais de LF Events

Feature rich BTRFS is Getting Richer with Encryption
Feature rich BTRFS is Getting Richer with EncryptionFeature rich BTRFS is Getting Richer with Encryption
Feature rich BTRFS is Getting Richer with EncryptionLF Events
 
KASan in a Bare-Metal Hypervisor
 KASan in a Bare-Metal Hypervisor  KASan in a Bare-Metal Hypervisor
KASan in a Bare-Metal Hypervisor LF Events
 
Efficient kernel backporting
Efficient kernel backportingEfficient kernel backporting
Efficient kernel backportingLF Events
 
Raspberry pi Update - Encourage your IOT
Raspberry pi Update - Encourage your IOTRaspberry pi Update - Encourage your IOT
Raspberry pi Update - Encourage your IOTLF Events
 
Introduction to Open-O
Introduction to Open-OIntroduction to Open-O
Introduction to Open-OLF Events
 
CNCF and Fujitsu
CNCF and FujitsuCNCF and Fujitsu
CNCF and FujitsuLF Events
 
SR-IOV ixgbe Driver Limitations and Improvement
SR-IOV ixgbe Driver Limitations and ImprovementSR-IOV ixgbe Driver Limitations and Improvement
SR-IOV ixgbe Driver Limitations and ImprovementLF Events
 
NVMe Over Fabrics Support in Linux
NVMe Over Fabrics Support in LinuxNVMe Over Fabrics Support in Linux
NVMe Over Fabrics Support in LinuxLF Events
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boardsLF Events
 
Taking over to the Next Generation
Taking over to the Next GenerationTaking over to the Next Generation
Taking over to the Next GenerationLF Events
 
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...LF Events
 
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...LF Events
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT GatewayLF Events
 
Trading Derivatives on Hyperledger
Trading Derivatives on HyperledgerTrading Derivatives on Hyperledger
Trading Derivatives on HyperledgerLF Events
 
Introducing Oracle Linux and Securing It With ksplice
Introducing Oracle Linux and Securing It With kspliceIntroducing Oracle Linux and Securing It With ksplice
Introducing Oracle Linux and Securing It With kspliceLF Events
 
Boost UDP Transaction Performance
Boost UDP Transaction PerformanceBoost UDP Transaction Performance
Boost UDP Transaction PerformanceLF Events
 

Mais de LF Events (16)

Feature rich BTRFS is Getting Richer with Encryption
Feature rich BTRFS is Getting Richer with EncryptionFeature rich BTRFS is Getting Richer with Encryption
Feature rich BTRFS is Getting Richer with Encryption
 
KASan in a Bare-Metal Hypervisor
 KASan in a Bare-Metal Hypervisor  KASan in a Bare-Metal Hypervisor
KASan in a Bare-Metal Hypervisor
 
Efficient kernel backporting
Efficient kernel backportingEfficient kernel backporting
Efficient kernel backporting
 
Raspberry pi Update - Encourage your IOT
Raspberry pi Update - Encourage your IOTRaspberry pi Update - Encourage your IOT
Raspberry pi Update - Encourage your IOT
 
Introduction to Open-O
Introduction to Open-OIntroduction to Open-O
Introduction to Open-O
 
CNCF and Fujitsu
CNCF and FujitsuCNCF and Fujitsu
CNCF and Fujitsu
 
SR-IOV ixgbe Driver Limitations and Improvement
SR-IOV ixgbe Driver Limitations and ImprovementSR-IOV ixgbe Driver Limitations and Improvement
SR-IOV ixgbe Driver Limitations and Improvement
 
NVMe Over Fabrics Support in Linux
NVMe Over Fabrics Support in LinuxNVMe Over Fabrics Support in Linux
NVMe Over Fabrics Support in Linux
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boards
 
Taking over to the Next Generation
Taking over to the Next GenerationTaking over to the Next Generation
Taking over to the Next Generation
 
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
 
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT Gateway
 
Trading Derivatives on Hyperledger
Trading Derivatives on HyperledgerTrading Derivatives on Hyperledger
Trading Derivatives on Hyperledger
 
Introducing Oracle Linux and Securing It With ksplice
Introducing Oracle Linux and Securing It With kspliceIntroducing Oracle Linux and Securing It With ksplice
Introducing Oracle Linux and Securing It With ksplice
 
Boost UDP Transaction Performance
Boost UDP Transaction PerformanceBoost UDP Transaction Performance
Boost UDP Transaction Performance
 

Último

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxjbellis
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Paige Cruz
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxMasterG
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 

Último (20)

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 

Containers: Don't Skeu Them Up, Use Microservices Instead

  • 1. CONTAINERS: DON'T SKEU THEM UP USE MICROSERVICES INSTEAD Gordon Haff, Technology Evangelist, @ghaff, ghaff@redhat.com William Henry, DevOps Strategy Lead, @ipbabble, whenry@redhat.com 14 July 2016
  • 2. CONTAINERS ARE Software packaging concept that typically includes an application/service and all of its runtime dependencies Simplified management (plus packaging and orchestration) of a set of tools that have existed within Linux for a long time Portability across diverse environments Isolated through a variety of Linux features
  • 3. CONTAINERS ISOLATE WORKLOADS BUT CONTAINERS ARE NOT Server virtualization
  • 4. WHY SERVER VIRTUALIZATION HAPPENED Mainstream hardware availability Server consolidation Cost reduction (remember dot-bomb?) Minimal change to operational model
  • 6. A skeuomorph / skjuːəmɔrf/ is a derivative object that retains ornamental design cues from structures that were necessary in the original. Examples include pottery embellished with imitation rivets reminiscent of similar pots made of metal and a software calendar that imitates the appearance of binding on a paper desk calendar. Wikipedia
  • 7. THE CASE AGAINST SKEUOMORPHS
  • 8. SO DON'T DO THAT
  • 9. CONTAINERS ARE FOR ANTS Scale-out Short-lived Single-function Component of a larger whole Replacable Less stateful WARNING! OVERSIMPLIFICATION ALERT! Source: https://www.flickr.com/photos/pondapple/6502194585
  • 13.
  • 14. IMPORTANT DIFFERENCES Source: PWC Lighter-weight communications protocols Improved understanding of functional separation More open source and vendor- neutral philosophies Scale-out infrastructure standardization and automation Alignment with evolving practices such as DevOps
  • 15. AUTONOMOUS Data and functionality exposed only through service calls over the network Designed to be externalizable No back-doors
  • 16. BOUNDED CONTEXT Avoid having to know too much about the surrounding services Can be modified or updated independently Should be robust in the face of changes to other services
  • 17. SMALL Well-defined function "Fits in your head" Owned by a single cross-functional team Organized around business capabilities (Conway's Law) Source: Kathy CC/Flickr https://flic.kr/p/b9fFV
  • 18. SIGNS YOU MIGHT NEED MICROSERVICES Having trouble coordinating function teams like DBAs and UI engineers Brittle apps. Minor changes cause major breakage Your CICD process is bogged down by big deployments Different teams keep reinventing the wheel (in gratuitously different ways) Hard to experiment Source: Daniel Pratts CC/flickr https://flic.kr/p/7RE6yc
  • 19. ADVANTAGES Easier for teams to pick the right tool for the job Easier for teams to pick an appropriate release cycle Easier to build resiliency and scale-out Easier to do updates and CICD Potentially more scalable Easier to do DevOps! Source: KegRiver CC/flickr https://flic.kr/p/at2Jt2
  • 20. ON THE OTHER HAND Source: CC/flickr https://www.flickr.com/photos/firstdown/2456119103 Architectural effort Service boundaries Communication overhead Do you need it?
  • 21. NOT EVERYTHING IS A MICROSERVICE Cost of migrating existing apps May not need the scale Monoliths may be the first step even for cloud native Containerization has benefits even without microservices Broader idea of twelve-factor apps Evolutionary approaches often most practical Source: Eric Fischer CC/flickr https://www.flickr.com/photos/walkingsf/4622376356E
  • 22. COMMON THREAD: NEED TO RUN AS AN ORCHESTRATED (API-CENTRIC) SYSTEM Source: CC/flickr https://www.flickr.com/photos/42931449 www.planetofsuccess.com/blog/
  • 23. EVERYONE IS SCALING Not just unicorns and mammoths Three main use cases: Large scale workloads Diverse workloads Complex resource management Source: Google
  • 24. WE HAVE "BIG" WORKLOADS What scale? A big cluster or many small ones? Throughput? Scheduling frequency? How much availability required? Source: Darth Vader
  • 25. WE HAVE DIVERSE WORKLOADS Conventional or cloud native? What type of workloads? CI/CD (e.g. Jenkins) Data analytics (e.g. Spark, Storm) Batch (e.g. Chronos, Mesos) Workflows Containers (e.g. Kubernetes) Single cluster sharing the workloads?
  • 26. WE NEED RESOURCE MANAGEMENT What policies are needed? Compliance Multi-tenancy Dependency management Avoiding repeated failures Persistent volume services Dynamic reservations
  • 27. HARD PARTS Hardest is political/people How do you test, deploy and manage? Untangling existing apps and defining service boundaries for new ones Clusters and memory at scale New availability mechanisms Emergent behaviors Source: Keith Allison CC/flickr https://flic.kr/p/abGcs9
  • 28. BRINGING IT ALL TOGETHER
  • 29. DEVELOPERS GET Self-service Multiple interaction models Polyglot, multi-language support xPaaS services Immutable, container-based platform Automation for application builds, deployments, scaling, and health management Persistent storage option
  • 30. Text PULLS TOGETHER OPEN SOURCE INNOVATION