第1页
Faster, Cheaper, Safer
Secure Microservice Architectures using Docker
Adrian Cockcroft @adrianco Technology Fellow - Battery Ventures
June 2015
第2页
Key Goals of the CIO? Align IT with the business Develop products faster
Try not to get breached
第3页
Security Blanket Failure
Insecure applications hidden behind firewalls make you feel safe until the breach happens…
http://peanuts.wikia.com/wiki/Linus'_security_blanket
第4页
What needs to change?
第5页
Developer responsibilities: Faster, cheaper, safer
第6页
Faster - Agile
第7页
“You build it, you run it.”
Werner Vogels 2006
第8页
DevOps Continuous Delivery No meetings, no tickets Self service tools and APIs
第9页
Run What You Wrote
99.95% customer success rate
Availability Metrics
Manager
VP Engineering
Manager
Developer
Developer
Developer
Developer
Site Reliability
Monitoring Tools
Micro service
Micro service
Micro service
Micro service
Micro service
Micro service
Micro service
第10页
Launch AB Test
Land grab opportunity
Measure Customers
INNOVATION
Competitive Move
Observe
Customer Pain Point
Automatic Deploy
Incremental Features
Act
Continuous Delivery
CLOUD
Decide Share Plans
CULTURE
Orient
Analysis
BIG DATA
Model Hypotheses
Plan Response
JFDI
第11页
Low Cost of Change Using Docker
Developers • Compile/Build
• Seconds
Extend container • Package dependencies
• Seconds
PaaS deploy Container • Docker startup
• Seconds
Fast tooling supports continuous delivery of many tiny changes
第12页
Change One Thing at a Time!
第13页
What Happened?
Rate of change increased
Cost and size and risk of change reduced
第14页
Cheaper - Lean
第15页
“Freedom and responsibility”
Reed Hastings 2009
第16页
Fail early and often Instrument everything Hypothesis driven development Efficient and autoscaled
第17页
Efficiency Gains: Virtualization consolidates CPUs Docker consolidates CPU and RAM
第18页
With Docker a test environment should only exist for the few seconds it takes to run a test
第19页
Autoscale production to consume just the resources you need, by the second
第20页
Safer - Rugged
第21页
“Developer Defined Infrastructure”
Jerry Chen 2015
第22页
What can developers do about the threats?
第23页
External Threats
Build using penetration test tools Manage image supply chain Hardened immutable services
Service roles and security groups
第24页
Internal Threats
Assume employees are compromised User roles, minimum privilege Audit logs for everything Encrypt data at rest
第25页
Patterns and practices
第26页
In Production
https://www.docker.com/resources/usecases/
and many more….
第27页
Patterns and practices
第28页
Best Practices
https://blog.docker.com/2015/05/understanding-docker-security-and-best-practices/
第29页
Immutable deployments Automated penetration testing Role based identity and access Trusted container supply chain
Continuous audit
第30页
Workloads
第31页
Need for Speed
CPU and IO Intensive workloads Hadoop, streaming, datastores
Bare metal for efficiency Well isolated for security
第32页
Cutting the Cost
Many similar containers per VM Saving on RAM, oversubscribe CPU Deploy with Swarm, Mesos, ECS, GKE
VM based single tenant security
第33页
Playing it Safe
One critical container per VM Extra security for exposed services
Deploy as immutable VM image Docker adds to VM security
第34页
Tooling for Docker
and many more….
第35页
Docker in Production
2014 - DIY frameworks 2015 - Hardening and best practices
2016 - Mature production tooling
第36页
Disclosure: some of the companies mentioned may be Battery Ventures Portfolio Companies See www.battery.com for a list of portfolio investments
Thanks !
Continue the discussion on Twitter @adrianco
Adrian Cockcroft Technology Fellow - Battery Ventures
June 2015