2. THE CONCIERGE PARADIGM
YOUR CONCIERGE FOR THE EVENING
▸ DevOps back in 2004
▸ Was running containers in production many years ago
▸ Built a self-service VM infrastructure. Aka cloud.
▸ A couple of companies built better versions
3.
4.
5. THE CONCIERGE PARADIGM
HISTORY OF CONTAINERS
▸ 1979: chroot
▸ Jails, Zones, LXC (2000, 2004, 2008)
▸ Along comes AWS
▸ Docked back in
6.
7. THE CONCIERGE PARADIGM
FLYING FISH
▸ Whales aren't native to clouds
▸ Maintaining pets
▸ Monitoring
▸ Scheduling
▸ Auto-scaling
▸ Service discovery
8.
9. THE CONCIERGE PARADIGM
LAYER CAKE
▸ New technologies (Kubernetes, Mesos)
▸ Complex
▸ Integrating different workloads and IaaS
▸ Up-skilling and support
▸ Tight coupling and dependency
13. THE CONCIERGE PARADIGM
OPERATING PAINS
▸ On-Premise, ECS, CoreOS, Kubernetes
▸ Zabbix and Librato
▸ Papertrail and Elastic Stack
▸ Dropwizard with agents pulling from applications
▸ bumped all of the common issues
▸ Windowing and performance
14.
15. THE CONCIERGE PARADIGM
AUTOPILOT PATTERN
▸ No complex framework
▸ Two fundamental components
▸ Service discovery
▸ and process orchestration
▸ Small piece of code to automate common actions
17. THE CONCIERGE PARADIGM
FLYING ON AUTOPILOT
▸ Scheduler agnostic
▸ Most things just work
▸ App-centric orchestration
▸ Drastically less management
▸ Production grade environment, test environment time
▸ Co-processes!
18.
19. THE CONCIERGE PARADIGM
BATTERIES INCLUDED
▸ loose-couple to well defined systems
▸ Automatically register our containers
▸ Automatically discover resources
▸ Self-healing or corrective actions
20.
21. THE CONCIERGE PARADIGM
PUSH VS PULL
▸ push method: auto-register but no confidence in instance
▸ pull method: centralised configuration but extra overhead
▸ Pull understands load and partitioning
▸ Windowing
▸ Object processing poor performance
▸ Can we unify push and pull?
22.
23. THE CONCIERGE PARADIGM
THE CONCIERGE COURIER
▸ Two purposes (discovery, delivery)
▸ Learns metrics
▸ Picks up metrics
▸ Delivers them
▸ Records delivery
▸ Highly efficient Python script
26. THE CONCIERGE PARADIGM
THE CONCIERGE COURIER
▸ Monitoring system agnostic
▸ No windowing
▸ Pull from anywhere
▸ Timing the pull
▸ 340,000 metrics every 30 seconds
27. THE CONCIERGE PARADIGM
THE ENFIELD METHOD
▸ Like the rifle
▸ Greater confidence in container state
▸ Greater confidence in state of whole system
▸ Backoff under network issues
▸ More frequent updates
28. THE CONCIERGE PARADIGM
STATE TO STATE
▸ 2 systems of validation
▸ End-to-end view of whole system
▸ Dev/Ops on the same page
▸ State history
▸ State manipulation!
29.
30. THE CONCIERGE PARADIGM
STATE CONTROL
▸ Consul keeps configuration state
▸ Monitoring granular state
▸ Dynamic Asset database
▸ Automate scheduling, scaling, archiving
31.
32. THE CONCIERGE PARADIGM
THE CONCIERGE SCHEDULER
▸ Containers Auto-register
▸ Monitoring grouping them services
▸ Data about whole system
▸ Push & pull state
▸ Optimised over many years
▸ Basically just runs docker scale
33. TEXT
SCALING
▸ Complex trigger profiles
▸ Vertical scaling
▸ Escalation steps
▸ Compare upstream service performance as well
▸ Pre-scaling using a predictive trigger
▸ Scaling events with problem events
35. THE CONCIERGE PARADIGM
CONCLUSION
▸ We're already: doing event management, auto-registering,
aggregating metrics, performing actions on triggers,
maintaining system state, highly optimised, self-healing,
▸ Now we're simply using that information to control the state
▸ Short lead time
▸ Push and Pull methods
▸ Accuracy and performance of monitoring microservices is
greatly improved
36. THE CONCIERGE PARADIGM
WHATS NEXT
▸ Load testing Zabbix Server/Proxy
▸ Use Zabbix Python interpreter module
▸ Make this native in Zabbix?
▸ DevOps everything!
▸ Watch our Github repo
37. THE CONCIERGE PARADIGM
SO LONG AND THANKS FOR ALL THE FISH
▸ Read the full article at http://www.mesoform.com/blog-
listing/info/the-concierge-paradigm
▸ Search: "mesoform concierge paradigm"
▸ @MesoformLtd
▸ mesoform
▸ http://www.mesoform.com/contact-us