Thank you... ● Rob Harrop, Skipjaq ● Joe Baguley, VMware ● Alexis Richardson, Mathew Lodge, Weaveworks ● Joe Beda, James Cameron, Jake Flomenberg, Ping Li, Accel The bad bits are all mine.
Components of Agility... Agility Latency Throughput Scalability Delivery Pipeline Value chain Team Structure Architecture Contention Coherence (of your organisation and processes, not just your software!) CI/CD DevOps Containers Microservices Cloud How fast can you deliver software? + How fast can you respond to runtime changes? Orchestration
Understanding portability So there’s this thing called the public cloud... FROM: “we can’t move to the cloud because…” TO: “we’re moving to the public cloud, so we need to fix these issues...”
The drive to the cloud “Our goal is to be [able to be] 100% on the public cloud (any cloud). It’s just obvious. But we can’t be only on one public cloud…” - Don Duet, Head of Technology, Goldman Sachs Typical enterprise target: AWS + 1 + Data centres
Symbiosis Containers are the portability layer that enable enterprises to move aggressively towards public cloud with confidence. “We’re attaching to massively funded cloud projects left, right, and center...” - Scott Johnston, Docker
How portability drives Azure Container Service strategy ● Microsoft’s container efforts are open and standard ○ Partnered with Mesosphere and Docker on Azure rather than develop own schedulers ○ ACS is Linux-first, with Windows coming ○ Windows support is being done by contribution to Docker OSS “This is important to customers because in the fast-changing cloud ecosystem they want open systems without lock-in…” - John Gossman, Microsoft Azure Architect
CNCF Mission & Membership “The CNCF will harmonize emerging technologies and foster innovation in container packaged, dynamically scheduled, and microservices based application development and operations.”
Case study: Goldman Sachs Top three initiatives: 1. Velocity of Change 2. Private to Public 3. Proprietary to Open Scale of the challenge: ● 8K technical employees ● 5K applications ● 75K database instances ● 39 PB data (59% growth) ● 165K servers Vast majority already on internal cloud infrastructure Source: Don Duet, GS European Tech Founders Summit May 2016
Case Study: Skipjaq - Docker + Kubernetes Why containers? ● Hide underlying platforms (AWS, GCP, Azure, and vSphere) ● Flexible deployment topologies ● Local development ● Decouple packaging and topology Why kubernetes? ● Needed to be universal, not just AWS (e.g. ECS) ● Liked the pluggability of Kubernetes (logs, volumes, network, …)
Case Study: Skipjaq “The initial experience of going from no containers to basic kubernetes was incredibly smooth. It took about two weeks and we had a full stack running… All-in-all it was about seven weeks to get fully-integrated with kubernetes for volume management, service handling, log shipping, monitoring.” - Rob Harrop, CTO
Case Study: Skipjaq “We have containers from the developer desktop right through to production. The same containers can be arranged in clusters of varying size on platforms ranging from AWS to vSphere. We've isolated all the platform-specific bits into the thin layer that is the K8S cluster. Even their K8S tooling makes cluster config easy.” - Rob Harrop, CTO
Case Study: Atomist “We wanted a platform suited for the cloud, focusing mostly on resiliency to failure and evolvability. We also wanted an active, preferably open platform. Kubernetes and Docker Swarm rose to the top of the list… Kubernetes appeared to be geared for large scale deployments and have better engineering around ops. Docker was more geared towards developers…” - David Dooling, Atomist
State of the Market ● Everyone is winning! (A rising tide…) ● Containers are in production ● Revenue is now flowing ● Typical (enterprise) customer journey is 18 - 24 months
Amazon ECS “A growing number of AWS customers across healthcare, hospitality, media and entertainment, and other industries have embraced Docker and committed to going into production. We built Amazon EC2 Container Service (ECS) to be the best place for these customers to run Docker in production securely and at scale.” - Deepak Singh, Amazon ECS. ● ECS is a result of the traction the AWS team were already seeing ● Container management, scheduling, and deep integration with AWS platform ● Examples: Linden Lab, Empire
Azure Container Service ● Has only been generally available for a few weeks ● Serious usage already - sustained large deployments ● Usage going up every day, not dropping at weekends “The team is also getting far more inquiries that we can handle quickly, so interest is higher than anticipated” - John Gossman, Microsoft Azure Architect
Mesos is on the rise “Uber has recently started transitioning most of its services, including the storage services, to run on top of Mesos” - Matthias Eichstaedt “Service style applications, batch jobs, and stream processing alike, from a variety of use cases across Netflix rely on executing container based applications in multi-tenant clusters powered by Mesos and Fenzo.” - Sharma Podila, Netflix
Microservices and containers “We’ve seen the whole trend towards microservices and Docker come up together. Customers tell us that they value the scale and agility provided by the AWS platform when coupled with the developer productivity benefits of Docker’s dependency management and deployment capabilities.” - Deepak Singh, Amazon ECS
Typical customer journey “We see about 20% top-down, and 80% bottoms-up adoption in enterprises” - Scott Johnston, Docker 1 2 3 LAND: lift-and-shift existing app (no microservices), adopt CI etc. 6-9 months PRODUCTION: getting the first app from there into production, about 6 months PLATFORM: floodgates open and big re-platforming project begins... 12-15 months
Typical customer journey: Kubernetes example LAND: starts with one app in one data center EXPAND 1: several apps within one data center EXPAND 2: bridge several data centers “[This customer] wants to leverage existing data centers (each of which have thousands of nodes) while increasing their cloud footprint. They will migrate everything to Kubernetes running everywhere over the next two years.” - David Aronchick, Google
Typical customer journey: Cloud Foundry example TOP-DOWN enterprise sale, it’s all about apps, not containers... Once the platform is in… ● Repeated experience: 500+ devs, 1,000+ apps in first couple of months ● V. low ops overhead: e.g. 1500 apps onboarded in 6 months, < 2 people to run
Investment funds continue to flow... ● Weaveworks $15M Series B (May) ● CoreOS $28M Series B (May) ● Rancher Labs $20M Series B (May) ● Pivotal $253M Series C (May) (+ $400M debt/equity swap) ● Sysdig $15M Series B (April) ● Docker $95M Series D (April) ● Mesosphere $73.5M Series C (March)
What’s Next? Right now we’re seeing this change from a simple “let’s run containers!” to “we’re building apps… and of course we’re using containers.” - John Gossman, Microsoft Azure “We’re seeing a shift with many customers starting with the application, not the infrastructure.” - Deepak Singh, Amazon ECS
What’s Next? ● A heterogeneous world ● The value line moves up ● Giving customers what they want (delivering on velocity and agility) ○ Containers are the easy part!
Multi-cloud: by accident or by design... “Bridging multi-cloud and on-premise environments is the reality for enterprises, for many years to come.” - David Aronchick
Multi-cloud challenges ● “Any cloud” approach needs a portability layer ○ By definition, not tied to any one cloud vendor ● An important ‘cloud’ is the developer laptop ● Applications may run in several different environments as part of the development lifecycle ○ Even if production migration is rarer ● Need to consider not just compute, but also networking and storage ○ Data gravity vs data agility
Multi-platform? The Platform Wars What kind of platform? Bottoms-up? DevOps, PlatformOps, AppOps, & IT Orchestration is a layer “The Platform Wars, Begun They Have” - Alexis Richardson
Deployment granularity Physical Virtual Container Unikernel Lambda Becoming finer-grained Enterprise may well end up with all of these! Mixed deployments, E.g. GS, NOTHS
Evolution: death of the in-house framework Genesis Custom Built Off the shelf Commodity Evolution commoditise exploit Containers Container Orchestration In-house framework Value Competitive advantage becomes competitive disadvantage
Giving customers what they want... Velocity/Agility Latency Throughput Scalability Delivery Pipeline Value chain Team Structure Architecture Contention Coherence (of your organisation and processes, not just your software!) CI/CD DevOps Containers Microservices Cloud How fast can you deliver software? + How fast can you respond to runtime changes? Orchestration
Velocity vs Complexity 1 x monolith x 20-30 microservices x 2-3 container images per service x 1-n instances per role x 1-2 concurrent versions x f feature flags/ A-B / MAB x multiple deploys/ day Death star
Erdös and Rényi n nodes and m links Phase transition at m = n/2 -> Giant component All nodes connected to each other by short paths, degree of separation grows slowly
Problems that remain ● Security is a mess ● Understanding what services depend on what other services is something everyone seems to be hand rolling ● Even basic things like knowing who to talk to about a service is difficult in larger organisations ● Very little is being done to help developers, outside of platforms that make things easier to deploy ● Data is still problematic - replication, and moving process to data
Recap 01 Start with why: velocity, portability, efficiency 02 State of the market: rising tide, moving to production, two-year journey 03 What’s next? : heterogeneity, value line, delivering on the promise