SlideShare a Scribd company logo
From Months to Minutes
How GE Appliances Brought Docker Into the Enterprise
Nguyen Dang Quang – Cloud Solution Architect
From Months to Minutes
How GE Appliances Brought Docker Into the Enterprise
Tom Barber – Cloud Computing Technologist Brett
Luckabaugh – Enterprise Software Architect
GE Appliances
GE Appliances is at the forefront of building
innovative, energy-efficient appliances that
improve people’s lives.
•
•
•
Headquartered in Louisville, KY
$5 Billion+ in revenue
12,000+ employees
geappliances.com
Our Team
Byron Guernsey Ryan GrothouseKeenan Gizzi
Allan Clark Priya Ramaswamy Eric SageJason Burks
Kevin PriceJustin Roberts
James Strong
Tom Barber
Brett Luckabaugh
About as enterprise IT as you can get…
Open
project
ticket
1 day
Meet with
Project
leader
3 days
Open infra
tickets
3 days
Infra manually built
1 week
Infra audited
1 week
6 weeks!
Software/app
configured
1 week
Repeatable Reproducible
I’ll have 1 cloud please…
•
•
•
•
Mid 2012: Formation of a cloud focused team with an
agile culture
Goals: Automate Infrastructure, Modernize Paradigm
Leveraged Puppet
1 year to self-service IaaS solution
That’s a little more like it…
3 weeks
Repeatable Reproducible
15 minutes
Request VM from
portal
Software/app configured
1 week
Good start... Now what?
•
•
•
•
2013: Improve IaaS
Exploring self-service application platform
(PaaS) automation
Leverage Puppet as our PaaS toolset
App owners develop and contribute to puppet
modules
Eh…maybe not so much
•
•
•
Terrible rate of adoption
- High barrier to entry for app owners
- Reluctant to learn or write Puppet despite industry training
- Highly heterogeneous environment with proprietary apps
Our Team – The Bottleneck
Generic Builds
- Avoiding automation
- Manually configured environments -> snowflakes
- Access and privilege restrictions
- Tickets and waiting
- No way to quickly replicate environments
It’s not you…it’s me
•
•
•
Early 2014 - Our team was having success with
Puppet for IaaS and DBaaS
However, our larger organization was not
having success using Puppet for self-service
PaaS
But where do we go from here?
What about this Docker…
•
•
Started at DockerCon 2014
Docker + Mesosphere - August 2014
- Docker
•
•
•
High portability
Lower barrier to entry -> possibly drive greater adoption? – if
you can use a shell, you can grasp a Dockerfile
- Mesosphere
Fast deployments, scheduling of tasks, scaling, management
of containers, self-healing/fault tolerant, simplification of
datacenter management
Our self-service gap
•
•
Process gap between Docker and our Users
- No shell access to Docker
- Can’t deploy Docker from Marathon UI
- Users not going to build API calls
- Lets not just turn everyone loose on the full API
How do we bridge that Gap?
- Looked for tools in August 2014, found none that
really met our needs
What’s Voyager?
•
•
•
Web application to bridge the gap
Three person team developed initial MVP version in
2 weeks
MVP features:
- Automated Docker builds without shell access
- Images built from GitHub repositories
- Configurable RESTful service discovery/load balancing
- UI and APIs to tie it all together
•
•
UI – ease of use for all
APIs – enable continuous integration
HAProxy
I can haz DevOps?
< 30 minutes
Write Dockerfile
30 seconds
Request in Voyager
Repeatable
Reproducible
I think our compliance lead just exploded…
•
•
•
•
New concept of immutable infrastructure
- ITIL/Compliance
- How do I ssh? Which Server?
- What do I do if my app instances are having problems?
Education gap on Docker principals
Highly heterogeneous environment
- How do I support everything, but do it well?
Security
- Freedom to put whatever in container?
It’s all about that app…
• A focus shift from infrastructure to app
- ITIL/Compliance
•
•
Policies and processes historically geared towards infrastructure
Must shift to the app in this model
•
•
Provide Education
- Help users differentiate images/containers, encourage environment variable
configuration, best practices
Adding features constantly, but carefully
- Highly heterogeneous environment
•
•
Focus on being really good at running Docker containers
Balance accommodating everything with keeping it simple
Dude…where's my server?
•
•
How do I ssh? Which Server?
- No shell is an adjustment
- External log shipping provides insight
- Encourage new mindset with uneasy app owners
What do I do if my app instances are having
problems?
- Break our old habits of server hugging
- Just throw bad ones away and replace
- Cheapening of app delivery enables this
Bro…it’s probably fine
• Security
- Double edged sword - freedom vs. control
•
•
•
•
•
Encourage best practices
Education
Minimize container footprint/attack vectors
Shift/decentralize security responsibility to app teams
App teams take over patching
So does it work?
•
•
•
Benefits
- Instant scalability
- 14x density
User feedback on usability is positive
Docker adoption rates are high
- Currently running 350+ apps = 800+ containers, and growing daily
- Our most critical applications are running in Docker
Flexibility
- Supports legacy applications well
- Enables modern practices - micro-services and continuous integration
•
1954 – GE Appliance Park – First non-
government owned computer - Univac-1
Serial Number 8
Fast forward 61 years…
•
•
•
•
Same data center, slightly different hardware
Ongoing project to move apps to new private
and public clouds
Planned exit strategy -> multiple years
With Docker in the fold?
- Completed so far 45%+ in ~4 months
So where do we go next?
•
•
Broad Open Issues
- Windows support?
- Persistent storage?
- Networking (SDN containers)?
Organizational Goals
- Oracle ERP in Docker?
- Drive density - 1000’s of containers per blade
- Too many load balancers -> containerize -> improve service discovery
- Honeybadger - Multi-cloud spanning/support
- Pushing Docker’s portability to its logical conclusion
Thank you
Tom Barber
thomas.barber@ge.com
@barberta2
Brett Luckabaugh
brett.luckabaugh@ge.com
@OverflownStack

More Related Content

What's hot

How to accelerate docker adoption with a simple and powerful user experience
How to accelerate docker adoption with a simple and powerful user experienceHow to accelerate docker adoption with a simple and powerful user experience
How to accelerate docker adoption with a simple and powerful user experience
Docker, Inc.
 

What's hot (20)

Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, CloudbeesReduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
 
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben BonnefoyContribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
Contribute 101: Compose/Kitematic/Machine by Ben Bonnefoy
 
Azure container service docker-ha noi com
Azure container service   docker-ha noi comAzure container service   docker-ha noi com
Azure container service docker-ha noi com
 
How to accelerate docker adoption with a simple and powerful user experience
How to accelerate docker adoption with a simple and powerful user experienceHow to accelerate docker adoption with a simple and powerful user experience
How to accelerate docker adoption with a simple and powerful user experience
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategy
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaS
 
Cloud foundry: The Platform for Forging Cloud Native Applications
Cloud foundry: The Platform for Forging Cloud Native ApplicationsCloud foundry: The Platform for Forging Cloud Native Applications
Cloud foundry: The Platform for Forging Cloud Native Applications
 
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
 
Boston Cloud Foundry Meetup 5-22-14
Boston Cloud Foundry Meetup 5-22-14Boston Cloud Foundry Meetup 5-22-14
Boston Cloud Foundry Meetup 5-22-14
 
Understanding Containers through Gaming by Brendan Fosberry
Understanding Containers through Gaming by Brendan Fosberry Understanding Containers through Gaming by Brendan Fosberry
Understanding Containers through Gaming by Brendan Fosberry
 
Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...
 
Building a Platform-as-a-Service with Docker and Node.js
Building a Platform-as-a-Service with Docker and Node.jsBuilding a Platform-as-a-Service with Docker and Node.js
Building a Platform-as-a-Service with Docker and Node.js
 
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
 
Dev with Docker WCPHX 2019
Dev with Docker WCPHX 2019Dev with Docker WCPHX 2019
Dev with Docker WCPHX 2019
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS
 
KUBERNETES AS A FRAMEWORK FOR WRITING DEVOPS & MICROSERVICES TOOLING
KUBERNETES AS A FRAMEWORK FOR WRITING DEVOPS & MICROSERVICES TOOLINGKUBERNETES AS A FRAMEWORK FOR WRITING DEVOPS & MICROSERVICES TOOLING
KUBERNETES AS A FRAMEWORK FOR WRITING DEVOPS & MICROSERVICES TOOLING
 
Hands on docker
Hands on dockerHands on docker
Hands on docker
 
Docker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker CloudDocker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker Cloud
 
Docker and Containers in the Cloud
Docker and Containers in the CloudDocker and Containers in the Cloud
Docker and Containers in the Cloud
 

Similar to DockerDay 2015: From months to minutes - How GE appliances brought docker into the enterprise

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
Devopsdays
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
jaxconf
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
santosh007
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
ifnu bima
 

Similar to DockerDay 2015: From months to minutes - How GE appliances brought docker into the enterprise (20)

DockerCon SF 2015: From Months to Minutes
DockerCon SF 2015: From Months to MinutesDockerCon SF 2015: From Months to Minutes
DockerCon SF 2015: From Months to Minutes
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Devops - why, what and how?
Devops - why, what and how?Devops - why, what and how?
Devops - why, what and how?
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
 
Why kubernetes matters
Why kubernetes mattersWhy kubernetes matters
Why kubernetes matters
 
Webcast: DevOps in AWS is different! How can containers help?
Webcast: DevOps in AWS is different! How can containers help? Webcast: DevOps in AWS is different! How can containers help?
Webcast: DevOps in AWS is different! How can containers help?
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
Kubernetes is all you need
Kubernetes is all you needKubernetes is all you need
Kubernetes is all you need
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
 
DevOps and Microservice
DevOps and MicroserviceDevOps and Microservice
DevOps and Microservice
 

More from Docker-Hanoi

More from Docker-Hanoi (19)

ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm ModeContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm Mode
 
ContainerDayVietnam2016: Docker 1.12 at OpenFPT
ContainerDayVietnam2016: Docker 1.12 at OpenFPTContainerDayVietnam2016: Docker 1.12 at OpenFPT
ContainerDayVietnam2016: Docker 1.12 at OpenFPT
 
ContainerDayVietnam2016: Become a Cloud-native Developer
ContainerDayVietnam2016: Become a Cloud-native DeveloperContainerDayVietnam2016: Become a Cloud-native Developer
ContainerDayVietnam2016: Become a Cloud-native Developer
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
 
ContainerDayVietnam2016: Docker for JS Developer
ContainerDayVietnam2016: Docker for JS DeveloperContainerDayVietnam2016: Docker for JS Developer
ContainerDayVietnam2016: Docker for JS Developer
 
ContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStackContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStack
 
ContainerDayVietnam2016: Django Development with Docker
ContainerDayVietnam2016: Django Development with DockerContainerDayVietnam2016: Django Development with Docker
ContainerDayVietnam2016: Django Development with Docker
 
ContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with MesosContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with Mesos
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
ContainerDayVietnam2016: Hybrid and Automation System Architecture
ContainerDayVietnam2016: Hybrid and Automation System ArchitectureContainerDayVietnam2016: Hybrid and Automation System Architecture
ContainerDayVietnam2016: Hybrid and Automation System Architecture
 
Azure Container Service
Azure Container ServiceAzure Container Service
Azure Container Service
 
Docker-Ha Noi- Year end 2015 party
Docker-Ha Noi- Year end 2015 partyDocker-Ha Noi- Year end 2015 party
Docker-Ha Noi- Year end 2015 party
 
DockerDay2015: Introduction to OpenStack Magnum
DockerDay2015: Introduction to OpenStack MagnumDockerDay2015: Introduction to OpenStack Magnum
DockerDay2015: Introduction to OpenStack Magnum
 
DockerDay2015: Docker orchestration for developers
DockerDay2015: Docker orchestration for developersDockerDay2015: Docker orchestration for developers
DockerDay2015: Docker orchestration for developers
 
DockerDay2015: Docker Networking
DockerDay2015: Docker NetworkingDockerDay2015: Docker Networking
DockerDay2015: Docker Networking
 
DockerDay2015: Docker orchestration for sysadmin
DockerDay2015: Docker orchestration for sysadminDockerDay2015: Docker orchestration for sysadmin
DockerDay2015: Docker orchestration for sysadmin
 
DockerDay2015: Getting started with Google Container Engine
DockerDay2015: Getting started with Google Container EngineDockerDay2015: Getting started with Google Container Engine
DockerDay2015: Getting started with Google Container Engine
 
DockerDay2015: Build and monitor a load balanced web application with Docker ...
DockerDay2015: Build and monitor a load balanced web application with Docker ...DockerDay2015: Build and monitor a load balanced web application with Docker ...
DockerDay2015: Build and monitor a load balanced web application with Docker ...
 
DockerDay2015: Introduction to Dockerfile
DockerDay2015: Introduction to DockerfileDockerDay2015: Introduction to Dockerfile
DockerDay2015: Introduction to Dockerfile
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 

DockerDay 2015: From months to minutes - How GE appliances brought docker into the enterprise

  • 1. From Months to Minutes How GE Appliances Brought Docker Into the Enterprise Nguyen Dang Quang – Cloud Solution Architect
  • 2. From Months to Minutes How GE Appliances Brought Docker Into the Enterprise Tom Barber – Cloud Computing Technologist Brett Luckabaugh – Enterprise Software Architect
  • 3. GE Appliances GE Appliances is at the forefront of building innovative, energy-efficient appliances that improve people’s lives. • • • Headquartered in Louisville, KY $5 Billion+ in revenue 12,000+ employees geappliances.com
  • 4. Our Team Byron Guernsey Ryan GrothouseKeenan Gizzi Allan Clark Priya Ramaswamy Eric SageJason Burks Kevin PriceJustin Roberts James Strong Tom Barber Brett Luckabaugh
  • 5. About as enterprise IT as you can get… Open project ticket 1 day Meet with Project leader 3 days Open infra tickets 3 days Infra manually built 1 week Infra audited 1 week 6 weeks! Software/app configured 1 week Repeatable Reproducible
  • 6. I’ll have 1 cloud please… • • • • Mid 2012: Formation of a cloud focused team with an agile culture Goals: Automate Infrastructure, Modernize Paradigm Leveraged Puppet 1 year to self-service IaaS solution
  • 7. That’s a little more like it… 3 weeks Repeatable Reproducible 15 minutes Request VM from portal Software/app configured 1 week
  • 8. Good start... Now what? • • • • 2013: Improve IaaS Exploring self-service application platform (PaaS) automation Leverage Puppet as our PaaS toolset App owners develop and contribute to puppet modules
  • 9. Eh…maybe not so much • • • Terrible rate of adoption - High barrier to entry for app owners - Reluctant to learn or write Puppet despite industry training - Highly heterogeneous environment with proprietary apps Our Team – The Bottleneck Generic Builds - Avoiding automation - Manually configured environments -> snowflakes - Access and privilege restrictions - Tickets and waiting - No way to quickly replicate environments
  • 10. It’s not you…it’s me • • • Early 2014 - Our team was having success with Puppet for IaaS and DBaaS However, our larger organization was not having success using Puppet for self-service PaaS But where do we go from here?
  • 11. What about this Docker… • • Started at DockerCon 2014 Docker + Mesosphere - August 2014 - Docker • • • High portability Lower barrier to entry -> possibly drive greater adoption? – if you can use a shell, you can grasp a Dockerfile - Mesosphere Fast deployments, scheduling of tasks, scaling, management of containers, self-healing/fault tolerant, simplification of datacenter management
  • 12. Our self-service gap • • Process gap between Docker and our Users - No shell access to Docker - Can’t deploy Docker from Marathon UI - Users not going to build API calls - Lets not just turn everyone loose on the full API How do we bridge that Gap? - Looked for tools in August 2014, found none that really met our needs
  • 13.
  • 14. What’s Voyager? • • • Web application to bridge the gap Three person team developed initial MVP version in 2 weeks MVP features: - Automated Docker builds without shell access - Images built from GitHub repositories - Configurable RESTful service discovery/load balancing - UI and APIs to tie it all together • • UI – ease of use for all APIs – enable continuous integration
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. I can haz DevOps? < 30 minutes Write Dockerfile 30 seconds Request in Voyager Repeatable Reproducible
  • 21. I think our compliance lead just exploded… • • • • New concept of immutable infrastructure - ITIL/Compliance - How do I ssh? Which Server? - What do I do if my app instances are having problems? Education gap on Docker principals Highly heterogeneous environment - How do I support everything, but do it well? Security - Freedom to put whatever in container?
  • 22. It’s all about that app… • A focus shift from infrastructure to app - ITIL/Compliance • • Policies and processes historically geared towards infrastructure Must shift to the app in this model • • Provide Education - Help users differentiate images/containers, encourage environment variable configuration, best practices Adding features constantly, but carefully - Highly heterogeneous environment • • Focus on being really good at running Docker containers Balance accommodating everything with keeping it simple
  • 23. Dude…where's my server? • • How do I ssh? Which Server? - No shell is an adjustment - External log shipping provides insight - Encourage new mindset with uneasy app owners What do I do if my app instances are having problems? - Break our old habits of server hugging - Just throw bad ones away and replace - Cheapening of app delivery enables this
  • 24. Bro…it’s probably fine • Security - Double edged sword - freedom vs. control • • • • • Encourage best practices Education Minimize container footprint/attack vectors Shift/decentralize security responsibility to app teams App teams take over patching
  • 25. So does it work? • • • Benefits - Instant scalability - 14x density User feedback on usability is positive Docker adoption rates are high - Currently running 350+ apps = 800+ containers, and growing daily - Our most critical applications are running in Docker Flexibility - Supports legacy applications well - Enables modern practices - micro-services and continuous integration •
  • 26. 1954 – GE Appliance Park – First non- government owned computer - Univac-1 Serial Number 8
  • 27. Fast forward 61 years… • • • • Same data center, slightly different hardware Ongoing project to move apps to new private and public clouds Planned exit strategy -> multiple years With Docker in the fold? - Completed so far 45%+ in ~4 months
  • 28. So where do we go next? • • Broad Open Issues - Windows support? - Persistent storage? - Networking (SDN containers)? Organizational Goals - Oracle ERP in Docker? - Drive density - 1000’s of containers per blade - Too many load balancers -> containerize -> improve service discovery - Honeybadger - Multi-cloud spanning/support - Pushing Docker’s portability to its logical conclusion
  • 29. Thank you Tom Barber thomas.barber@ge.com @barberta2 Brett Luckabaugh brett.luckabaugh@ge.com @OverflownStack