aws at childrens in the bbc

14
Children’s interactive AWS at BBC Childrens Adam Evans / @ajevans85

Upload: ajevans

Post on 17-May-2015

357 views

Category:

Software


0 download

DESCRIPTION

A presentation I gave at the Manchester AWS user group about the use of AWS in the childrens department at the BBC

TRANSCRIPT

Page 1: AWS at Childrens in the BBC

Children’s interactive

AWS at BBC ChildrensAdam Evans / @ajevans85

Page 2: AWS at Childrens in the BBC

Children’s interactive

BBC Childrens• 3 million + users a week • Originally hosted in house on bare metal • Recently gone through a rebuild AWS has

helped facilitate (Continuous Delivery)

Page 3: AWS at Childrens in the BBC

Children’s interactive

Childrens Architecture - Overview

Page 4: AWS at Childrens in the BBC

Children’s interactive

How we deployCOSMOS• Internal toolchain • Early stages of development • A thin wrapper/gateway around

AWS • Orchestrates deployment following

common format • Handles billing + auditing

Page 5: AWS at Childrens in the BBC

Children’s interactive

How we deploy

Page 6: AWS at Childrens in the BBC

Children’s interactive

Defining infrastructure• Applications split in to

components • Components define a set

of infrastructure (stacks) for a particular application.

• A thin wrapper around CloudFormation and acts as a way to organise and manage per project billing/stacks.

http://chrisfjones.github.io/coffin/

Page 7: AWS at Childrens in the BBC

Children’s interactive

How we deploy• UI for promoting build

through environments • Forces INT -> Test -> Live • Keeps a audit trail of

deployments • Provides a API to build in

to CI pipeline

Page 8: AWS at Childrens in the BBC

Children’s interactive

How we deploy• Baked AMI images • Fast startup in auto scaling

groups • Use scaling groups rolling

update • Easy role backs • https://github.com/Netflix/

aminator !

Page 9: AWS at Childrens in the BBC

Children’s interactive

How we deploy

• Magic Build Tool (YABS) • Possible impedance, another

build tool when only need a RPM (FPM is simpler)

• Projects have a build file describing how to create a rpm and what rpm’s to include in the build

• This information is passed to the bake

MBT

https://github.com/jordansissel/fpm

Page 10: AWS at Childrens in the BBC

Children’s interactive

Other features

• Actively running https://github.com/Netflix/SimianArmy • Forces to develop for failure • EC2 instances in a scaling group are volatile. Can’t

guarantee they’ll always be there

Chaos Monkey

Page 11: AWS at Childrens in the BBC

Children’s interactive

Other featuresCentralised logging• Provides framework for

centralised logging of large volumes of data

• Uses Apache Flume to store Elastic Search indexes in S3

• Uses Kibana for visualisation + creating dashboards from log indexes

Page 12: AWS at Childrens in the BBC

Children’s interactive

Other featuresMonitoring• Developers make use of Cloudwatch • Fine grained alarms defined in stacks • Integration with existing 24/7 ops Zenoss

system by thin middle tier listening to SNS topic.

• Batch metrics!

Page 13: AWS at Childrens in the BBC

Children’s interactive

Other featuresSecurity• No direct public access to EC2 instances • COSMOS defines a framework to gain SSH

access to individual boxes if need to debug • Access to servers via a Bastian only • Bastian only accessible from internal

network • Boxes terminated 1hr after SSH access

reverting to original AMI • Heavy use of AWS Federated Access to the

AWS console

Page 14: AWS at Childrens in the BBC

Children’s interactive

Questions