SlideShare a Scribd company logo
OpenStack at BrightTag
Joshua Buss – Cloud Connect 2013

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Intro
Me
● DevOps since before it was called “Dev Ops”
● Orbitz – NOC/SOC
● Graphite specialist
● High-frequency trading
● Capacity planning, DBA, *nix admin, HW geek

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Intro
BrightTag
● World‟s leading Tag Management System
● Globally distributed on AWS
● Server-side tag firing through the cloud
● FUSE profile matching and offline processing
● Next-generation data management

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Motivation
Lay of the land
Four environments:
• Local (each developer‟s laptop)
• Development (in-office only)
• Staging (publicly available, in Rackspace)

• Production (AWS)

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Motivation
The problem
• Production was on an EOL‟d debian

• Staging and dev used same distro
• Each region had separate puppetmaster

• Local is (mostly) OSX (brew; “btiab”)

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Motivation
The fix
• Moved production to ubuntu 11.10
• Centralized puppet repo

• Had to rebuild dev and staging, too

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Motivation
The opportunity
• New dev environment?
• Let‟s make it more like production!

• Time to pick private cloud software

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Process
The goals
• As similar to Amazon as possible

• Open source, active community
• libcloud compatible

• Highly-available
• Web interface

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Process
The choices
• Ganeti

• VMWare
• CloudStack

• Eucalyptus
• OpenStack

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Process
The choices
• Ganeti (no web interface)

• VMWare ($)
• CloudStack (Chaotic at the time)

• Eucalyptus (Tried it, didn‟t work out)
• OpenStack (Tried it, worked great)

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Process
The work
• Found some cheap servers on eBay

• Put Ubuntu 12.04 server on them
• Used our new puppet configs to add users, etc.

• Followed the docs

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Process
The work
• Found some cheap servers on eBay

• Put Ubuntu 12.04 server on them
• Used our new puppet configs to add users, etc.

• Followed the docs
• Yeah, right.

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Process
The work
• Took about a month to learn:
• Terminology
• How all the pieces fit together

• Highly available networking support
• Routing and ARP tables

• Thank you, IRC

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Result
The finished product
• Hey look, you can use this nice UI

• ...or libcloud
• ...and our single puppet master

• ...and the result is just like our production instances!

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Result
Open Stack was just the start
• Dev environment now has over 50 VMs on 15 servers

• Standardize all the environments!
• ...even some new CI environments

• ...and our local environments (virtualbox)
• Jenkins is integral in our continuous deployments

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Thank you!

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Extras
BT Infrastructure
• Many small, HTTP webapps working together

• Key off „server groups‟ to define each environment
• “data01we2” - Server group “data” in the “we2” region

"roles": {"we2": {"data": ["dataserve", "auxserve"] } …
• Roles define which puppet modules we install

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Extras
Zerg
• libcloud + flask
• Provisioning, real-time CMDB, generated configs

• HAProxy, Nagios, Cassandra configs
• “Manifest” - JSON that include IP Addresses

• Use manifest to know where to deploy each app
• Use zerg for DNS as well (updating /etc/hosts)

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Extras
Puppet
• Source-controlled through multiple branches
• Puppet master has each branch checked out into a different directory

• Branches are pulled automatically
• Each branch has a matching puppet „environment‟ name

• /etc/puppet/puppet.conf “environment” determines the client
• All environments, including our guest VMs, default to master

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
Extras
Zero-downtime deploys

• /bthc of each webapp determines healthiness of app
• Fabric puts each app into maintenance mode before stopping
• App stops taking traffic, then gets restarted with new code
• New app doesn‟t respond with „healthy‟ until its actually ready for traffic
• When there are a lot of an app, we parallelize the deploy

ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG

More Related Content

KEY
Openstack In Real Life
PDF
OpenNebula Conf 2014 | Lightning talk: OpenNebula Puppet Module - Norman Mess...
PDF
Chef for OpenStack: Grizzly Roadmap
PPTX
Open stack jobs avoiding the axe
PDF
OpenStack Deployment with Chef Workshop
PDF
Deploying OpenStack with Chef
PDF
OpenStack Deployments with Chef
PPTX
OpenStack Introduction
Openstack In Real Life
OpenNebula Conf 2014 | Lightning talk: OpenNebula Puppet Module - Norman Mess...
Chef for OpenStack: Grizzly Roadmap
Open stack jobs avoiding the axe
OpenStack Deployment with Chef Workshop
Deploying OpenStack with Chef
OpenStack Deployments with Chef
OpenStack Introduction

What's hot (18)

PDF
Chef for OpenStack: OpenStack Spring Summit 2013
PDF
Ansible and CloudStack
PDF
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
PDF
OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...
PDF
OpenStack Best Practices and Considerations - terasky tech day
PDF
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
PDF
Chef for OpenStack December 2012
PDF
OpenStack Austin Meetup January 2014: Chef + OpenStack
PDF
Boston/NYC Chef for OpenStack Hack Days
PDF
Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
PPTX
The Geni Experiment Engine
PDF
Cloud data center and openstack
PDF
Modern Elastic Datacenter Architecture
PPTX
Containers and CloudStack
PDF
Managing Complexity at Velocity
PDF
[OpenStack Day in Korea 2015] Track 2-6 - Apache Tajo on Swift
PPTX
Cloud Computing Open Stack Compute Node
PPT
Ceph Performance and Optimization - Ceph Day Frankfurt
Chef for OpenStack: OpenStack Spring Summit 2013
Ansible and CloudStack
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...
OpenStack Best Practices and Considerations - terasky tech day
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
Chef for OpenStack December 2012
OpenStack Austin Meetup January 2014: Chef + OpenStack
Boston/NYC Chef for OpenStack Hack Days
Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
The Geni Experiment Engine
Cloud data center and openstack
Modern Elastic Datacenter Architecture
Containers and CloudStack
Managing Complexity at Velocity
[OpenStack Day in Korea 2015] Track 2-6 - Apache Tajo on Swift
Cloud Computing Open Stack Compute Node
Ceph Performance and Optimization - Ceph Day Frankfurt
Ad

Viewers also liked (6)

PDF
The future is hybrid
PDF
e-Reputation Day | Bruxelles 17 Octobre 2013
PPTX
Team Ezio
TXT
Upload copy (2)
PDF
IDMP CEE Communications by Gergana Majercakova
The future is hybrid
e-Reputation Day | Bruxelles 17 Octobre 2013
Team Ezio
Upload copy (2)
IDMP CEE Communications by Gergana Majercakova
Ad

Similar to 2013-cloudconnect-OpenStack@BT (20)

PPTX
Utilizing Public AND Private Clouds with Bright Cluster Manager
PPTX
2011 boston open stack meetup 11 29_r1jmm
PDF
Building a PaaS at HubSpot
PDF
Peak Web Intro Deck W Colo Detail
PDF
Peak Web Intro Deck W Colo Detail
PPTX
Build public private cloud using openstack
PPTX
Openstack Summit Tokyo 2015 - Building a private cloud to efficiently handle ...
PPTX
Deploy from OpenStack Trunk into a Production Environment
PDF
Leveraging CI/CD to improve open stack operation
PDF
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
PDF
OpenStack & Ubuntu (india openstack day)
PDF
Are We Done Yet ? Testing Your OpenStack Deployment
PDF
Openstack 101
PDF
NTTs Journey with Openstack-final
PDF
Addressing Issues of Risk & Governance in OpenStack without sacrificing Agili...
PDF
Demo: Easily Deploy Applications with Standing Cloud
PPTX
Learning to Scale OpenStack: Juno Update from the Rackspace Public Cloud
PDF
Upgrading Openstack from Kilo to Mitaka
PPTX
Container Days NYC Keynote
PPTX
OpenStack at EBSCO
Utilizing Public AND Private Clouds with Bright Cluster Manager
2011 boston open stack meetup 11 29_r1jmm
Building a PaaS at HubSpot
Peak Web Intro Deck W Colo Detail
Peak Web Intro Deck W Colo Detail
Build public private cloud using openstack
Openstack Summit Tokyo 2015 - Building a private cloud to efficiently handle ...
Deploy from OpenStack Trunk into a Production Environment
Leveraging CI/CD to improve open stack operation
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
OpenStack & Ubuntu (india openstack day)
Are We Done Yet ? Testing Your OpenStack Deployment
Openstack 101
NTTs Journey with Openstack-final
Addressing Issues of Risk & Governance in OpenStack without sacrificing Agili...
Demo: Easily Deploy Applications with Standing Cloud
Learning to Scale OpenStack: Juno Update from the Rackspace Public Cloud
Upgrading Openstack from Kilo to Mitaka
Container Days NYC Keynote
OpenStack at EBSCO

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Empathic Computing: Creating Shared Understanding
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
cuic standard and advanced reporting.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Electronic commerce courselecture one. Pdf
Encapsulation_ Review paper, used for researhc scholars
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Approach and Philosophy of On baking technology
MYSQL Presentation for SQL database connectivity
Per capita expenditure prediction using model stacking based on satellite ima...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
cuic standard and advanced reporting.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

2013-cloudconnect-OpenStack@BT

  • 1. OpenStack at BrightTag Joshua Buss – Cloud Connect 2013 ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 2. Intro Me ● DevOps since before it was called “Dev Ops” ● Orbitz – NOC/SOC ● Graphite specialist ● High-frequency trading ● Capacity planning, DBA, *nix admin, HW geek ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 3. Intro BrightTag ● World‟s leading Tag Management System ● Globally distributed on AWS ● Server-side tag firing through the cloud ● FUSE profile matching and offline processing ● Next-generation data management ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 4. Motivation Lay of the land Four environments: • Local (each developer‟s laptop) • Development (in-office only) • Staging (publicly available, in Rackspace) • Production (AWS) ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 5. Motivation The problem • Production was on an EOL‟d debian • Staging and dev used same distro • Each region had separate puppetmaster • Local is (mostly) OSX (brew; “btiab”) ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 6. Motivation The fix • Moved production to ubuntu 11.10 • Centralized puppet repo • Had to rebuild dev and staging, too ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 7. Motivation The opportunity • New dev environment? • Let‟s make it more like production! • Time to pick private cloud software ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 8. Process The goals • As similar to Amazon as possible • Open source, active community • libcloud compatible • Highly-available • Web interface ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 9. Process The choices • Ganeti • VMWare • CloudStack • Eucalyptus • OpenStack ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 10. Process The choices • Ganeti (no web interface) • VMWare ($) • CloudStack (Chaotic at the time) • Eucalyptus (Tried it, didn‟t work out) • OpenStack (Tried it, worked great) ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 11. Process The work • Found some cheap servers on eBay • Put Ubuntu 12.04 server on them • Used our new puppet configs to add users, etc. • Followed the docs ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 12. Process The work • Found some cheap servers on eBay • Put Ubuntu 12.04 server on them • Used our new puppet configs to add users, etc. • Followed the docs • Yeah, right. ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 13. Process The work • Took about a month to learn: • Terminology • How all the pieces fit together • Highly available networking support • Routing and ARP tables • Thank you, IRC ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 14. Result The finished product • Hey look, you can use this nice UI • ...or libcloud • ...and our single puppet master • ...and the result is just like our production instances! ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 15. Result Open Stack was just the start • Dev environment now has over 50 VMs on 15 servers • Standardize all the environments! • ...even some new CI environments • ...and our local environments (virtualbox) • Jenkins is integral in our continuous deployments ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 16. Thank you! ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 17. Extras BT Infrastructure • Many small, HTTP webapps working together • Key off „server groups‟ to define each environment • “data01we2” - Server group “data” in the “we2” region "roles": {"we2": {"data": ["dataserve", "auxserve"] } … • Roles define which puppet modules we install ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 18. Extras Zerg • libcloud + flask • Provisioning, real-time CMDB, generated configs • HAProxy, Nagios, Cassandra configs • “Manifest” - JSON that include IP Addresses • Use manifest to know where to deploy each app • Use zerg for DNS as well (updating /etc/hosts) ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 19. Extras Puppet • Source-controlled through multiple branches • Puppet master has each branch checked out into a different directory • Branches are pulled automatically • Each branch has a matching puppet „environment‟ name • /etc/puppet/puppet.conf “environment” determines the client • All environments, including our guest VMs, default to master ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG
  • 20. Extras Zero-downtime deploys • /bthc of each webapp determines healthiness of app • Fabric puts each app into maintenance mode before stopping • App stops taking traffic, then gets restarted with new code • New app doesn‟t respond with „healthy‟ until its actually ready for traffic • When there are a lot of an app, we parallelize the deploy ONE FOR ALL THE ADVANTAGES OF WORKING WITH BRIGHTTAG