Top Banner
The DevOps MeetUp Seven Bridges Infrastructure Tools Ivan Vandot SevenBridges.com
25

SBG Infrastructure Tools

Jan 08, 2017

Download

Engineering

Ivan Vandot
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SBG Infrastructure Tools

The DevOps MeetUp

Seven Bridges InfrastructureTools

Ivan Vandot

SevenBridges.com

Page 2: SBG Infrastructure Tools

The way backWe had one production environment with multiple serversOne beta server with all components with versions matchingcurrent production as a hot�x environmentOne beta server clone for next release, we can call it “staging”One integrations server that never worked

Page 3: SBG Infrastructure Tools

The way backTen production componentsCon�gurations for all services were kept in Git repo in separatedirectories for di�erent environments and componentsCon�gurations were changed manually and merged from onerelease to another

Page 4: SBG Infrastructure Tools

The way backBunraku was on worker instances and Skynet system utilizedBunraku on static server infrastructureNobody knew how to manually con�gure and bring up newenvironment, whether it is a production, development or betaWe knew all build dependencies for all components, but not theruntime

Page 5: SBG Infrastructure Tools

Vayu -> Context -> Minion

Page 6: SBG Infrastructure Tools

ContextWritten in DjangoIt has almost complete APICreated with security in mind

Page 7: SBG Infrastructure Tools

ContextCan clone and merge con�gurations from one environment toanotherCon�gurations are versionedGlobals feature

Page 8: SBG Infrastructure Tools

Context

Page 9: SBG Infrastructure Tools

MinionFirst it was written in PythonMinion was created on the principles of SkynetLater rewritten in Go

Page 10: SBG Infrastructure Tools

MinionGo minion has CLI client called mnn also written in GoIt has JSON based con�guration �les with possibility ofcon�guration inheritance

Page 11: SBG Infrastructure Tools

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"

Page 12: SBG Infrastructure Tools

MinionMinion provided us uniformity in managing our servicesRuler and goruler

Page 13: SBG Infrastructure Tools

VayuWritten in DjangoVayu service is keeping the data of all development environmentsand provides web-interface for creating and updating themMinion and Context emerged as a need for Vayu, not as servicesthat were planned

Page 14: SBG Infrastructure Tools

VayuMany things were left to be part of Amazon AMIVayu web interface has not changed much, neither thefunctionality

Page 15: SBG Infrastructure Tools

Vayu

Page 16: SBG Infrastructure Tools

Vayu StateVayu state was added to Vayu

Page 17: SBG Infrastructure Tools

Current State

Multiple production environments, eachwith its own staging environment, more

than 100 vayus

Page 18: SBG Infrastructure Tools

How can something ofinfrastructure move into

production and contribute tothe product

Page 19: SBG Infrastructure Tools

Bunraku muerto

Page 20: SBG Infrastructure Tools

Emerging from infrastructure -Minion

Page 21: SBG Infrastructure Tools

Minit - Minion Initialization

Page 22: SBG Infrastructure Tools

Clockwork

Houston we have a problem!

Page 23: SBG Infrastructure Tools

Clockwork

Page 24: SBG Infrastructure Tools

Houston

Page 25: SBG Infrastructure Tools

Q&A