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 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
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPSACA IT-Solutions
 
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, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 

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 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
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 
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, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 

Último

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer 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
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer 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...
 

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!