● Complexity is THE source of randomness.
● Complexity is the birthplace of chaos
● We all know the KISS principle but fail it.
The maintenance theorem says: you can't
really control anything over time. Best you can
do is to keep it roughly in balance.
● People tend to use modern IaaS same way
they used to operate hardware systems.
● If you do not take true advantage of IaaS
why pay it`s premia?
● If you are paying for it, maybe it could be a
good idea to actually use it?
Basics - Operator goals
Use IaaS to improve infrastructure lifecycle
Keep user experience
Account for usage
Mainly running an operation with fluctuating
● Web app (externally or internally hosted)
● Mobile app (externally hosted)
● Intranet app (internally hosted)
● Data analysis (externally or internally
Basics - a perfectly good stack
Clear policy on resource consumption
Stack parts horizontal scalability
Non sticky nodes (for easy replacements)
The Forthscale way
What is the best way to allocate
Monitoring stack and learning what
resources are needed and when
Controller building blocks
● CloudStack allows to manage allocation of
computation resources (IaaS).
● Munin monitoring collects analytical data
about infrastructure performance.
● Ansible for infrastructure orchestration.
Cloudstack + Munin = 日本のスタイル
Set of plugins done with CloudMonkey
Can store all metrics provided by api
Correlate IaaS, OS and AppStack issues
Can use Nagios or similar for alerting
But why just alert then you can handle?
Use scenarios - Vertica
Vertica is a SQL compliant grid database.
1. Adding or removing nodes based on amount
of resources needed.
2. Changing nodes sizes based on amount of
3. Proactive policy for resource allocation.
Use scenarios - version release
New version can also lead to changes in
computing power requests.
Building a stage environment.
Executing a load test.
Comparing monitoring metrics.
Adjusting resources together with