SlideShare a Scribd company logo
Structured Container Delivery
Oscar
Renalias
Accenture Container
Platforms Lead
DockerCon 2016 - Structured Container Delivery
Infrastructure
DevOps
Architecture
Virtualization/
Cloud savings
Hardware savings
Flexible platforms
Predictability
Flexible application
environments
Efficiency
Alignment with
modern architectures
Developer
Productivity
• Reduce/eliminate virtualization licenses for workloads to be
containerized
• Reduce number of hardware blades/servers/cloud instances
• Faster container startup times means instances can be turned off
when not used, or dynamically scaled according to demand
• Minimize environment and configuration defects in new
environment setup by packaging all components and
dependencies in containers
• Provision an arbitrary number of application environments
easily, when needed, and destroy them when done
• Minimize human effort / involvement with deploying code to
new environments
• Containers are a great runtime platforms for modern scalable
and high performance application architectures, e.g.
microservices
• Greatly reduce the amount of time needed for a developer to
create a working application environment locally
$$$
$$$
$
$$
$$$
⭐ ⭐ ⭐
⭐
⭐ ⭐
Benefit
Container
Business Case
So you want to run containers?
Container Platform
Dev Tools
Official Repositories
Operating Systems
Big Data
Service Discovery
Build / Continuous Integration
Configuration Management
Management
Storage
Clustering & Scheduling
Networking
Infrastructure & Service Providers
Security
Monitoring & Logging
Where do we start?
Container Platform
Architecture
Container Platform Architecture
Principles Patterns Capabilities
Reference Implementations
Understanding how to design for, and with containers
Business Continuity
Operations Agility Prepare for Failure Fit for Purpose
Adaptability and Flexibility
Infrastructure
Independence
Information Security
Leverage service
discovery for
inter/external service
lookup
Use standard protocols
to interact with
interfaces
Use standardized and
best-practice
components
Reuse services offered
by platform and extend
components if necessary
Data Integrity Communications
Prefer container image
digital-signing
Use isolated networking
between containers,
regardless of their
location
Prefer lightweight
infrastructure
components
Use container clustering
and/or other HA
practices
Use external persistence
data sources for
container data
Leverage DevOps
practices for container
image build and
deployment
L1
Principles
L2
Decisions
Leverage dynamic
routing capabilities
Monitor container
infrastructure
components
Limit container access
Use private or secure
hosted image registry
Container as the build
artifact
Immutable
infrastructure, deploy by
replacing old containers
with new ones
Make sure that logs
aren't retained only in
containers
Version container
images in repository
Encourage reuse of
container definitions
Data and process must
be encapsulated
Multi-tenancy – keep
teams isolated
How do we do <…> with containers?
• Operations agility: This pattern handles complex architecture in
build process where multiple version of packages are to be
managed
Architecture Pattern: Container as build output
Conceptual View
Enabling Principles
• Usability: There should be no reason to not build
containers using a Continuous Integration platform and
leverage the automation and versioning capabilities
provided.
Risks & Issues
• Operability: Best used when continuos integrationis
needed
• Versioning: Continuous Integration platform is also
responsible for versioning containers and publishing them
to a private/public Docker registryfor consumption
Benefits / Force
Integrate the container build process withina Continuous Integration
tool and ensures repeatability of the build process. Additionally, the
CI platform is alsoresponsible for versioning containers and
publishing them to a private/public Docker registry for consumption.
Overview
SCM Jenkins Docker
Internal
Registry
Receive Code
Build Container
Tag Container
Push Container
• Prepare for failure: As one contaioner provides only one service,
isolation is preserved. And failure of one unit in system do not
affect other services.
• Operations agility: As each container offers single service it can
be used by multiple applicationwithout affecting others
Architecture Pattern: One service per container
Conceptual View
Enabling Principles
• Operability : As only one service (process) is run in the
container, this pattern requires careful consideration of
its operational concerns such as logging, monitoring and
restarting the container should the process inside crash.
Risks & Issues
• Maintainability: Smaller, lightweight containers
• Operability: Stacks are easier to compose by combining
and linking containers withdifferent components
• Security: Smaller attacksurface incase of vulnerabilities
Benefits / Force
The “one service per container” app enforces anapproach where a
container runs only a single applicationor service. No process
manager is used within the container.
Implement an application packaged withina container, as the only
one process that runs within the container.
Overview
Logging Monitoring
Data Storage Frontend
Clustering Security Service Discovery Persistence
What features do we need?
Clustering
Load balancing
Fail-over
Authentication
Authorization
Encryption
Digital Signature
Service Lookup &
Indirection
Publishing &
Subscribing
APIs
Image
Persistence
Versioning
Data persistence
Infrastructure
Runtime
Platform
Administration
Public/
Private Cloud
VM Bare Metal
Host OS Container OS
Container
Engine
Container
Tooling
Browser
Application
Integrations
Containers
Data
Registry
Storage
Orchestration
Resource
Management
Service
Discovery
Data AccessNetworkingMetrics
DevOps
Image Build/
Deployment
Monitoring
Logging
What components do we need?
Getting opinionated: Component Reference Architecture for Docker
Datacenter on AWS
Infrastructure
Runtime
Services
Administration
Orchestration Resource Management Service Discovery
Data Access
Browser Containers
Data
Metrics
DevOps
CloudWatch
Networking
Overlay Network Flocker
Docker Compose
Universal Control
Plane
Overlay DNS (intra-
cluster)
EC2
Storage
Registry
Docker Trusted
Registry
Docker Volumes
Storage
EBS
Service Discovery
Interlock
Container OS
Docker Docker
Amazon Linux
Engine
Host OS
Container Tooling
Monitoring
CloudWatch
Logging
CloudWatch Logs
Image build/
Deployment
Jenkins CI
How about the old stuff?
Container Platform
Old stuff New stuff
Efficiently migrating
existingapplications to containers
Central Internal Team Project-based migration Migration factory
Centralized team working in
concert with project teams to
coordinate and migrate
projects to the new platform
Leverage existing project
team group to orchestrate and
execute migration effort
+ Fast, efficient deployment
+ Shared team provides
economies of scale and
knowledge sharing
+ Optimized resource model
+ Focused on migration
delivery and managed to
avoid cost overruns
- Increased number of
resources
- Limited cross-team
knowledge sharing
- Lengthier migration
- Inconsistent migrations
- Team has other priorities
- Limited or non-existent
container skills
- Limited migration skills
Migration conducted by an
internal team, staffed by
current IT resources
Centralizing the migration effort
Migration Factory
Docker
Migration Team
Migration Framework
Container
Patterns
Container
Best
Practices
Base
Images
Container Reference Architecture
Legacy
Application
Expertise + Framework + Feedback loop
Establish Overall
Migration Plan
Perform Detailed
Migration Planning
Upgrade/Migrate
Applications
Certify/Deploy
Applications
Migration & RolloutDiscovery & Assessment
High-Level
Assessment
& Planning
Detailed
Application
Assessment Testing &
Certification
App. Architecture
Recommendations
Container Infrastructure
Planning
Rollout &
Decom-
mission
Containerize
Application
@oscarrenalias
github.com/accenture
oscar.renalias@accenture.com
www.linkedin.com/oscarrenalias
www.slideshare.net/oscarrenalias
Thank you!

More Related Content

PPTX
Docker In Cloud
PDF
56K.cloud Docker Training
PDF
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
PDF
Making Friendly Microservices by Michele Titlol
PPTX
Docker for the Enterprise with Containers as a Service by Banjot Chanana
PDF
DCSF 19 How Entergy is Mitigating Legacy Windows Operating System Vulnerabili...
PDF
Olivier meetup-boston-2013-jan-21-v2
PDF
DCSF 19 Improving the Human Condition with Docker
Docker In Cloud
56K.cloud Docker Training
On-the-Fly Containerization of Enterprise Java & .NET Apps by Amjad Afanah
Making Friendly Microservices by Michele Titlol
Docker for the Enterprise with Containers as a Service by Banjot Chanana
DCSF 19 How Entergy is Mitigating Legacy Windows Operating System Vulnerabili...
Olivier meetup-boston-2013-jan-21-v2
DCSF 19 Improving the Human Condition with Docker

What's hot (20)

PDF
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
PDF
DCSF 19 Microservices API: Routing Across Any Infrastructure
PPTX
DockerCon 16 General Session Day 2
PDF
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
PPTX
Hypervisor "versus" Linux Containers with Docker !
PPTX
Docker and Devops
PPTX
Containers and VMs and Clouds: Oh My. by Mike Coleman
PDF
VMware@Night: Container & Virtualisierung
PDF
Containers and microservices for realists
PPTX
Citrix in AR/VR
PPTX
20 mins to Faking the DevOps Unicorn by Matt williams, Datadog
PPTX
Weave User Group Talk - DockerCon 2017 Recap
PDF
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
PDF
DCSF 19 Docker Enterprise Platform and Architecture
PPTX
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
PPTX
Webinar: How and Why to Containerize Your Legacy Applications
PPTX
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
PPTX
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
PPTX
Delivering Developer Tools at Scale
PPTX
Oracle Code Keynote with Thomas Kurian
Evénement Docker Paris: Anticipez les nouveaux business model et réduisez vos...
DCSF 19 Microservices API: Routing Across Any Infrastructure
DockerCon 16 General Session Day 2
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
Hypervisor "versus" Linux Containers with Docker !
Docker and Devops
Containers and VMs and Clouds: Oh My. by Mike Coleman
VMware@Night: Container & Virtualisierung
Containers and microservices for realists
Citrix in AR/VR
20 mins to Faking the DevOps Unicorn by Matt williams, Datadog
Weave User Group Talk - DockerCon 2017 Recap
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Docker Enterprise Platform and Architecture
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
Webinar: How and Why to Containerize Your Legacy Applications
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Delivering Developer Tools at Scale
Oracle Code Keynote with Thomas Kurian
Ad

Similar to DockerCon 2016 - Structured Container Delivery (20)

PPTX
Structured Container Delivery by Oscar Renalias, Accenture
PPTX
{code} and Containers - Open Source Infrastructure within Dell Technologies
PPTX
{code} and containers
PPTX
Kubernetes: від знайомства до використання у CI/CD
PDF
A curtain-raiser to the container world Docker & Kubernetes
PPTX
doitUNIT I - Docker-Containerization.pptx
PPTX
Designing Microservices
PDF
The state of containers for your DevOps journey
PDF
DevOps and BigData Analytics
PDF
Containerization Strategy
PPTX
Containers as Infrastructure for New Gen Apps
PDF
Service fabric and azure service fabric mesh
PPTX
ThatConference 2016 - Highly Available Node.js
PDF
Net Pipeline on Windows Kubernetes
PPTX
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
PDF
Stay productive_while_slicing_up_the_monolith
PPTX
UNITde II - Docker-Containerization.pptx,
PPTX
Highly available nodejs
PDF
Kubernetes vs App Service
PPTX
Re:invent 2016 Container Scheduling, Execution and AWS Integration
Structured Container Delivery by Oscar Renalias, Accenture
{code} and Containers - Open Source Infrastructure within Dell Technologies
{code} and containers
Kubernetes: від знайомства до використання у CI/CD
A curtain-raiser to the container world Docker & Kubernetes
doitUNIT I - Docker-Containerization.pptx
Designing Microservices
The state of containers for your DevOps journey
DevOps and BigData Analytics
Containerization Strategy
Containers as Infrastructure for New Gen Apps
Service fabric and azure service fabric mesh
ThatConference 2016 - Highly Available Node.js
Net Pipeline on Windows Kubernetes
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Stay productive_while_slicing_up_the_monolith
UNITde II - Docker-Containerization.pptx,
Highly available nodejs
Kubernetes vs App Service
Re:invent 2016 Container Scheduling, Execution and AWS Integration
Ad

More from Oscar Renalias (11)

PPTX
Enterprise Open Source
PPTX
DockerCon EU 2017 - Containers are not just for microservices
PPTX
Containers aren’t just for microservices – Containerizing Legacy Workloads
PPTX
50 production deployments a day, at least
PPTX
Containerize everything - Wildcardconf 2015
PPTX
Next-generation JavaScript - OpenSlava 2014
PPTX
Node.js, for architects - OpenSlava 2013
PPTX
OpenSlava 2013 - Dynamic Languages
PDF
Asynchronous web apps with the Play Framework 2.0
PDF
ScalaCheck Cookbook v1.0
PPTX
Unlocking value in your (big) data
Enterprise Open Source
DockerCon EU 2017 - Containers are not just for microservices
Containers aren’t just for microservices – Containerizing Legacy Workloads
50 production deployments a day, at least
Containerize everything - Wildcardconf 2015
Next-generation JavaScript - OpenSlava 2014
Node.js, for architects - OpenSlava 2013
OpenSlava 2013 - Dynamic Languages
Asynchronous web apps with the Play Framework 2.0
ScalaCheck Cookbook v1.0
Unlocking value in your (big) data

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
MYSQL Presentation for SQL database connectivity
Chapter 3 Spatial Domain Image Processing.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Understanding_Digital_Forensics_Presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
GamePlan Trading System Review: Professional Trader's Honest Take
NewMind AI Monthly Chronicles - July 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Review of recent advances in non-invasive hemoglobin estimation
MYSQL Presentation for SQL database connectivity

DockerCon 2016 - Structured Container Delivery

  • 3. Infrastructure DevOps Architecture Virtualization/ Cloud savings Hardware savings Flexible platforms Predictability Flexible application environments Efficiency Alignment with modern architectures Developer Productivity • Reduce/eliminate virtualization licenses for workloads to be containerized • Reduce number of hardware blades/servers/cloud instances • Faster container startup times means instances can be turned off when not used, or dynamically scaled according to demand • Minimize environment and configuration defects in new environment setup by packaging all components and dependencies in containers • Provision an arbitrary number of application environments easily, when needed, and destroy them when done • Minimize human effort / involvement with deploying code to new environments • Containers are a great runtime platforms for modern scalable and high performance application architectures, e.g. microservices • Greatly reduce the amount of time needed for a developer to create a working application environment locally $$$ $$$ $ $$ $$$ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ Benefit Container Business Case
  • 4. So you want to run containers? Container Platform
  • 5. Dev Tools Official Repositories Operating Systems Big Data Service Discovery Build / Continuous Integration Configuration Management Management Storage Clustering & Scheduling Networking Infrastructure & Service Providers Security Monitoring & Logging Where do we start?
  • 7. Container Platform Architecture Principles Patterns Capabilities Reference Implementations
  • 8. Understanding how to design for, and with containers Business Continuity Operations Agility Prepare for Failure Fit for Purpose Adaptability and Flexibility Infrastructure Independence Information Security Leverage service discovery for inter/external service lookup Use standard protocols to interact with interfaces Use standardized and best-practice components Reuse services offered by platform and extend components if necessary Data Integrity Communications Prefer container image digital-signing Use isolated networking between containers, regardless of their location Prefer lightweight infrastructure components Use container clustering and/or other HA practices Use external persistence data sources for container data Leverage DevOps practices for container image build and deployment L1 Principles L2 Decisions Leverage dynamic routing capabilities Monitor container infrastructure components Limit container access Use private or secure hosted image registry Container as the build artifact Immutable infrastructure, deploy by replacing old containers with new ones Make sure that logs aren't retained only in containers Version container images in repository Encourage reuse of container definitions Data and process must be encapsulated Multi-tenancy – keep teams isolated
  • 9. How do we do <…> with containers? • Operations agility: This pattern handles complex architecture in build process where multiple version of packages are to be managed Architecture Pattern: Container as build output Conceptual View Enabling Principles • Usability: There should be no reason to not build containers using a Continuous Integration platform and leverage the automation and versioning capabilities provided. Risks & Issues • Operability: Best used when continuos integrationis needed • Versioning: Continuous Integration platform is also responsible for versioning containers and publishing them to a private/public Docker registryfor consumption Benefits / Force Integrate the container build process withina Continuous Integration tool and ensures repeatability of the build process. Additionally, the CI platform is alsoresponsible for versioning containers and publishing them to a private/public Docker registry for consumption. Overview SCM Jenkins Docker Internal Registry Receive Code Build Container Tag Container Push Container • Prepare for failure: As one contaioner provides only one service, isolation is preserved. And failure of one unit in system do not affect other services. • Operations agility: As each container offers single service it can be used by multiple applicationwithout affecting others Architecture Pattern: One service per container Conceptual View Enabling Principles • Operability : As only one service (process) is run in the container, this pattern requires careful consideration of its operational concerns such as logging, monitoring and restarting the container should the process inside crash. Risks & Issues • Maintainability: Smaller, lightweight containers • Operability: Stacks are easier to compose by combining and linking containers withdifferent components • Security: Smaller attacksurface incase of vulnerabilities Benefits / Force The “one service per container” app enforces anapproach where a container runs only a single applicationor service. No process manager is used within the container. Implement an application packaged withina container, as the only one process that runs within the container. Overview Logging Monitoring Data Storage Frontend
  • 10. Clustering Security Service Discovery Persistence What features do we need? Clustering Load balancing Fail-over Authentication Authorization Encryption Digital Signature Service Lookup & Indirection Publishing & Subscribing APIs Image Persistence Versioning Data persistence
  • 11. Infrastructure Runtime Platform Administration Public/ Private Cloud VM Bare Metal Host OS Container OS Container Engine Container Tooling Browser Application Integrations Containers Data Registry Storage Orchestration Resource Management Service Discovery Data AccessNetworkingMetrics DevOps Image Build/ Deployment Monitoring Logging What components do we need?
  • 12. Getting opinionated: Component Reference Architecture for Docker Datacenter on AWS Infrastructure Runtime Services Administration Orchestration Resource Management Service Discovery Data Access Browser Containers Data Metrics DevOps CloudWatch Networking Overlay Network Flocker Docker Compose Universal Control Plane Overlay DNS (intra- cluster) EC2 Storage Registry Docker Trusted Registry Docker Volumes Storage EBS Service Discovery Interlock Container OS Docker Docker Amazon Linux Engine Host OS Container Tooling Monitoring CloudWatch Logging CloudWatch Logs Image build/ Deployment Jenkins CI
  • 13. How about the old stuff? Container Platform Old stuff New stuff
  • 15. Central Internal Team Project-based migration Migration factory Centralized team working in concert with project teams to coordinate and migrate projects to the new platform Leverage existing project team group to orchestrate and execute migration effort + Fast, efficient deployment + Shared team provides economies of scale and knowledge sharing + Optimized resource model + Focused on migration delivery and managed to avoid cost overruns - Increased number of resources - Limited cross-team knowledge sharing - Lengthier migration - Inconsistent migrations - Team has other priorities - Limited or non-existent container skills - Limited migration skills Migration conducted by an internal team, staffed by current IT resources Centralizing the migration effort
  • 16. Migration Factory Docker Migration Team Migration Framework Container Patterns Container Best Practices Base Images Container Reference Architecture Legacy Application Expertise + Framework + Feedback loop
  • 17. Establish Overall Migration Plan Perform Detailed Migration Planning Upgrade/Migrate Applications Certify/Deploy Applications Migration & RolloutDiscovery & Assessment High-Level Assessment & Planning Detailed Application Assessment Testing & Certification App. Architecture Recommendations Container Infrastructure Planning Rollout & Decom- mission Containerize Application

Editor's Notes

  • #3: Containers everywhere. Clients are very interested and are can definitely see the business case.
  • #4: Containers have clear benefits, but how do we get there?
  • #5: So you want to run containers, but where do you start? We need a container platform. What should be in there? What capabilities do we need? What components should provide those capabilities? Once we have a platform, we can build stateless microservices, yay. But there’s a whole lot of legacy applications that could greatly benefit from running on containers, not least because of infrastructure cost and licensing savings.
  • #14: So you want to run containers, but where do you start? We need a container platform. What should be in there? What capabilities do we need? What components should provide those capabilities? Once we have a platform, we can build stateless microservices, yay. But there’s a whole lot of legacy applications that could greatly benefit from running on containers, not least because of infrastructure cost and licensing savings.
  • #17: Repeatable, industrialized Low risk Cost-efficient Feedback loop – migration learnings are fed back