SlideShare una empresa de Scribd logo
1 de 32
WHO IS TELESCOPE? 
 Industry Leader in Participation 
Media 
 Offices in Los Angeles, New York, 
London and Brazil 
 Real-time Platform – Powering most 
demanding high profile audience 
participation campaigns for TV, 
Sports and Brands 
 Unique traffic path and unique 
requirements/High Capacity/Unique 
Traffic Spikes
WHO IS TELESCOPE? 
 Since 2002, leading media companies and brands have entrusted Telescope to power and 
optimize results on their most demanding and highest-profile audience engagement initiatives. 
 Our participation platform enables several billion interactive experiences every year.
SHOW NIGHT TRAFFIC 
Vote Transactions per minute 
5:55 PM 6:55 PM 7:55 PM 8:55 PM 9:55 PM 10:55 PM 11:55 PM 12:55 AM 
Total
INTRO SLIDES ARE THE BEST! 
Why we moved from bare metal to AWS 
Why we choose ansible for our automation 
How ansible solved our automation challenges
OUR FIRST LOVE 
 6 racks across two buildings at One Wilshire 
 2 SysAdmins responsible for hardware and operations 
 No Environment for Developers to play 
 Our hardware was restricting our ability to grow 
 Long lead time to build increase total capacity 
 Research latest hardware 
 Order hardware 
 Order power and space 
 Rack, stack, cable 
 Install all the things
IS THIS RIGHT FOR US? 
Hard to justify building up a datacenter 
Telescope’s case required significant burst capacity 
Business needs changed quickly 
Support large architecture with a small team 
Wanted to automate, but didn’t know where to start
SO MANY OPTIONS 
 Rackspace 
 AWS 
 Azure 
 Softlayer 
 Google 
 Oracle 
 Digital Ocean 
 Heroku 
 Puppet 
 Chef 
 Ansible 
 Bconfig2 
 Salt 
 CFEngine 
 Vagrant 
 Cobbler
OUR DATA PROFILE
OUR DATA PROFILE
WHY AWS? 
 Leader in cloud hosting 
 Strong API’s with many supporting 
communities across multiple languages 
 AWS services were a complement to our own 
technologies 
It (AWS) is the overwhelming market share leader, with 
more than five times the cloud IaaS compute capacity in 
use than the aggregate total of the other 14 providers in 
this Magic Quadrant. It is a thought leader; it is 
extraordinarily innovative, exceptionally agile, and very 
responsive to the market. It has the richest array of IaaS 
features and PaaS-like capabilities, and continues to 
rapidly expand its service offerings. It is the provider most 
commonly chosen for strategic adoption. 
- Gartner, Cloud Infrastructure as a service report
TIME TO AUTOMATE 
Can you make a build in one 
step? 
- Joel Spolsky, “The Joel Test: 12 Steps to Better Code”
TOO DEPENDENT
v 
TOO NEEDY
v 
JUST RIGHT
v 
IT’S A MATCH!
SCALE UP: PROVISION INSTANCES 
ansible-playbook scale_api.yml 
-e “env=prod total=40”
SCALE UP: PROVISION INSTANCES 
tasks: 
- name: Create the {{ zone2 }} instances in AZ2 
ec2: 
assign_public_ip: true 
region: "{{ aws_region }}” 
keypair: "{{ aws_keypair }}" 
instance_type: "{{ connectapi.az2.instance_type }}" 
image: "{{ connectapi.az2.ec2_image }}" 
wait: true 
group: "{{ connectapi.az2.group }}" 
instance_tags: "{{ connectapi.az2.instance_tags }}" 
count: "{{ zone2 }}" 
vpc_subnet_id: "{{ connectapi.az2.vpc_subnet_id }}" 
zone: "{{ connectapi.az2.zone }}" 
volumes: "{{ connectapi.az2.volumes | default([]) }}" 
register: ec2_az2 
- add_host: name={{ item.public_ip }} 
groups=scaleup_connectapi,tag_connectapi_{{ env }} 
with_items: ec2_az2.instances 
- include: connect_api.yml scaleup=scaleup_connectapi 
Create 
Instances 
Install things
SCALE UP: INSTALL THINGS 
- hosts: tag_connectapi_{{ env }}:&{{ scaleup | 
default(‘all’) }} 
roles: 
- common 
- { role: ndb, goal: apinode } 
- memcached 
- nginx 
- tomcat 
- maven 
- connect_api 
- { role: flume, goal: api} 
- { role: zabbix, goal: agent } 
post_tasks: 
- name: add machine back into the load balancer 
local_action: 
module: ec2_elb 
instance_id: "{{ ansible_ec2_instance_id }}" 
state: "present" 
ec2_elbs: "connectapi-{{ env }}" 
aws_access_key: "{{ aws_access_key }}" 
aws_secret_key: "{{ aws_secret_key }}" 
region: "{{ aws_region }}" 
Target 
Install 
Load Balancer
MONITORING 
Ansible templates 
give us flexibility 
for inflexible tools 
zabbix_agentd.conf 
# {{ ansible_managed }} 
# This is a config file for the Zabbix agent 
daemon (Unix) 
… 
Server={% for host in 
groups['tag_zabbix_prod'] %} {{ 
hostvars[host].ec2_private_ip_address }}, {% 
endfor %} 
… 
HostMetadata={{ ec2_security_group_names }}
MONITORING 
Instance Creation 
- name: Create the Instances for this vpc 
ec2: 
region: "{{ aws_region }}" 
keypair: "{{ aws_keypair }}" 
instance_type: "{{ item.instance_type }}" 
image: "{{ item.ec2_image }}" 
wait: true 
group: "{{ item.group }}" 
instance_tags: "{{ item.instance_tags }}" 
count: "{{ item.count }}" 
vpc_subnet_id: "{{ item.vpc_subnet_id }}" 
zone: "{{ item.zone }}" 
volumes: "{{ item.volumes }}" 
ebs_optimized: "{{ item.ebs_optimized" 
register: ec2 
with_items: ec2_instances 
ec2_instances: 
- instance_type: m3.large 
ec2_image: ami-3aba131f 
group: 
- connectapi-prod 
- telescope-access 
zone: us-west-1a 
vpc_subnet_id: subnet-a13763e7 
instance_tags: 
connectapi: prod 
Name: ConnectAPI-prod
MONITORING 
Zabbix Auto registration based on host metadata
DO YOU EVEN TAG, BRO? 
tag_connectapi_{{ env }} 
tag_webapp_{{ env }} 
tag_hbase{{ cluster }}_{{ env }}:&hadooprole_master 
tag_hbase{{ cluster }}_{{ env }}:&hadooprole_node
- hosts: localhost 
pre_tasks: 
- name: Add new instance to host group 
add_host: 
hostname: “{{ item.1 }}” 
groupname: “__zookeeper_temp” 
position: “{{ item.0 + 1}}” 
with_indexed_items: groups.tag_zookeeper_{{ env }} 
- hosts: __zookeeper_temp 
roles: 
- role: zookeeper 
- { role: zabbix, goal: agent } 
DO YOU EVEN TAG, BRO? 
Add hosts to temp 
group 
Target temp 
group 
Install
- hosts: localhost 
pre_tasks: 
- name: Add instances to temporary host group 
add_host: hostname={{ item.1 }} 
groupname:__hbase_temp 
with_indexed_items: groups.tag_hbase{{ cluster 
}}_{{ env }} 
- name: Pick one from the temporary group 
add_host: hostname={{ item }} 
groupname: “__the_chosen_one” 
with_random_choice: groups.__hbase_temp 
- hosts: __the_chosen_one 
gather_facts: true 
user: ec2-user 
sudo: yes 
DO YOU EVEN TAG, BRO? 
Add hosts to temp 
group 
Randomly 
choose 
Install
YO DAWG! I HEARD YOU LIKE ANSIBLE! 
- name: copy tower tarball 
copy: 
src: ansible-tower-setup-latest.tar.gz 
dest: /tmp/tower-latest.tar.gz 
force: yes 
- name: set the group vars file 
template: src=group_vars_all.j2 dest=/tmp/ansible-tower- 
setup-latest/group_vars/all 
when: "upgrade is defined and upgrade == 'yes'“ 
- name: Create a database backup of tower at 
/var/log/awx 
shell: awx-manage dumpdata > /var/log/awx/backup-{{ 
ansible_date_time.epoch }}.json 
when: "backup is defined and backup != 'no'" 
- name: run the tower install 
command: ./setup.sh chdir=/tmp/ansible-tower-setup-latest 
when: "upgrade is defined and upgrade == 'yes'" 
- name: place the license file 
template: src=license.j2 dest=/etc/awx/license' 
Send the tarball 
Set group_vars 
Backup 
Install
WHERE ARE WE NOW? 
 Most of our major architecture has been 
moved to AWS 
 Still shipping data to our datacenter for 
storage and analytics 
 Coordinating migration of our last pieces 
based on client restrictions
HOW HAS THIS CHANGED US 
 Changed our conversations 
 “Ok, so lets just kill all the queue boxes, Bring up 2 new boxes and new API and start 
from scratch” 
-11:52pm Thursday Night 
 “I need your help since you are not doing anything” 
“Dude I am busy installing and provisioning 16 hadoop servers” 
“Good, so you have time” 
-3:42pm Tuesday afternoon
WHAT’S LEFT? 
 Chronos as a replacement for Chron 
 Zabbix module for better automation 
 Scaling down 
 Adding JMX interfaces 
 Eventually express all items/triggers from a dictionary so changes are tracked in git 
 Akamai Module 
 Push cache config changes with web app updates 
 Remove any embarrassing hacks from Hadoop, Hbase, NDB roles and share them if there 
is interest 
 Operational Tasks to make day to day easier
HAPPILY EVER AFTER 
Telescope is happy in it’s new relationships 
AWS has been a good match for Telescope 
Ansible has let us take control of our architecture like never 
before 
Looking forward to solving bigger problems
QUESTIONS? 
Iain Wright, Lead Systems Administrator 
John Weatherford, VP Engineering 
#TeamTelescope 
Ps. If this sounds interesting to you, come talk to us!

Más contenido relacionado

La actualidad más candente

Continuous Testing with Molecule, Ansible, and GitHub Actions
Continuous Testing with Molecule, Ansible, and GitHub ActionsContinuous Testing with Molecule, Ansible, and GitHub Actions
Continuous Testing with Molecule, Ansible, and GitHub ActionsJeff Geerling
 
Basics of Ansible - Sahil Davawala
Basics of Ansible - Sahil DavawalaBasics of Ansible - Sahil Davawala
Basics of Ansible - Sahil DavawalaSahil Davawala
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentationKumar Y
 
Drupal VM for Drupal 8 Dev - MidCamp 2017
Drupal VM for Drupal 8 Dev - MidCamp 2017Drupal VM for Drupal 8 Dev - MidCamp 2017
Drupal VM for Drupal 8 Dev - MidCamp 2017Jeff Geerling
 
Advance discussion on Ansible - Rahul Inti
Advance discussion on Ansible - Rahul IntiAdvance discussion on Ansible - Rahul Inti
Advance discussion on Ansible - Rahul IntiSahil Davawala
 
Introduction to ansible galaxy
Introduction to ansible galaxyIntroduction to ansible galaxy
Introduction to ansible galaxyIvan Serdyuk
 
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled InfrastructureCloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled InfrastructureHabeeb Rahman
 
Using Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud EnvironmentsUsing Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud Environmentsahamilton55
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansiblefmaccioni
 
Infrastructure = Code
Infrastructure = CodeInfrastructure = Code
Infrastructure = CodeGeorg Sorst
 
Ansible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife OrchestrationAnsible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife Orchestrationbcoca
 
Automating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngageAutomating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngageVishal Uderani
 
Ansible Devops North East - slides
Ansible Devops North East - slides Ansible Devops North East - slides
Ansible Devops North East - slides InfinityPP
 
Background processing with Resque
Background processing with ResqueBackground processing with Resque
Background processing with ResqueNicolas Blanco
 
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...Amazon Web Services
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the CloudWesley Beary
 
Ansible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaAnsible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaJuan Diego Pereiro Arean
 

La actualidad más candente (20)

Continuous Testing with Molecule, Ansible, and GitHub Actions
Continuous Testing with Molecule, Ansible, and GitHub ActionsContinuous Testing with Molecule, Ansible, and GitHub Actions
Continuous Testing with Molecule, Ansible, and GitHub Actions
 
Basics of Ansible - Sahil Davawala
Basics of Ansible - Sahil DavawalaBasics of Ansible - Sahil Davawala
Basics of Ansible - Sahil Davawala
 
Introducing Ansible
Introducing AnsibleIntroducing Ansible
Introducing Ansible
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Drupal VM for Drupal 8 Dev - MidCamp 2017
Drupal VM for Drupal 8 Dev - MidCamp 2017Drupal VM for Drupal 8 Dev - MidCamp 2017
Drupal VM for Drupal 8 Dev - MidCamp 2017
 
Advance discussion on Ansible - Rahul Inti
Advance discussion on Ansible - Rahul IntiAdvance discussion on Ansible - Rahul Inti
Advance discussion on Ansible - Rahul Inti
 
Introduction to ansible galaxy
Introduction to ansible galaxyIntroduction to ansible galaxy
Introduction to ansible galaxy
 
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled InfrastructureCloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
 
Using Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud EnvironmentsUsing Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud Environments
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansible
 
Infrastructure = Code
Infrastructure = CodeInfrastructure = Code
Infrastructure = Code
 
Ansible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife OrchestrationAnsible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife Orchestration
 
Automating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngageAutomating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngage
 
Ansible Devops North East - slides
Ansible Devops North East - slides Ansible Devops North East - slides
Ansible Devops North East - slides
 
Ansible Case Studies
Ansible Case StudiesAnsible Case Studies
Ansible Case Studies
 
Background processing with Resque
Background processing with ResqueBackground processing with Resque
Background processing with Resque
 
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
(APP202) Deploy, Manage, and Scale Your Apps with AWS OpsWorks and AWS Elasti...
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloud
 
Php resque
Php resquePhp resque
Php resque
 
Ansible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaAnsible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers Galicia
 

Similar a Breaking Up With Your Data Center Presentation

Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalleybuildacloud
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...Amazon Web Services
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventJohn Schneider
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Amazon Web Services
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Amazon Web Services
 
Auto scaling with Ruby, AWS, Jenkins and Redis
Auto scaling with Ruby, AWS, Jenkins and RedisAuto scaling with Ruby, AWS, Jenkins and Redis
Auto scaling with Ruby, AWS, Jenkins and RedisYi Hsuan (Jeddie) Chuang
 
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web ServicesCMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web ServicesAmazon Web Services
 
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON Byrum
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPSACA IT-Solutions
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITStijn Wijndaele
 
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...Amazon Web Services
 
Just one-shade-of-openstack
Just one-shade-of-openstackJust one-shade-of-openstack
Just one-shade-of-openstackRoberto Polli
 
Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)ThirdWaveInsights
 
Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Chef
 
BigData- On - AWS Cloud -1
BigData- On - AWS Cloud -1BigData- On - AWS Cloud -1
BigData- On - AWS Cloud -1Milind gunjan
 
Current state of affairs cloud computing
Current state of affairs   cloud computingCurrent state of affairs   cloud computing
Current state of affairs cloud computingChirag Jog
 
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhereOpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhereAlex Ellis
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 

Similar a Breaking Up With Your Data Center Presentation (20)

Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalley
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
Auto scaling with Ruby, AWS, Jenkins and Redis
Auto scaling with Ruby, AWS, Jenkins and RedisAuto scaling with Ruby, AWS, Jenkins and Redis
Auto scaling with Ruby, AWS, Jenkins and Redis
 
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web ServicesCMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
CMP323_AWS Batch Easy & Efficient Batch Computing on Amazon Web Services
 
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...
 
Just one-shade-of-openstack
Just one-shade-of-openstackJust one-shade-of-openstack
Just one-shade-of-openstack
 
Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)Serve Meals, Not Ingredients (ChefConf 2015)
Serve Meals, Not Ingredients (ChefConf 2015)
 
Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015Serve Meals, Not Ingredients - ChefConf 2015
Serve Meals, Not Ingredients - ChefConf 2015
 
BigData- On - AWS Cloud -1
BigData- On - AWS Cloud -1BigData- On - AWS Cloud -1
BigData- On - AWS Cloud -1
 
Current state of affairs cloud computing
Current state of affairs   cloud computingCurrent state of affairs   cloud computing
Current state of affairs cloud computing
 
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhereOpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 

Último

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Breaking Up With Your Data Center Presentation

  • 1.
  • 2. WHO IS TELESCOPE?  Industry Leader in Participation Media  Offices in Los Angeles, New York, London and Brazil  Real-time Platform – Powering most demanding high profile audience participation campaigns for TV, Sports and Brands  Unique traffic path and unique requirements/High Capacity/Unique Traffic Spikes
  • 3. WHO IS TELESCOPE?  Since 2002, leading media companies and brands have entrusted Telescope to power and optimize results on their most demanding and highest-profile audience engagement initiatives.  Our participation platform enables several billion interactive experiences every year.
  • 4. SHOW NIGHT TRAFFIC Vote Transactions per minute 5:55 PM 6:55 PM 7:55 PM 8:55 PM 9:55 PM 10:55 PM 11:55 PM 12:55 AM Total
  • 5. INTRO SLIDES ARE THE BEST! Why we moved from bare metal to AWS Why we choose ansible for our automation How ansible solved our automation challenges
  • 6. OUR FIRST LOVE  6 racks across two buildings at One Wilshire  2 SysAdmins responsible for hardware and operations  No Environment for Developers to play  Our hardware was restricting our ability to grow  Long lead time to build increase total capacity  Research latest hardware  Order hardware  Order power and space  Rack, stack, cable  Install all the things
  • 7. IS THIS RIGHT FOR US? Hard to justify building up a datacenter Telescope’s case required significant burst capacity Business needs changed quickly Support large architecture with a small team Wanted to automate, but didn’t know where to start
  • 8. SO MANY OPTIONS  Rackspace  AWS  Azure  Softlayer  Google  Oracle  Digital Ocean  Heroku  Puppet  Chef  Ansible  Bconfig2  Salt  CFEngine  Vagrant  Cobbler
  • 11. WHY AWS?  Leader in cloud hosting  Strong API’s with many supporting communities across multiple languages  AWS services were a complement to our own technologies It (AWS) is the overwhelming market share leader, with more than five times the cloud IaaS compute capacity in use than the aggregate total of the other 14 providers in this Magic Quadrant. It is a thought leader; it is extraordinarily innovative, exceptionally agile, and very responsive to the market. It has the richest array of IaaS features and PaaS-like capabilities, and continues to rapidly expand its service offerings. It is the provider most commonly chosen for strategic adoption. - Gartner, Cloud Infrastructure as a service report
  • 12. TIME TO AUTOMATE Can you make a build in one step? - Joel Spolsky, “The Joel Test: 12 Steps to Better Code”
  • 16. v IT’S A MATCH!
  • 17. SCALE UP: PROVISION INSTANCES ansible-playbook scale_api.yml -e “env=prod total=40”
  • 18. SCALE UP: PROVISION INSTANCES tasks: - name: Create the {{ zone2 }} instances in AZ2 ec2: assign_public_ip: true region: "{{ aws_region }}” keypair: "{{ aws_keypair }}" instance_type: "{{ connectapi.az2.instance_type }}" image: "{{ connectapi.az2.ec2_image }}" wait: true group: "{{ connectapi.az2.group }}" instance_tags: "{{ connectapi.az2.instance_tags }}" count: "{{ zone2 }}" vpc_subnet_id: "{{ connectapi.az2.vpc_subnet_id }}" zone: "{{ connectapi.az2.zone }}" volumes: "{{ connectapi.az2.volumes | default([]) }}" register: ec2_az2 - add_host: name={{ item.public_ip }} groups=scaleup_connectapi,tag_connectapi_{{ env }} with_items: ec2_az2.instances - include: connect_api.yml scaleup=scaleup_connectapi Create Instances Install things
  • 19. SCALE UP: INSTALL THINGS - hosts: tag_connectapi_{{ env }}:&{{ scaleup | default(‘all’) }} roles: - common - { role: ndb, goal: apinode } - memcached - nginx - tomcat - maven - connect_api - { role: flume, goal: api} - { role: zabbix, goal: agent } post_tasks: - name: add machine back into the load balancer local_action: module: ec2_elb instance_id: "{{ ansible_ec2_instance_id }}" state: "present" ec2_elbs: "connectapi-{{ env }}" aws_access_key: "{{ aws_access_key }}" aws_secret_key: "{{ aws_secret_key }}" region: "{{ aws_region }}" Target Install Load Balancer
  • 20.
  • 21. MONITORING Ansible templates give us flexibility for inflexible tools zabbix_agentd.conf # {{ ansible_managed }} # This is a config file for the Zabbix agent daemon (Unix) … Server={% for host in groups['tag_zabbix_prod'] %} {{ hostvars[host].ec2_private_ip_address }}, {% endfor %} … HostMetadata={{ ec2_security_group_names }}
  • 22. MONITORING Instance Creation - name: Create the Instances for this vpc ec2: region: "{{ aws_region }}" keypair: "{{ aws_keypair }}" instance_type: "{{ item.instance_type }}" image: "{{ item.ec2_image }}" wait: true group: "{{ item.group }}" instance_tags: "{{ item.instance_tags }}" count: "{{ item.count }}" vpc_subnet_id: "{{ item.vpc_subnet_id }}" zone: "{{ item.zone }}" volumes: "{{ item.volumes }}" ebs_optimized: "{{ item.ebs_optimized" register: ec2 with_items: ec2_instances ec2_instances: - instance_type: m3.large ec2_image: ami-3aba131f group: - connectapi-prod - telescope-access zone: us-west-1a vpc_subnet_id: subnet-a13763e7 instance_tags: connectapi: prod Name: ConnectAPI-prod
  • 23. MONITORING Zabbix Auto registration based on host metadata
  • 24. DO YOU EVEN TAG, BRO? tag_connectapi_{{ env }} tag_webapp_{{ env }} tag_hbase{{ cluster }}_{{ env }}:&hadooprole_master tag_hbase{{ cluster }}_{{ env }}:&hadooprole_node
  • 25. - hosts: localhost pre_tasks: - name: Add new instance to host group add_host: hostname: “{{ item.1 }}” groupname: “__zookeeper_temp” position: “{{ item.0 + 1}}” with_indexed_items: groups.tag_zookeeper_{{ env }} - hosts: __zookeeper_temp roles: - role: zookeeper - { role: zabbix, goal: agent } DO YOU EVEN TAG, BRO? Add hosts to temp group Target temp group Install
  • 26. - hosts: localhost pre_tasks: - name: Add instances to temporary host group add_host: hostname={{ item.1 }} groupname:__hbase_temp with_indexed_items: groups.tag_hbase{{ cluster }}_{{ env }} - name: Pick one from the temporary group add_host: hostname={{ item }} groupname: “__the_chosen_one” with_random_choice: groups.__hbase_temp - hosts: __the_chosen_one gather_facts: true user: ec2-user sudo: yes DO YOU EVEN TAG, BRO? Add hosts to temp group Randomly choose Install
  • 27. YO DAWG! I HEARD YOU LIKE ANSIBLE! - name: copy tower tarball copy: src: ansible-tower-setup-latest.tar.gz dest: /tmp/tower-latest.tar.gz force: yes - name: set the group vars file template: src=group_vars_all.j2 dest=/tmp/ansible-tower- setup-latest/group_vars/all when: "upgrade is defined and upgrade == 'yes'“ - name: Create a database backup of tower at /var/log/awx shell: awx-manage dumpdata > /var/log/awx/backup-{{ ansible_date_time.epoch }}.json when: "backup is defined and backup != 'no'" - name: run the tower install command: ./setup.sh chdir=/tmp/ansible-tower-setup-latest when: "upgrade is defined and upgrade == 'yes'" - name: place the license file template: src=license.j2 dest=/etc/awx/license' Send the tarball Set group_vars Backup Install
  • 28. WHERE ARE WE NOW?  Most of our major architecture has been moved to AWS  Still shipping data to our datacenter for storage and analytics  Coordinating migration of our last pieces based on client restrictions
  • 29. HOW HAS THIS CHANGED US  Changed our conversations  “Ok, so lets just kill all the queue boxes, Bring up 2 new boxes and new API and start from scratch” -11:52pm Thursday Night  “I need your help since you are not doing anything” “Dude I am busy installing and provisioning 16 hadoop servers” “Good, so you have time” -3:42pm Tuesday afternoon
  • 30. WHAT’S LEFT?  Chronos as a replacement for Chron  Zabbix module for better automation  Scaling down  Adding JMX interfaces  Eventually express all items/triggers from a dictionary so changes are tracked in git  Akamai Module  Push cache config changes with web app updates  Remove any embarrassing hacks from Hadoop, Hbase, NDB roles and share them if there is interest  Operational Tasks to make day to day easier
  • 31. HAPPILY EVER AFTER Telescope is happy in it’s new relationships AWS has been a good match for Telescope Ansible has let us take control of our architecture like never before Looking forward to solving bigger problems
  • 32. QUESTIONS? Iain Wright, Lead Systems Administrator John Weatherford, VP Engineering #TeamTelescope Ps. If this sounds interesting to you, come talk to us!