Migrating 200+ Load Balancers Into Mesos. Stephen Salinas - @shsalinas2012

Similar documents
Gregory PaaS team

CONTINUOUS DEPLOYMENT WITH SINGULARITY

What s New Guide: Version 5.6

Scaling Web Applications in a Cloud Environment. Emil Ong Caucho Technology 8621

Creating and Issuing the Workstation Authentication Certificate Template on the Certification Authority

Upgrading BRS Appliance from BRS version 8.10 to version 8.11

TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc.

How to Perform a Manual High Availability Failover

Configuration Guide. BES12 Cloud

Distributed Scheduling with Apache Mesos in the Cloud. PhillyETE - April, 2015 Diptanu Gon

TimeTrade Salesforce Connector Administrator Guide

MailStore Outlook Add-in Deployment

Genius in Salesforce.com Pre- Installation Setup

The Perks of Having a Dedicated Database.

Ipswitch Client Installation Guide

Alan Conley, John Belamaric. Bloxfest - Containers

Workflow Templates Library

Creating a DUO MFA Service in AWS

Troubleshooting Citrix MetaFrame Procedures

Introduction to Google Apps for Business Integration

Configuration Guide for Active Directory Integration

Monitoring and Scaling My Application

Deployment of Keepit for Windows

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

BlackBerry Enterprise Server Resource Kit

Configuring the BIG-IP system for FirePass controllers

Intent NBI for Software Defined Networking

DSView 4 Management Software Transition Technical Bulletin

Continuous Integration (CI) and Testing - Configuring Bamboo, Hudson, and TestMaker

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

138 Configuration Wizards

Cisco TelePresence Management Suite Extension for Microsoft Exchange Version 4.0.3

Installation and Deployment

ArcGIS 10.3 Server on Amazon Web Services

RemoteApp Reference Guide. Outline

Providing Patch Management With N-central. Version 7.2

Week 13. Uploading Files to Web Hosting

ArcGIS for Server in the Amazon Cloud. Michele Lundeen Esri

GlobalSCAPE DMZ Gateway, v1. User Guide

To integrate Oracle Application Server with Active Directory follow these steps.

An Introduction To The Web File Manager

CumuLogic Load Balancer Overview Guide. March CumuLogic Load Balancer Overview Guide 1

Kaseya Server Instal ation User Guide June 6, 2008

...2. Standard Installation...4. Example Installation Scenarios...5. Network Installation...8. Advanced Settings Product Requirements

SolarWinds Log & Event Manager

Chapter 10 Troubleshooting

CNS-205 Citrix NetScaler 10 Essentials and Networking

Manage the Endpoints. Palo Alto Networks. Advanced Endpoint Protection Administrator s Guide Version 3.1. Copyright Palo Alto Networks

Centrify Cloud Connector Deployment Guide

Release Notes. Contents. Release Purpose. Platform Compatibility. Windows XP and Internet Explorer 8 Update

Mesosphere. In this post. bootstrap_url

Solutions Guide. Deploying Citrix NetScaler with Microsoft Exchange 2013 for GSLB. citrix.com

ACTIVE DIRECTORY DEPLOYMENT

Manage Traps in a VDI Environment. Traps Administrator s Guide. Version 3.3. Copyright Palo Alto Networks

Lifecycle Manager Installation and Configuration Guide

Optimization in a Secure Windows Environment

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.

Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ]

XMap 7 Administration Guide. Last updated on 12/13/2009

vsphere App HA Installation and Configuration Guide

Table of Contents Introduction and System Requirements 9 Installing VMware Server 35

Migrating from Legacy to New Business Solutions

VMware vcenter Log Insight Getting Started Guide

This document describes the software upgrade of BRS Appliance from v8.9 to v8.10.

COMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command Document Revision History... 10

Glassfish Architecture.

NovaBACKUP xsp Version 15.0 Upgrade Guide

SyAM Software Management Utilities. Creating Templates

Software Version 1.0 ConnectKey TM Share to Cloud April Xerox ConnectKey Share to Cloud User / Administrator s Guide

Conference Controller Deployment Guide

Installing GFI MailEssentials

Juniper Secure Analytics Release Notes

Citrix NetScaler 10.5 Essentials for ACE Migration CNS208; 5 Days, Instructor-led

Netwatch Installation For Windows

Immersion Day. Creating an Elastic Load Balancer. Rev


Installing and Configuring Windows Server Module Overview 14/05/2013. Lesson 1: Planning Windows Server 2008 Installation.

Storage Sync for Netgear Version Installation Guide for Netgear ReadyNAS 6.0 Intel Base NAS

Chapter 7 Event Log. Click the [Alarm (Event Log)] icon, and [Event Log] dialog appears as below:

Kaseya 2. User Guide. Version 1.1

Active Directory Integration

EM Single Sign On 1.2 (1018)

HP A-IMC Firewall Manager

A Binary Tree SMART Migration Webinar. SMART Solutions for Notes- to- Exchange Migrations

Things to consider before you do an In-place upgrade to Windows 10. Setup Info. In-place upgrade to Windows 10 Enterprise with SCCM

Storage Sync for Hyper-V. Installation Guide for Microsoft Hyper-V

ITCertMaster. Safe, simple and fast. 100% Pass guarantee! IT Certification Guaranteed, The Easy Way!

How To Set Up Wiremock In Anhtml.Com On A Testnet On A Linux Server On A Microsoft Powerbook 2.5 (Powerbook) On A Powerbook 1.5 On A Macbook 2 (Powerbooks)

Providing Patch Management With N-central. Version 7.1

CONNECTING THROUGH ACTIVESYNC

Installing GFI MailEssentials

Oracle Data Integrator 11g New Features & OBIEE Integration. Presented by: Arun K. Chaturvedi Business Intelligence Consultant/Architect

ClearPass Policy Manager 6.3

Installing and Using the vnios Trial

Implementation guide for LSS

Providing Patch Management with N-central. Version 9.1

Chapter 1 - Web Server Management and Cluster Topology

Transcription:

Migrating 200+ Load Balancers Into Mesos Stephen Salinas - @shsalinas2012

Load Balancing

Marketing Software Sales Software

PaaS At HubSpot Over 150 Engineers Over 2000 deployables ~350 daily deploys to prod

api.hubapi.com/email Load Balancer

Load Balancer Updates Write Config Files ye_old_deploy.py Start Service Load Balancer

Mesos Master api.hubapi.com/email Load Balancer Scheduler

Mesos Master /email /meetings /reports api.hubapi.com/email /reports /email /meetings Scheduler

Mesos Master /email /meetings /reports api.hubapi.com/email /reports /email /meetings Baragon API Load Balancer Updates Singularity Scheduler

The Two-Phase Commit host, port, path, domain, extra config Find relevant agents Check for conflicts Result Trigger update on agents Singularity Scheduler Baragon API Respond to Singularity Hold old tasks until they are removed from the LB Don t consider new tasks successfully started unless adding to LB succeeds Response Apply complete request data Write config file from a template Valid? Return success or revert and api.hubapi.com somethingelse.com api.hubapi.com return a failure

Mesos Master /email /meetings /reports api.hubapi.com/email /reports /email /meetings Baragon API Load Balancer Updates Singularity Scheduler

Mesos Master /email /meetings api.hubapi.com/email ELB /reports /reports /email /meetings Baragon API Load Balancer Updates Singularity Scheduler

api.hubapi.com/email app.hubspot.com forms.hubspot.com >45 groups signup.hubspot.com nav.hubapi.com >200 separate servers website.grader.com leadin.com library.hubspot.com

Mesos Master /email /meetings api.hubapi.com/email ELB /reports /reports /email /meetings Baragon API Load Balancer Updates Singularity Scheduler

Mesos Master /email /meetings /reports api.hubapi.com/email ELB /reports /email /meetings Singularity Scheduler Load Balancer Updates Baragon API

Why Run LBs in Mesos? Reliability Scalability Easier deployment and upgrades Save $$$

Challenges Running LBs in Mesos Dependencies Logging Disposable instances Bootstrapping No manual touch needed Service Discovery Nginx s Nginx ELB

Dependencies start.sh Build Nginx + Baragon Agent into a Docker image render basic configs from environment Run a container with just enough information to bootstrap Where is Baragon Service? What group am I in?

Logging container task sandbox access.log Log Tailer

Service Discovery

Service Discovery Each group has a dedicated port Tell the ELB where Nginx is on startup Ensure removal from the ELB before shutting down ELB

Startup 1. Phone home with group name 2. Most recent configs for group 3. Agent applies and checks configs Service 4. Ready to serve traffic Agent 5. Add to ELB 6. Traffic starts flowing to new LB ELB 7. Continually ensure ELB in sync with active agents

Shutdown 1. KILL or other signal sent to agent 2. Send shutdown notification Service 3. Attempt to remove from ELB Agent 4. start.sh checks for successful removal ELB 5. If not removed, remove health check html file and wait 6. Agent container stops Nginx

Problems ELB API rate limiting and ELB inconsistencies Docker + DNS lookups Hard memory limit

Benefits Scale with 1 click Automatic replacement of lost LBs by the scheduler Mesos Master < 20 seconds to launch new LB api.hubapi.com/email Condense 200+ EC2 instances to <10, saving ~$24,000/month ~15 man hours saved every Nginx upgrade Singularity Scheduler Load Balancer Updates Baragon API

Check It Out! http://github.hubspot.com/baragon/ http://getsingularity.com @shsalinas2012