The DevOps MeetUp
Seven Bridges Infrastructure
Tools
Ivan Vandot
SevenBridges.com
The way back
We had one production environment with multiple servers
One beta server with all components with versions matching
current production as a hot x environment
One beta server clone for next release, we can call it “staging”
One integrations server that never worked
The way back
Ten production components
Con gurations for all services were kept in Git repo in separate
directories for di erent environments and components
Con gurations were changed manually and merged from one
release to another
The way back
Bunraku was on worker instances and Skynet system utilized
Bunraku on static server infrastructure
Nobody knew how to manually con gure and bring up new
environment, whether it is a production, development or beta
We knew all build dependencies for all components, but not the
runtime
Vayu -> Context -> Minion
Context
Written in Django
It has almost complete API
Created with security in mind
Context
Can clone and merge con gurations from one environment to
another
Con gurations are versioned
Globals feature
Context
Minion
First it was written in Python
Minion was created on the principles of Skynet
Later rewritten in Go
Minion
Go minion has CLI client called mnn also written in Go
It has JSON based con guration les with possibility of
con guration inheritance
Minion JSON configuration
{
"=": [
"_component",
"_config",
"_host"
],
"check-url": "https://{{fqdn}}:{{port}}/status",
"port": "8889",
"start": [
{
"#": "start the service",
"=": "cmd",
"args": [
"start"
],
"dir": "/data/app/{{name}}",
"env": [
"JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre",
"LANG=en_US.UTF-8"
],
"exec": "bin/{{name}}-server.sh"
Minion
Minion provided us uniformity in managing our services
Ruler and goruler
Vayu
Written in Django
Vayu service is keeping the data of all development environments
and provides web-interface for creating and updating them
Minion and Context emerged as a need for Vayu, not as services
that were planned
Vayu
Many things were left to be part of Amazon AMI
Vayu web interface has not changed much, neither the
functionality
Vayu
Vayu State
Vayu state was added to Vayu
Current State
Multiple production environments, each
with its own staging environment, more
than 100 vayus
How can something of
infrastructure move into
production and contribute to
the product
Bunraku muerto
Emerging from infrastructure -
Minion
Minit - Minion Initialization
Clockwork
Houston we have a problem!
Clockwork
Houston
Q&A

SBG Infrastructure Tools