Video: The Container Operator’s Manual - Alice Goldfuss | #LeadDevLondon 2018
Containers are processes
born from tarballs
anchored to namespaces
controlled by cgroups
4 Lessions
1) containers have strengths - stateless
stateless applications
data -> APPLICATION -> data
- portable
- iterate
- disaster recovery
- standardized
- testing environments
2) containers have weaknesses - databases
statefull applications
aka containerizing databases
"Are you Google?"
reasons to try:
- Faster provisioning
- Stability
- faster recovery
--> cloud provider + tooling
"You wanna DIY, really? really!?"
2 main solutions:
- containerized databases
- send their data to network backed storage array (eg. SEF)
- --> network bound
- containerized instances on host
- store data on host (eg. /data) using mounted volume
- --> network bound
--> keep it small
=> cloud provider
3) Containers need friends - ecosystem
"It's never 'just' containers"
How will you
- build your container tarballs?
- docker (primed for dev setup)
- ...?
- schedule container resources? (orchestration)
- where to run
- which host
- automated?
- manage clusters?
- health checks
- drain traffic
- automatic failover
- handle routing, access control, service discovery? (networking)
deployment
monitoring
provisioning
debugging
gradual rollout
- 1 year
end goal
!= all is containerized
== hybrid: legacy + containerized
4) Containers need headcount - new team
"We'll just give it to ops" DONT
new team
skills needed:
- knows operations (at your company)
- knows deployments (at your company)
- write & test tooling + glue together
- monitoring
- kernel engineer
- networking
- security
- help with internal adoption - relationships, invite ppl to beta platform
- project manager
6-8 ppl, atleast 4 ppl
empower them to succeed
- budget to run different cloud providers
- mandate to mess with other's roadmaps
Should we use containers in prod?
Do you have...
- stateless services?
- a large heterogenous platform?
- time money, people, org support?
--> Yeay contaners!!
Do you have...
- a monolith and few services
- a small team with no org support
--> Boo, containers!!
Do you want containers or a blog post?
"it would be rad" -> DON'T do containers