Immutable Infrastructure With Docker and EC2 Docker Conf 2014 Michael Bryzek CTO & Co-Founder Gilt

Slides:



Advertisements
Similar presentations
Acquia Cloud Drupal Platform-as-a-Service. Market Size [1,00,000+ sites] Innovation [10,000+ modules] Community [500,000+ members] “… is as much a Social.
Advertisements

Why wait... Solve your customers’ problems today. Simon Cuthbert – Sales Director, EMEA Nick Bond – Pre-Sales Engineer Zeus Technology.
© 2014 VMware Inc. All rights reserved. BlazeMeter Load Testing Solution with vCloud Air High-level Overview Jan 2015.
High-performing organizations are deploying code 30 times more frequently, with 50 percent fewer failures than their lower-performing counterparts. 1 1.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
© copyright 2014 BMC Software, Inc. DevOps consultant Niek Bartholomeus Going DevOps with BMC.
Pras Biswas SOLUTION ARCHITECT Cloud Migration Methodology.
Accelerating Product and Service Innovation © 2013 IBM Corporation IBM Integrated Solution for System z Development (ISDz) Henk van der Wijk 23 Januari.
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
@atseitlin Fast, Reliable, Secure May 27, About me Scale Venture Partners Operations & Cloud Netflix Founder.
Cultural Change using Docker Dockerizing #dockercon.
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
Getting to Push Button Deploys Moovweb January 19, 2012.
Achieving Agility with WSO2 App Factory S. Uthaiyashankar Director, Cloud Solutions WSO2 Inc. Dimuthu Leelarathne Software Architect WSO2 Inc.
Platform Upgrades As A Service Raj Nagarajan, Robert Enyedi.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
The Future of the iPlant Cyberinfrastructure: Coming Attractions.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
Continuous Delivery on AWS
INFSO-RI SA1 Service Management Alberto AIMAR (CERN) ETICS 2 Final Review Brussels - 11 May 2010.
Website s Azure Websites is an enterprise class cloud solution for developing, testing and running web apps. Azure Websites allows you to focus on what.
Continous Integration & Continous Deployment - For the new nameserver infrastructures of DENIC eG 15/10/03 – Christian Petrasch
RIVERBED INTRODUCES NEW PLATFORM FOR ADC-AS-A-SERVICE New Stingray Services Controller Delivers Hyper-Elastic ADC Platform EXTREME ELASTICITY INSTANTLY.
© Equal Experts UK Ltd and lyndsayp simple software solutions to big business problems. Making Software. Better. Smoothing.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Introduction To BlueMix By: Ryan
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 1 Automate your way to.
Optimal Pipeline Using Perforce, Jenkins & Puppet Nitin Pathak Works on
Stairway to the cloud or can we take the highway? Taivo Liik.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
G-Cloud - The Delivery of a Shared Computing Platform for Government Ian Osborne Director, Digital Systems KTN Intellect.
Cisco Consulting Services for Application-Centric Cloud Your Company Needs Fast IT Cisco Application-Centric Cloud Can Help.
The Next Level Of Agile: DevOps and CD אוקטובר 2015.
TICKETMASTER CULTURE EATS STRATEGY FOR
© 2013 IBM Corporation Accelerating Product and Service Innovation Leveraging IBM SmartCloud in UrbanCode Deploy Michael Elder, IBM Senior Technical Staff.
Streamlining the development of your mobile app(s) Frequently releasing value to users Constantly maintaining quality Monitoring app health and engagement.
Benjamin Day Get Good at DevOps: Feature Flag Deployments with ASP.NET, WebAPI, & JavaScript.
An Introduction to SaaS and Cloud Computing Ross Cooney.
Bluemix for Domino Developers Niklas Heidloff, heidloff.net.
Thanks to our Sponsors! Community Sponsor Yearly Sponsor Marquee Sponsor.
Structured Container Delivery Oscar Renalias Accenture Container Lead (NOTE: PASTE IN PORTRAIT AND SEND BEHIND FOREGROUND GRAPHIC FOR CROP)
Top Docker Cloud Software Hosting PaaS Providers in Australia
READ ME FIRST Use this template to create your Partner datasheet for Azure Stack Foundation. The intent is that this document can be saved to PDF and provided.
11/19/2017 9:41 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Figure 1. Gartner DevOps Model
Emerging Trends in Nuclear Information Management
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
DevOps Cloud Native Microservices
What is Apertis? Apertis is a versatile open source infrastructure tailored to the automotive needs and fit for a wide variety of electronic devices.
GWE Core Grid Wizard Enterprise (
Production Line Architecture
Production Line Architecture
4th Forum How to easily offer your application as a self-service template by using OpenShift and GitLab-CI 4th Forum Alberto.
Cloud Ops Master Class:
Continuous Deployment tool
Continuous Performance Engineering
Using docker containers
Microsoft Connect /17/ :34 AM
Real Testing Scenario Strategy: Bringing this all together – Success!
Confidential – Oracle Internal/Restricted/Highly Restricted
Cloud Migrations Pose Important Questions
Continuous Delivery good & bad 4/20/2012
Presented by Bogdan Stanca-Kaposta (Spirent)
Cloud Computing: Concepts
OpenStack Summit Berlin – November 14, 2018
Containerization & AWS Migration Services
Erik Vollebekk Application Architect
Applying 3C DevOps approach in Mobility World
Digital Transformation & Compile to Combat in 24 Hours (C2C24)
Presentation transcript:

Immutable Infrastructure With Docker and EC2 Docker Conf 2014 Michael Bryzek CTO & Co-Founder Gilt

What is Gilt? Founded in 2007 World’s best brands and products at 50-70% off New products launch at noon EST Limited inventory – products constantly sell out Over 1000 employees

Gilt Tech ~150 people Strategy to attract great people and enable them to innovate Lots of Small Teams Micro services architecture 300+ services ~1000 git repos Busy days see > 100 production releases > 10k requests / second

Immutable Infrastructure Why it Matters We believe innovation fuels growth. Part of our strategy to accelerate innovation Is to create truly autonomous teams Supported by tooling and automated processes to relentlessly decrease risk of change

Lots of Small Applications (LOSA) Technology Strategy focused on: Autonomy Decentralization Parallelism Isolation

Teams and LOSA Lots of Small Teams 4-10 people / team Have all “ingredients” to succeed Deliver across stack for most projects

Defining Risk

Move Fast with Minimal Risk What that Actually Means

Defining Risk Probability (event) * Cost(event) * Number of occurrences There is a risk to doing nothing

Reducing Probability(event) Testing Manual or Automated Prefer automated for long term Not making changes Peer review Kaizen Immutability Ownership / Pride Experience

Reducing Cost(event) Small change sets Verification in target environment Incremental rollout Automated rollout / rollback

Reducing NumberOccurrences(event) Instant Rollback Great Monitoring and Alerting

Modern Software Deployment 1.Foundation of continuous delivery 2.Each deploy immutable 3.Incremental rollout 4.Metrics and alerting

Continuous Gilt Pre Docker sbt release-remote 1.Build an RPM in Jenkins 2.Deploy RPM to test environment 3.Run unit and integration tests 4.Deploy to one node in production 5.Run healthcheck, auto rollback if necessary 6.Repeat 4-6 on remaining nodes

Continuous Gilt w/ Docker ionblaster new api ionblaster traffic api Build docker container 2.Create new “stack” of infrastructure 3.Run container on each node in stack 4.Assign DNS to new stack 5.Manage traffic from old to new

ionblaster new api 0.4.2

Immutable Infrastructure / Docker Huge win w/ docker Dependencies in Dockerfile Focus instead on cloud and new stacks

Docker and Play Framework $ sbt stage $ more api/Dockerfile FROM giltarchitecture/ ubuntu-openjdk-7-jre-headless: ADD. /apidoc ENTRYPOINT ["/apidoc/bin/apidoc-api"]

Sample command to start play container image -run “ --expose 80 -p 9000:80 giltarchitecture/apidoc-api –Dhttp.port=90 -Dconfig.resource=xxx.conf ”

Immutability w/ Docker Immutability emerges naturally when using Docker Upgrade Java? New version, new infrastructure, new containers. Security patch? New version, new infrastructure, new containers. Eliminate surprise for application owners.

Automate Incremental Rollout Core area of focus now ionroller api “24 hours” Measure response time and status codes - triggers based on tolerance between versions

Instant Rollback If prior version around – just move traffic ionblaster traffic api If not, same as before - deploy version But then can revise garbage collection policy for the app to decrease risk of a future event. (Kaizen)

Amazing Metrics and Alerting Reporting and alerting is hard Used nagios, graphite, open TSDB w/ limited success. We are now building a REST API for alerting on top of influxdb (open source time series db). Plan to open source if successful.

Lessons Learned: Incremental Rollout Minimize number of versions in production at any one time – e.g. “at most 2” Garbage collection important, but keep prior versions around for long enough (1 day? 1 week?) Different apps have different requirements on rollout time – back to calculation of Risk and the Cost(event)

Lessons Learned - PAAS You must have platform as a service; impossible to build well if not your core business. It’s tempting to build out a PAAS; but the number of tools needed to make this work reliably at scale is large.

Lessons Learned: Alerting Core interface: Send me at most one alert every n hours Core challenge always: Signal to noise ratio critical and first class Human tendency to ignore over time

Immutable Infra w/ Docker and EC2 Decrease Probability(Event) Immutability Decrease Cost(Event) Verification in target env w/ no user traffic Incremental Rollout Automated rollout/rollback Reduce NumberOccurrences(event) Instant Rollback

Thank You Michael Bryzek CTO & Co-Founder Gilt