with more than five 'mes the cloud IaaS compute capacity in use than the aggregate total of the other 14 providers” Magic Quadrant for Cloud IaaS, 28 May 2014
AWS PlaGorm • It all starts with infrastructure • Regions – Global presence • Availability Zones – Build highly-‐available applica'ons at a frac'on of the cost of tradi'onal ac've-‐ac've setups • Points of presence – Serve sta'c content quickly. “Be where your users are”
usually < 1ms • Transit center connects to – AWS regions & Direct Connect (private links) – Internet (public link) • Redundant paths to transit center < 1-‐6 Data Centers • No DC is in 2 AZs • DCs within AZ < ¼ms apart + >50 Edge Loca@ons • DNS • Caching 11 Regions • Private AWS fiber links interconnect all major regions – Increased availability & performance, lower jifer & costs • Compute & storage to customers or required jurisdic'onal boundaries Infrastructure
code repos • Highly durable, highly available • Closely locate source code to dev/ staging/produc'on • No size limits on repositories or files • Granular permissions • Encrypt files on commit • Bring your own keys • Coming ‘early 2015’
config.vm.provider :virtualbox do |vb, override| override.vm.box = "phusion/ubuntu-‐14.04-‐amd64" … end config.vm.provider :aws do |aws, override| aws.instance_type = "m3.medium" aws.region = "eu-‐west-‐1" aws.ami= "ami-‐f0b11187" … end … config.vm.provision "docker" do |d| d.pull_images "sequenceiq/spark:1.1.0" d.pull_images "tpires/neo4j" d.run "tpires/neo4j", args: "-‐d -‐p 0.0.0.0:80:7474 -‐v /data:/data -‐v /home/ubuntu/neo4jdata:/var/lib/neo4j/data" d.run "spark", cmd: "/etc/bootstrap.sh -‐bash”, args: "-‐i -‐t -‐h sandbox -‐d" end end Start a local development VM $ vagrant up Start a development VM on AWS $ vagrant up -‐-‐provider=aws
release process • Enable repeatable, automated integra'on • Construct graphical model of release process • Combina'on of serial and parallel ac'ons • Time-‐based or manual approval gates between stages • Watches repo for changes and triggers the appropriate workflow • Integrates with exis'ng code repos, build & test tools • Coming ‘early 2015’
infrastructure in JSON • Can be version controlled • Easy deployments globally • DevOps Concepts • ‘Immutable Infrastructure’ • ‘Infrastructure as Code’
• Model workflow in AWS CodePipeline • Automate deployments with AWS CodeDeploy • Manage configura'on with OpsWorks (hosted Chef) – Store everything as a CloudForma'on template