Keynote at Dockercon Europe Amsterdam Dec 4th, 2014.
Speeding up development with Docker.
Summary of some interesting web scale microservice architectures.
Please send me updates and corrections to the architecture summaries @adrianco
Thanks Adrian
Shows an excerpt of the PERFORM 2014 Conference's Hands-On Training on Automated Deployments. Tells the why and the how and differentiates between agent-based and agentless solutions, such as Chef, Puppet or Ansible. Goes into greater detail on the Ansible host automation tool.
A proper Microservice is designed for fast failure.
Like other architectural style, microservices bring costs and benefits. Some development teams have found microservices architectural style to be a superior approach to a monolithic architecture. Other teams have found them to be a productivity-sapping burden.
This material start with the basic what and why microservice, follow with the Felix example and the the successful strategies to develop microservice application.
In the world of DevSecOps as you may predict we have three teams working together. Development, the Security team and Operations.
The “Sec” of DevSecOps introduces changes into the following:
• Engineering
• Operations
• Data Science
• Compliance
Are you looking to build Cloud-based application using DevOps methodlogy but worried that the traditional security methods may not adapt to the modern development techniques? Azure Secure DevOps Kit
Shows an excerpt of the PERFORM 2014 Conference's Hands-On Training on Automated Deployments. Tells the why and the how and differentiates between agent-based and agentless solutions, such as Chef, Puppet or Ansible. Goes into greater detail on the Ansible host automation tool.
A proper Microservice is designed for fast failure.
Like other architectural style, microservices bring costs and benefits. Some development teams have found microservices architectural style to be a superior approach to a monolithic architecture. Other teams have found them to be a productivity-sapping burden.
This material start with the basic what and why microservice, follow with the Felix example and the the successful strategies to develop microservice application.
In the world of DevSecOps as you may predict we have three teams working together. Development, the Security team and Operations.
The “Sec” of DevSecOps introduces changes into the following:
• Engineering
• Operations
• Data Science
• Compliance
Are you looking to build Cloud-based application using DevOps methodlogy but worried that the traditional security methods may not adapt to the modern development techniques? Azure Secure DevOps Kit
Docker Kubernetes Istio
Understanding Docker and creating containers.
Container Orchestration based on Kubernetes
Blue Green Deployment, AB Testing, Canary Deployment, Traffic Rules based on Istio
All organizations want to go faster and decrease friction in their cloud software delivery pipeline. Infosec has an opportunity to change their classic approach from blocker to enabler. This talk will discuss hallmarks of CI/CD and some practical examples for adding security testing across different organizations. The talk will cover emergent patterns, practices and toolchains that bring security to the table.
Presented at OWASP NoVA, Sept 25th, 2018
40 DevSecOps Reference Architectures for you. See what tools your peers are using to scale DevSecOps and how enterprises are automating security into their DevOps pipeline. Learn what DevSecOps tools and integrations others are deploying in 2019 and where your choices stack up as you consider shifting security left.
The introduction covers the following
1. What are Microservices and why should be use this paradigm?
2. 12 factor apps and how Microservices make it easier to create them
3. Characteristics of Microservices
Note: Please download the slides to view animations.
AWS January 2016 Webinar Series - Introduction to Docker on AWSAmazon Web Services
Using Docker on your local development machine is simple, but running Docker applications at scale in production can be difficult.
In this webinar, we will discuss the difficulties of running Docker in production and how Amazon EC2 Container Service (ECS) can be used to reduce the operational burdens, and we will give an overview of the architecture powering Amazon ECS. We will also demo how to define multi-container applications with Docker Compose and deploy and scale them seamlessly to a cluster with Amazon ECS.
Learning Objectives:
Understand the benefits and architecture of Amazon ECS
Learn how to deploy and scale Docker containers on Amazon ECS
Who Should Attend:
Developers
In this session, we’ll discuss the benefits of moving from monolithic to micro-services application architectures, and examine where micro-services can be used. We’ll share common transition strategies and relate them to the specifics of e-commerce and retail workloads, using customer examples. You’ll learn how to build micro-services using AWS services, and get a better understanding of the role of data storage, API endpoints and service discovery. Plus, you can learn from the real-life experience of Digital Goodie, an online retailing platform for connected commerce.
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailogjuljo
Full day workshop about Microservices Architectures, from the basis to advanced topics like Service Discovery, Load Balancing, Fault Tolerance and Centralized Logging.
Many technologies are involved, like Spring Cloud Netflix, Docker, Cloud Foundry and ELK.
A separate deck describes all the lab exercises.
A high level introduction to DevOps. Explains what it is, how popular DevOps has become, why DevOps is popular, how DevOps differs from traditional approaches and some next steps to implementation.
Introduction to DevOps covering:
- Why DevOps
- How to build DevOps Teams in your organization
- Cloud Tools you can use for DevOps (Azure and AWS)
- Legacy Software and DevOps
- What is the Future of DevOps
- People to Follow
A presentation to explain the microservices architecture, the pro and the cons, with a view on how to migrate from a monolith to a SOA architecture. Also, we'll show the benefits of the microservices architecture also for the frontend side with the microfrontend architecture.
Summary of fast development and cloud native architecture along with cost optimization techniques. Presented as opening keynote at the Utility and Cloud Computing 2014 as part of the Cloud Control Workshop.
Docker Kubernetes Istio
Understanding Docker and creating containers.
Container Orchestration based on Kubernetes
Blue Green Deployment, AB Testing, Canary Deployment, Traffic Rules based on Istio
All organizations want to go faster and decrease friction in their cloud software delivery pipeline. Infosec has an opportunity to change their classic approach from blocker to enabler. This talk will discuss hallmarks of CI/CD and some practical examples for adding security testing across different organizations. The talk will cover emergent patterns, practices and toolchains that bring security to the table.
Presented at OWASP NoVA, Sept 25th, 2018
40 DevSecOps Reference Architectures for you. See what tools your peers are using to scale DevSecOps and how enterprises are automating security into their DevOps pipeline. Learn what DevSecOps tools and integrations others are deploying in 2019 and where your choices stack up as you consider shifting security left.
The introduction covers the following
1. What are Microservices and why should be use this paradigm?
2. 12 factor apps and how Microservices make it easier to create them
3. Characteristics of Microservices
Note: Please download the slides to view animations.
AWS January 2016 Webinar Series - Introduction to Docker on AWSAmazon Web Services
Using Docker on your local development machine is simple, but running Docker applications at scale in production can be difficult.
In this webinar, we will discuss the difficulties of running Docker in production and how Amazon EC2 Container Service (ECS) can be used to reduce the operational burdens, and we will give an overview of the architecture powering Amazon ECS. We will also demo how to define multi-container applications with Docker Compose and deploy and scale them seamlessly to a cluster with Amazon ECS.
Learning Objectives:
Understand the benefits and architecture of Amazon ECS
Learn how to deploy and scale Docker containers on Amazon ECS
Who Should Attend:
Developers
In this session, we’ll discuss the benefits of moving from monolithic to micro-services application architectures, and examine where micro-services can be used. We’ll share common transition strategies and relate them to the specifics of e-commerce and retail workloads, using customer examples. You’ll learn how to build micro-services using AWS services, and get a better understanding of the role of data storage, API endpoints and service discovery. Plus, you can learn from the real-life experience of Digital Goodie, an online retailing platform for connected commerce.
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailogjuljo
Full day workshop about Microservices Architectures, from the basis to advanced topics like Service Discovery, Load Balancing, Fault Tolerance and Centralized Logging.
Many technologies are involved, like Spring Cloud Netflix, Docker, Cloud Foundry and ELK.
A separate deck describes all the lab exercises.
A high level introduction to DevOps. Explains what it is, how popular DevOps has become, why DevOps is popular, how DevOps differs from traditional approaches and some next steps to implementation.
Introduction to DevOps covering:
- Why DevOps
- How to build DevOps Teams in your organization
- Cloud Tools you can use for DevOps (Azure and AWS)
- Legacy Software and DevOps
- What is the Future of DevOps
- People to Follow
A presentation to explain the microservices architecture, the pro and the cons, with a view on how to migrate from a monolith to a SOA architecture. Also, we'll show the benefits of the microservices architecture also for the frontend side with the microfrontend architecture.
Summary of fast development and cloud native architecture along with cost optimization techniques. Presented as opening keynote at the Utility and Cloud Computing 2014 as part of the Cloud Control Workshop.
Sildes of an internal talk given at Twitter similar to a previous webinar for Redhat with the same title.
Speeding up development is a key concern, cloud and technology improvements like Docker speed up key steps that make continuous delivery possible. Breaking up the work into many separate microservices and datastores with stable APIs allows teams to make progress independently so that the organization scales. Monolithic apps are preferred for small projects, built by small teams and when very low latency and high efficiency is the primary requirement. Monitoring microservices is currently a challenge with solutions starting to emerge.
Businesses are speeding up development and automating operations to remain competitive and to get large organizations to scale. Project based monolithic application updates are replaced by product teams owning containerized microservices. This puts developers on call, responsible for pushing code to production, fixing it when it breaks, and managing the cost and security aspects of running their microservices. In this world operations skill-sets are either embedded in the microservices development teams, or building and operating API driven platforms. The platform automates stress testing, canary based deployment, penetration testing and enforces availability and security requirements. There are no meetings or tickets to file in the delivery process for updating a containerized microservice, which can happen many times a day, and takes seconds to complete. The role of site reliability engineering moves from firefighting and fixing outages to buiding tools for finding problems and routing those problems to the right developers. SREs manage the incident lifecycle for customer visible problems, and measure and publish availability metrics. This may sound futuristic but Werner Vogels described this as “You build it, you run it” in 2006.
Vasiliy Fomichev - Harness the Power of Containers - SUGCONSUGCON
Get All Your Mongo and Solr Environments under Control: Sitecore xDB has introduced another layer of maintenance complexity – Mongo database. Many .NET developers have only heard about it, let alone, never set it up. Add a Solr Cloud configuration on top of that, and we have a recipe for a huge headache.
The new complexity introduces a learning curve, and a possibility for a wider range of issues:
1. The need for xDB and Solr configurations locally increases the time and complexity of local development environments
2. The higher number of user systems and technologies increases the chances of unforeseen errors due to systems getting out of sync, resulting in issues that are hard to troubleshoot
3. The need for reproducing the same initial setup in many different environments (development, QA, UAT, Staging, Production…etc.) makes that much more room for human error, introducing configuration discrepancies
Impact of CD, Clean Code, ... on Team PerformanceFredrik Wendt
Why is DevOps, Continuous Delivery, Docker, Clean Code, Vagrant, Software Craftsmanship and agile trending? How do these topics and techniques reflect on team performance?
Adrian Cockcroft on his top predictions for the cloud computing industry in 2015 and beyond, as well as how cloud-native applications, continuous-delivery and DevOps techniques, will speed the pace of innovation and disruption.
For more about Adrian be sure to check out his page on Battery Ventures:
https://www.battery.com/our-team/member/adrian-cockcroft/
Follow Adrian on Twitter: @adrianco
The pillars of DevOps are Culture, Automation, Measurement and Sharing. Docker is a rare tool at enables DevOps through all 4 pillars. These slides take a look at how Docker can affect each pillar in your organization through a Lean lens.
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes that Amazon’s engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodeCommit, AWS CodePipeline, and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
Some technologies are tools of the DevOps trade. Chef, Jenkins, Vagrant and Zookeeper are all tools that can be used for huge leverage and impact by the right people. Rarely, however, is there a technology that *enables* the practice of DevOps. The advent of the cloud and disposable infrastructure is one example. Docker is in this second, more rarified class.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/29ZQmIx.
Adrian Cockcroft discusses success/failure stories of adopting microservices, overviews what’s next with microservices and presents some of the techniques that have led to successful deployments. Filmed at qconnewyork.com.
Adrian Cockcroft works at Battery where he advises the firm and its portfolio companies about technology issues and also assists with deal sourcing and due diligence. He was a founding member of eBay Research Labs, developing advanced mobile applications and even building his own homebrew phone, years before iPhone and Android launched.
Docker Enables DevOps - Keep C.A.L.M.S. and Docker on ...Boyd Hemphill
The pillars of DevOps are Culture, Automation, Measurement and Sharing. Docker is a rare tool at enables DevOps through all 4 pillars. These slides take a look at how Docker can affect each pillar in your organization through a Lean lens.
DCEU 18: How To Build Your Containerization StrategyDocker, Inc.
Lee Namba - EMEA Professional Services Manager, Docker
The Docker Enterprise container platform helps organizations deploy and manage applications faster and it secures the application pipeline at a lower cost than traditional application delivery models. But it takes more than just great technology to achieve the desired results. The organization and culture of your enterprise directly impacts what you transform, how it’s done, and who does it. Success requires a strategy for how you will govern the container platform environment, how to assess your application estate, what your delivery pipeline will look like, and how to ensure developers, operators, security teams and others play nicely together. In this talk I will cover topics such as different types of workloads (legacy, microservices, FaaS, big data and more), how your org chart can influence whether you deploy CaaS (Containers as a Service) vs CLaaS (Clusters as a Service), how "shifting left" can determine if you can outsource, centralized vs distributed CI/CD and how containers play a role, transforming your pets into cattle, how giant whale balloons are used for onboarding, and a prescriptive and comprehensive methodology for successfully deploying containers into your enterprise.
Session 3962: Docking DevOps was originally presented at IBM InterConnect 2015 Feb. 22 - 26, 2016.
The presentation explores the values of Docker and containers and provides insight into areas that IBM has embraced the use of Docker within it's cloud strategy.
GCP Meetup #3 - Approaches to Cloud Native Architecturesnine
Talk by Daniel Leahy and Nic Gibson, given at the Google Cloud Meetup on March 3, 2020, hosted by Nine Internet Solutions AG - Your Swiss Managed Cloud Service Provider.
Similar to Dockercon State of the Art in Microservices (20)
Just about all of my current technical content in one 364 slide mega-deck. Source files at https://github.com/adrianco/slides
Sections on:
Scene Setting
State of the Cloud
What Changes?
Product Processes
Microservices
State of the Art
Segmentation
What’s Missing?
Monitoring
Challenges
Migration
Response Times
Serverless
Lock-In
Teraservices
Wrap-Up
Historical view of process and channel oriented programming idioms: CSP 1978, Occam 1983, Pi-Calculus 1993 etc. How they map to Go and some examples of dynamic channel routing using Go to simulate peer-to-peer networks and microservices networks.
Opening talk at Monitorama, talks about the problems of monitoring, challenges of creating monitoring tools and why monitoring vendors keep getting disrupted. Ended with a discussion of simulation testing and serverless architectures - Monitorless.
Full slide deck for day long discussion of microservices topics. Why use microservices, what options exist and how to migrate to them and address common problems.
Discussion of how microservices are being applied across both web scale and enterprise/government use cases to help speed up development.
Video available at http://www.ustream.tv/recorded/86151804
Microservices: What's Missing - O'Reilly Software Architecture New YorkAdrian Cockcroft
Assuming you have already figured out microservices, what else do you need to figure out to get them to work properly. This talk skips my usual introduction to why and what, and goes deeper on how.
A rough and researchy presentation where I tried out some new material in front of a local audience. Skipped the usual introduction and talked about some of the problems people run into when they do microservices and miss a few things. More refined version of this talk to be shown at O'Reilly Software Architecture Conference in New York in April.
There are many ways to manage whether a service can talk to another service. It can be tempting to over-use one segmentation mechanism to implement policy when the real problem is how to coordinate and manage many mechanisms in the physical, cloud and container spaces. This talk summarizes the problem space and opportunities rather than offers solutions.
Presented at the Docker Palo Alto meetup Feb 16th 2016 http://www.meetup.com/Docker-Palo-Alto/events/228277181/
Microxchg Analyzing Response Time Distributions for MicroservicesAdrian Cockcroft
Research oriented presentation @Microxchg Berlin Feb 5th 2016. New code to collect histograms of response time and export them to monte-carlo simulation spreadsheet via getguesstimate.com
Updated slides for 2016 presentation on innovation in large organizations, why microservices and Docker can be useful, thoughts on monitoring for large complex architectures, some discussion of new topics - serverless architectures AWS Lambda and teraservices.
It's clear that Docker speeds up development and makes testing and deployment more efficient. As Docker moves into production new use cases and patterns are emerging that address availability and security concerns. With microservices, safety is part of the architecture that developers need to understand and build for. It's no longer good enough to wrap a firewall around an entire app when it goes to production, and have a cold standby in case it breaks.
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...Adrian Cockcroft
Monitorama opening keynote talk on the challenges of Monitoring in a world where we need to deal with continuous delivery, cloud, and automated control feedback loops.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
6. Cloud Adoption
@adrianco’s job at the
intersection of cloud
and Enterprise IT
%*&!”
By Simon Wardley http://enterpriseitadoption.com/
2014
2009
7. Cloud Adoption
@adrianco’s job at the
intersection of cloud
and Enterprise IT
%*&!”
By Simon Wardley http://enterpriseitadoption.com/
2014
2009
Docker wasn’t on
anyone’s roadmap for
2014. It’s on everyone’s
roadmap for 2015.
10. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Measure
Customers
Continuous
Delivery
11. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
INNOVATION
Measure
Customers
Continuous
Delivery
12. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
Model
Hypotheses
INNOVATION
Measure
Customers
Continuous
Delivery
13. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Model
Hypotheses
INNOVATION
Measure
Customers
Continuous
Delivery
14. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Model
Hypotheses
INNOVATION
Measure
Customers
Continuous
Delivery
15. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Model
Hypotheses
INNOVATION
CULTURE
Measure
Customers
Continuous
Delivery
16. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Launch AB
Test
Automatic
Deploy
Incremental
Features
Model
Hypotheses
INNOVATION
CULTURE
Measure
Customers
Continuous
Delivery
17. Land grab
opportunity Competitive
Observe
Orient
Decide
Measure
Customers
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Launch AB
Test
Automatic
Deploy
Incremental
Features
Model
Hypotheses
INNOVATION
CULTURE
CLOUD
Continuous
Delivery
18. Land grab
opportunity Competitive
Observe
Orient
Decide
Measure
Customers
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Launch AB
Test
Automatic
Deploy
Incremental
Features
Model
Hypotheses
INNOVATION
CULTURE
CLOUD
Continuous
Delivery
19. Land grab
opportunity Competitive
Observe
Orient
Decide
Measure
Customers
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Launch AB
Test
Automatic
Deploy
Incremental
Features
Model
Hypotheses
INNOVATION
CULTURE
CLOUD
Continuous
Delivery
21. Breaking Down the SILOs
Prod
Mgr
UX Dev QA DBA Sys
Adm Adm
Net
Adm
SAN
22. Breaking Down the SILOs
Prod
Mgr
UX Dev QA DBA Sys
Adm Adm
Net
Adm
SAN
Product Team Using Monolithic Delivery
Product Team Using Monolithic Delivery
23. Breaking Down the SILOs
Product Team Using Monolithic Delivery
Product Team Using Monolithic Delivery
Prod
Mgr
UX Dev QA DBA Sys
Adm Adm
Net
Adm
SAN
Product Team Using Microservices
Product Team Using Microservices
Product Team Using Microservices
24. Breaking Down the SILOs
Product Team Using Monolithic Delivery
Product Team Using Monolithic Delivery
Prod
Mgr
UX Dev QA DBA Sys
Adm Adm
Net
Adm
SAN
Product Team Using Microservices
Product Team Using Microservices Platform Team
Product Team Using Microservices
25. Breaking Down the SILOs
Product Team Using Monolithic Delivery
Product Team Using Monolithic Delivery
Prod
Mgr
UX Dev QA DBA Sys
Adm Adm
Net
Adm
SAN
Product Team Using Microservices
Platform Team
A
P
I Product Team Using Microservices
Product Team Using Microservices
26. Breaking Down the SILOs
Product Team Using Monolithic Delivery
Product Team Using Monolithic Delivery
Prod
Mgr
UX Dev QA DBA Sys
Adm Adm
Net
Adm
SAN
Product Team Using Microservices
Platform Team
A
P
I Product Team Using Microservices
Product Team Using Microservices
DevOps is a Re-Org!
27. Release Plan
Developer
Developer
Developer
Developer
Developer
QA Release
Integration
Ops Replace Old
With New
Release
Monolithic service updates
Works well with a small number
of developers and a single
language like php, java or ruby
28. Release Plan
Developer
Developer
Developer
Developer
Developer
Monolithic service updates
QA Release
Integration
Ops Replace Old
With New
Release
Bugs
Works well with a small number
of developers and a single
language like php, java or ruby
29. Release Plan
Developer
Developer
Developer
Developer
Developer
Monolithic service updates
QA Release
Integration
Ops Replace Old
With New
Release
Bugs
Bugs
Works well with a small number
of developers and a single
language like php, java or ruby
30. Developer
Developer
Developer
Developer
Developer
Old Release Still
Running
Release Plan
Release Plan
Release Plan
Release Plan
Immutable microservice deployment
scales, is faster with large teams and
diverse platform components
31. Developer
Developer
Developer
Developer
Developer
Immutable microservice deployment
scales, is faster with large teams and
diverse platform components
Old Release Still
Running
Release Plan
Release Plan
Release Plan
Release Plan
Deploy
Feature to
Production
Deploy
Feature to
Production
Deploy
Feature to
Production
Deploy
Feature to
Production
32. Developer
Developer
Developer
Developer
Developer
Immutable microservice deployment
scales, is faster with large teams and
diverse platform components
Old Release Still
Running
Release Plan
Release Plan
Release Plan
Release Plan
Deploy
Feature to
Production
Deploy
Feature to
Production
Deploy
Feature to
Production
Deploy
Feature to
Production
Bugs
33. Developer
Developer
Developer
Developer
Developer
Immutable microservice deployment
scales, is faster with large teams and
diverse platform components
Old Release Still
Running
Release Plan
Release Plan
Release Plan
Release Plan
Deploy
Feature to
Production
Deploy
Feature to
Production
Deploy
Feature to
Production
Deploy
Feature to
Production
Bugs
Deploy
Feature to
Production
34. Configure
Configure
Developer
Developer
Developer
Release Plan
Release Plan
Release Plan
Standardized portable container
deployment saves time and effort
Deploy
Standardized
Services
https://hub.docker.com
35. Configure
Configure
Developer
Developer
Developer
Release Plan
Release Plan
Release Plan
Deploy
Standardized
Services
Deploy
Feature to
Production
Deploy
Feature to
Production
Deploy
Feature to
Production
Bugs
Deploy
Feature to
Production
Standardized portable container
deployment saves time and effort
https://hub.docker.com
36. Developing at the Speed of Docker
Developers
• Compile/Build
• Seconds
Extend container
• Package dependencies
• Seconds
PaaS deploy Container
• Docker startup
• Seconds
37. Developing at the Speed of Docker
Developers
• Compile/Build
• Seconds
Extend container
• Package dependencies
• Seconds
PaaS deploy Container
• Docker startup
• Seconds
Speed is addictive, hard to go back to taking much longer to get things done
38. What Happened?
Rate of change
increased
Cost and size and
risk of change
reduced
42. If every service has to be
updated at the same time
it’s not loosely coupled
A Microservice Definition
!
Loosely coupled service oriented
architecture with bounded contexts
43. If every service has to be
updated at the same time
it’s not loosely coupled
A Microservice Definition
!
Loosely coupled service oriented
architecture with bounded contexts
If you have to know too much about surrounding
services you don’t have a bounded context. See the
Domain Driven Design book by Eric Evans.
44. Coupling Concerns
●Conway’s Law - organizational coupling
●Centralized Database Schemas
●Enterprise Service Bus - centralized message queues
●Inflexible Protocol Versioning
http://en.wikipedia.org/wiki/Conway's_law
45. Speeding Up The Platform
Datacenter Snowflakes
• Deploy in months
• Live for years
46. Speeding Up The Platform
Datacenter Snowflakes
• Deploy in months
• Live for years
Virtualized and Cloud
• Deploy in minutes
• Live for weeks
47. Speeding Up The Platform
Datacenter Snowflakes
• Deploy in months
• Live for years
Virtualized and Cloud
• Deploy in minutes
• Live for weeks
Docker Containers
• Deploy in seconds
• Live for minutes/hours
48. Speeding Up The Platform
Datacenter Snowflakes
• Deploy in months
• Live for years
Virtualized and Cloud
• Deploy in minutes
• Live for weeks
Docker Containers
• Deploy in seconds
• Live for minutes/hours
AWS Lambda
• Deploy in milliseconds
• Live for seconds
49. Speeding Up The Platform
Datacenter Snowflakes
• Deploy in months
• Live for years
Virtualized and Cloud
• Deploy in minutes
• Live for weeks
Docker Containers
• Deploy in seconds
• Live for minutes/hours
AWS Lambda
• Deploy in milliseconds
• Live for seconds
Speed enables and encourages new microservice architectures
50. State of the Art in Web Scale
Microservice Architectures
AWS Re:Invent : Asgard to Zuul https://www.youtube.com/watch?v=p7ysHhs5hl0
Resiliency at Massive Scale https://www.youtube.com/watch?v=ZfYJHtVL1_w
Microservice Architecture https://www.youtube.com/watch?v=CriDUYtfrjs
http://www.infoq.com/presentations/scale-gilt
http://www.slideshare.net/mcculloughsean/itier-breaking-up-the-monolith-philly-ete
http://www.infoq.com/presentations/Twitter-Timeline-Scalability
http://www.infoq.com/presentations/twitter-soa
http://www.infoq.com/presentations/Zipkin
https://speakerdeck.com/mattheath/scaling-micro-services-in-go-highload-plus-plus-2014
51. Microservice Concerns
Tooling Configuration Discovery Routing Observability
Datastores
Operational: Orchestration and Deployment Infrastructure
Development: Languages and Container
52. Microservices
Edda
Archaius
!
Configuration
Asgard
Aminator
!
Tooling
Eureka
Prana
!
Discovery
Denominator
Zuul, Netty
Ribbon 2.0
!
Routing
Hystrix
Pytheus
SALP
!
Observability
Ephemeral datastores using Dynomite, Memcached, Astyanax, Staash, Priam, Cassandra
Manual Orchestration with Asgard and deployment on AWS or Eucalyptus
Java, Groovy, Scala, Clojure, Python, Node.js with AMI and Docker Containers
53. Microservices
Edda
Archaius
!
Configuration
Asgard
Aminator
!
Tooling
Eureka
Prana
!
Discovery
Denominator
Zuul, Netty
Ribbon 2.0
!
Routing
Hystrix
Pytheus
SALP
!
Observability
Ephemeral datastores using Dynomite, Memcached, Astyanax, Staash, Priam, Cassandra
Manual Orchestration with Asgard and deployment on AWS or Eucalyptus
Java, Groovy, Scala, Clojure, Python, Node.js with AMI and Docker Containers
Focus on global distribution, high scale and availability
54.
55.
56. Twitter Microservices
Decider
!!
Tooling Configuration
Finagle
Zookeeper
!
Discovery
Finagle
Netty
!
Routing
Zipkin
!!
Observability
Custom Cassandra-like datastore: Manhattan
Orchestration using Aurora deployment in datacenters using Mesos
Scala with JVM Container
57. Twitter Microservices
Decider
!!
Tooling Configuration
Finagle
Zookeeper
!
Discovery
Finagle
Netty
!
Routing
Zipkin
!!
Observability
Custom Cassandra-like datastore: Manhattan
Orchestration using Aurora deployment in datacenters using Mesos
Scala with JVM Container
Focus on efficient datacenter deployment at scale
58.
59.
60. Gilt Microservices
Decider
!!
Configuration
Ion Cannon
SBT
Rake
!
Tooling
Finagle
Zookeeper
!
Discovery
Akka
Finagle
Netty
!
Routing
Zipkin
!!
Observability
Datastores per Microservice using MongoDB, Postgres, Voldemort
Deployment on AWS
Scala and Ruby with Docker Containers
61. Gilt Microservices
Decider
!!
Configuration
Ion Cannon
SBT
Rake
!
Tooling
Finagle
Zookeeper
!
Discovery
Akka
Finagle
Netty
!
Routing
Zipkin
!!
Observability
Datastores per Microservice using MongoDB, Postgres, Voldemort
Deployment on AWS
Scala and Ruby with Docker Containers
Focus on fast development with Scala and Docker
62.
63. Hailo Microservices
Configuration
Hubot
Janky
Jenkins
!
Tooling
go-platform
!
Discovery
go-platform
RabbitMQ
!
Routing
Request trace
!
Observability
Datastore based on Cassandra
Deployment on AWS
Go using Docker
64. Hailo Microservices
Configuration
Hubot
Janky
Jenkins
!
Tooling
go-platform
!
Discovery
go-platform
RabbitMQ
!
Routing
Request trace
!
Observability
Datastore based on Cassandra
Deployment on AWS
Go using Docker
Focus on fast development at scale using Go
65.
66. Node.js Microservices
Several different approaches
!
Mostly small simple microservices
!
Focus on easy interface with
presentation code in javascript
!
AWS Lambda - preview only
http://senecajs.org/
http://aws.amazon.com/lambda/
67. Adrian’s Prototypes
Model and visualize microservices
Simulate interesting architectures
!
See github.com/adrianco/spigo
Simulate Protocol Interactions in Go
!
See github.com/adrianco/d3grow
Dynamic visualization
68. Web Scale Characteristics
●Brand new Microservices are deployed infrequently
●New versions deployed automatically/frequently
●No real need for general purpose orchestration
●Architectures use hundreds of microservices
●Each deployment is heavily customized
70. Orchestration for Applications
●Standard portable microservice based applications
●New versions deployed automatically/frequently
●Orchestration automated and standardized
●Architectures likely based on tens of microservices
●Opportunity: Docker Hub as the enterprise app store
71. Next Generation Applications
?
!
Configuration
?
!
Tooling
?
!
Discovery
?
!
Routing
?
!
Observability
Datastores: Ephemeral, Orchestrated or DBaaS
Operational: Many orchestration choices across public and private clouds
Development: Components assembled from Docker Hub as a composable “app store”
72. Next Generation Applications
?
!
Configuration
?
!
Tooling
?
!
Discovery
?
!
Routing
?
!
Observability
Datastores: Ephemeral, Orchestrated or DBaaS
Operational: Many orchestration choices across public and private clouds
Development: Components assembled from Docker Hub as a composable “app store”
Fill in the gaps, rapidly evolving ecosystem choices
77. Any Questions?
● Battery Ventures http://www.battery.com
● Adrian’s Tweets @adrianco and Blog http://perfcap.blogspot.com
● Slideshare http://slideshare.com/adriancockcroft
!
● Monitorama Opening Keynote Portland OR - May 7th, 2014 - Video available
● GOTO Chicago Opening Keynote May 20th, 2014 - Video available
● Qcon New York – Speed and Scale - June 11th, 2014 - Video available
● Structure - Cloud Trends - San Francisco - June 19th, 2014 - Video available
● GOTO Copenhagen/Aarhus – Fast Delivery - Denmark – Sept 25th, 2014
● DevOps Enterprise Summit - San Francisco - Oct 21-23rd, 2014 #DOES14 - Videos available
● GOTO Berlin - Migrating to Microservices - Germany - Nov 6th, 2014
● AWS Re:Invent - Cloud Native Cost Optimization - Las Vegas - November 14th, 2014
Disclosure: some of the companies mentioned may be Battery Ventures Portfolio Companies
See www.battery.com for a list of portfolio investments