Managing scalable infrastructure based on monitoring
22 Nov 2013•0 j'aime
4 j'aime
Soyez le premier à aimer ceci
afficher plus
•1,658 vues
vues
Nombre de vues
0
Sur Slideshare
0
À partir des intégrations
0
Nombre d'intégrations
0
Signaler
Technologie
A presentation from #CCCEU13. It is based on Forthscale`s method of running scalable infrastructure with the help of monitoring systems. Now updated as for OpsTalk TLV
Groundlaying
●
●
●
●
●
Semantics (intent or a desired state)
Dynamics (actual behavior)
Dev think mostly about semantics
Ops think mostly about dynamics
DevOps = complete picture
● Thank you Mark Burgess
Groundlaying
● 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.
What is scaling
Scaling is switching multiple Equilibrium points
in accordance with current resources demand.
Groundlaying
● 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
management.
●
●
●
●
Provide availability
Keep user experience
Manage costs
Account for usage
Cases
Mainly running an operation with fluctuating
resource consumption.
● Web app (externally or internally hosted)
● Mobile app (externally hosted)
● Intranet app (internally hosted)
● Data analysis (externally or internally
hosted)
Basics - a perfectly good stack
●
●
●
●
Clear policy on resource consumption
Stack parts horizontal scalability
Non sticky nodes (for easy replacements)
Simply orchestrated
The Forthscale way
What is the best way to allocate
resources?
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
●
●
●
●
Is a cloud orchestration platform
Manages computing resources allocation
Has an extensive API
Yes we can use other platforms
Munin
Munin is an open source client /server
monitoring application that presents output in
graphs through a web interface
yes, any monitoring will do.
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?
Handling - Orchestration
Issues can arise on any level
●
●
●
●
IaaS resources
OS
Middleware
Continuous Integration
Better use orchestration tool that supports any
dynamic, any part of the stack.
Ansible
Why ? “why not just use Ansible instead?”
case.
● Simple
● Agentless
● Powerfull
● Python
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
resources needed.
3. Proactive policy for resource allocation.
Use scenarios - version release
New version can also lead to changes in
computing power requests.
1.
2.
3.
4.
Building a stage environment.
Executing a load test.
Comparing monitoring metrics.
Adjusting resources together with
deployment