openfest 2014 aggressive devops

30
Aggressive DevOps Ivo Vachkov Xi Group Ltd.

Upload: ivo-vachkov

Post on 12-Jul-2015

296 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: OpenFest 2014 Aggressive DevOps

Aggressive DevOps

Ivo Vachkov

Xi Group Ltd.

Page 2: OpenFest 2014 Aggressive DevOps

What is “DevOps”?!

• Is it a technology / tooling?!

• Is it a cultural thing?!

• Is it a business thing?!

• Should I even care …

Page 3: OpenFest 2014 Aggressive DevOps

DevOps

• Development + Operations

• It is technological in nature!

• It is a cultural thing!

• “The Business” needs it!

Page 4: OpenFest 2014 Aggressive DevOps

A few myths about the DevOps

• Developers can do Ops

• System Administrators are obsolete

• You need it only for the Cloud

• It is supplementary activity

Page 5: OpenFest 2014 Aggressive DevOps

Why should I care?!

• Because today everything is distributed …

• … and distributed systems are hard!

• Because IT complexity is constantly growing!

• Because it allows you to scale the human factor!

Page 6: OpenFest 2014 Aggressive DevOps

Lets get technical!

Page 7: OpenFest 2014 Aggressive DevOps

The new normal

• Not a single server anymore!

Page 8: OpenFest 2014 Aggressive DevOps

The new normal

• Workload is dynamic!

Page 9: OpenFest 2014 Aggressive DevOps

The new normal

• Distributed systems are complex and fragile!

• Distributed systems come with control planes!

• Service discovery is required!

• “errāre hūmānum est” (Seneca)

Page 10: OpenFest 2014 Aggressive DevOps

… and from the ashes DevOps will rise, Fierce and Mighty …

Page 11: OpenFest 2014 Aggressive DevOps
Page 12: OpenFest 2014 Aggressive DevOps

… to help us …

• … change system architectures …

• … bring order to chaos …

• … build and deploy the product …

• … monitor everything …

• … analyze the log files …

• … educate Developers in all things Ops …

• … build data-driven control planes …

• … and much, much more …

Page 13: OpenFest 2014 Aggressive DevOps

New problems require new tools

• Configuration management

– Puppet, Chef, Ansible, Salt

– Vagrant

– Fabric, Gearman

• Infrastructure-as-a-Code tools

– AWS CLI / python-boto, REST API

– Joyent SmartDataCenters / node.js sdc

– Rackspace, CloudFlare / REST API

Page 14: OpenFest 2014 Aggressive DevOps

New problems require new tools

• Build and deployment automation

– Jenkins / Hudson

– Travis CI

– BuildBot

• Service Discovery

– DNS-SD

– Etsy ETCD, Heroku Doozer, Apache Zookeeper

– Consul & Serf

Page 15: OpenFest 2014 Aggressive DevOps

New problems require new tools

• Full-stack application monitoring

– Graphite, Ganglia

– New Relic

– StackDriver, Signal Fuse, Boundary, AWS CloudWatch, …

• Alerting systems

– Nagios (really?!)

– Sensu

– PagerDuty, AWS SNS, …

Page 16: OpenFest 2014 Aggressive DevOps

Focus: Continuous Delivery

• Jenkins is your friend!

Page 17: OpenFest 2014 Aggressive DevOps

Focus: Continuous Delivery

• Build on every commit / merge!

• Deploy after every build!

• Verify / Smoke-test the deployment!

• If possible, route some real traffic to it!

Page 18: OpenFest 2014 Aggressive DevOps

Focus: Monitoring

• Nagios is obsolete but relevant …

• … it can still handle quite some load …

Page 19: OpenFest 2014 Aggressive DevOps

Focus: Monitoring

Page 20: OpenFest 2014 Aggressive DevOps

Focus: Monitoring

• Infrastructure vitals

– CPU / Memory / Disk / etc.

• Application vitals

– Critical processes / Critical services / Queues / etc.

• External triggers & Perceived performance

– User counts / Change rates / Processing Latency

• Trending

– … when *it* will hit the fan …

Page 21: OpenFest 2014 Aggressive DevOps

Focus: Monitoring

MONITOR EVERYTHING !!!

Page 22: OpenFest 2014 Aggressive DevOps

Focus: Alerting

• Alert when human intervention is required!

• Automate otherwise!

• Have a direct link between alert and operational procedure!

• Account for “pager fatigue”!

Page 23: OpenFest 2014 Aggressive DevOps

Focus: Alerting

• Cautionary tale: The Three Mile Island accident!

Page 24: OpenFest 2014 Aggressive DevOps

Focus: Smart Control Plane

• Monitoring data is consumed by the Control Plane.

• Workloads drive the elastic behavior of the distributed system.

• Business-specific logic is used to guide operational decision making process.

Page 25: OpenFest 2014 Aggressive DevOps

Focus: Smart Control Plane

• Control Plane is Data-Driven.

• Control Plane is Pro-active.

• Control Plane is “aware” of business goals.

• Control Plane must be highly-available.

Page 26: OpenFest 2014 Aggressive DevOps

Focus: Smart Control Plane

Page 27: OpenFest 2014 Aggressive DevOps

Focus: Smart Control Plane

• Anomaly Detection and Recovery

Page 28: OpenFest 2014 Aggressive DevOps

New problems require new culture

• Operational input in all phases of the Software Development Life Cycle!

• Operational instrumentation is part of the core product!

• Enterprise silos are NO MORE!

Page 29: OpenFest 2014 Aggressive DevOps

What about the “Aggressive” ?!

Well … try implementing all of the above in a typical company … ;)

Page 30: OpenFest 2014 Aggressive DevOps

Thank you!

Q & A