29
Applica’on Lifecycle Management on Amazon Web Services Contribute Group ALM Squad #3 2 Feb 2015

Application Lifecycle Management on AWS

Embed Size (px)

Citation preview

Applica'on  Lifecycle  Management  on  Amazon  Web  Services  Contribute  Group  ALM  Squad  #3  

2  Feb  2015  

Agenda  •  AWS  PlaGorm  Overview  •  ALM  on  AWS  – Governance  – Development  – Opera'ons  

•  CodeDeploy  Demo  

Cloud  Benefits  

Apps  not  Ops  

Low  Ongoing  Cost  

Flexible  Capacity  

Speed  &  Agility  

No  Upfront  Investment  

Global  Reach  

Cloud  Benefits  •  Why  AWS?  – Scale  – Accelera'ng  Innova'on  – Fast  Adop'on  – Enterprise  Ready  – Breadth  &  Depth  of  Services  

Scale  

Every day, AWS adds enough new server capacity to support all of Amazon’s global infrastructure when it was a $7B annual

revenue enterprise.

Innova'on  

Adop'on  

“It  is  the  overwhelming  market  share  leader,  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  

INFRASTRUCTURE   Regions   Availability  Zones   Points  of  Presence  

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”  

<  2-­‐5  Availability  Zones  •  AZs  <  2ms  apart  

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  

ENTERPRISE  APPLICATIONS  

PLATFORM  SERVICES  

ADMINISTRATION  &  SECURITY  

CORE  SERVICES  

INFRASTRUCTURE   Regions   Availability  Zones   Points  of  Presence  

Compute   Storage   CDN   Databases   Networking  

Iden'ty   Access   Audit   Key  Storage   Monitoring   Logs  

Virtual  Desktops   Sharing  &  Collabora'on  

Analy'cs   App  Services   Ops  &  Mgmt   Mobile  Services  

•  Hadoop  •  Real-­‐'me  

Streaming  •  Data  

Warehouse  

•  Data  Pipelines  

•  Queuing    &  No'fica'ons  

•  Workflow  •  App  Streaming  •  Transcoding  

•  Email  •  Search  

•  One-­‐Click  Web  App  Deploys  

•  DevOps  Resource  Mgmt  

•  Resource  Templates  

•  Iden'ty  •  Sync  •  Mobile  

Analy'cs  •  Push  

No'fica'ons  

E-­‐mail  &  Calendars  

Agenda  •  AWS  PlaGorm  Overview  •  ALM  on  AWS  – Governance  – Development  – Opera'ons  

•  CodeDeploy  Demo  

ALM  &  AWS  

ALM  

Governance   Development   Opera'ons  

•  AWS:    –  Increased  agility  

•  Infrastructure  in  minutes  •  Culture  of  innova'on  

–  Experiment  omen  –  Fail  quickly  at  low  cost  

–  Requires  People/Processes/Tools  

Governance  on  AWS  •  Compliance,  Security  &  Access  Management  –  VPC,  IAM,  CloudTrail,  Trusted  Advisor  

•  Resource  Management  – AWS  Config,  AWS  Service  Catalog  

•  Cost  Management  &  Account  Governance  –  Billing  console  

•  AWS  Marketplace  

Feature  Highlight:  AWS  Marketplace  •  Buy  3rd  Party  Somware  &  Services  

•  Ready  to  Use  on  EC3  

•  Pricing  Models  •  Pay-­‐As-­‐You-­‐Go  Hourly  Pricing  •  Yearly  Subscrip'ons  •  Bring  Your  Own  License  

SDLC  on  AWS  •  Accelerate  the  SDLC  – How  to  harness  the  power  of  this  new  technology  infrastructure  plaGorm?  

Flywheel  

Develop  

Build  &  Test  

Deploy  

Monitor  &  

Analyze  

SDLC  on  AWS  •  Develop:  SDKs  &  Toolkit  Integra'ons  

Java Python (boto) PHP .NET Ruby Node.js

iOS Android AWS Toolkit for Visual Studio

AWS Toolkit for Eclipse

AWS Tools for Windows

PowerShell

AWS CLI

JavaScript

SDLC  on  AWS  •  Develop  (cont’d)  – On-­‐demand  environments  

•  Elas'c  Beanstalk  PaaS  •  Docker  integra'on  

– Reduce  overhead  with  managed  services  – CodeCommit  source  code  repo  

Feature  Highlight:  AWS  CodeCommit  •  Managed  Git  source  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’  

Feature  Highlight:  Vagrant  +  Docker  

Vagrant.configure(VAGRANTFILE_API_VERSION)  do  |config|          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  

 

SDLC  on  AWS  •  Build  &  Test  

–  On-­‐demand  builds  •  Store  &  distribute  build  output  

–  Store  &  distribute  build  output  •  S3  for  cheap,  durable  storage  

–  Fully  automated,  isolated  test  environments  •  ‘Programmable  data  center’  •  CloudForma'on  templates  

–  Leverage  parallel  capacity  for  tests  •  1  instance  for  50Hrs  =  50  instances  for  1Hr  

–  Test  Scenarios:  Load  –  UAT  –  A/B  –  Fault-­‐tolerance  –  CodePipeline  for  con'nuous  integra'on,  test  &  deployment  workflow  

Feature  Highlight:  AWS  CodePipeline  •  Codify  &  automate  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’  

Feature  Highlight:  CloudForma@on  •  Describe  your  en're  AWS  

infrastructure  in  JSON  •  Can  be  version  controlled  •  Easy  deployments  globally  •  DevOps  Concepts  

•  ‘Immutable  Infrastructure’  •  ‘Infrastructure  as  Code’  

SDLC  on  AWS  •  Deploy  – Enable  con'nuous  deployment  

•  Model  workflow  in  AWS  CodePipeline  •  Automate  deployments  with  AWS  CodeDeploy  •  Manage  configura'on  with  OpsWorks  (hosted  Chef)  

– Store  everything  as  a  CloudForma'on  template  

Feature  Highlight  AWS  CodeDeploy  •  Automated  deployments  across  

EC2  fleet  (1  to  1000s  instances)  •  <Apollo  

•  50  million  deployments  in  last  12  months  

•  Features  •  Fully  managed  •  Rolling  deployments  

•  Customizable  

•  Deployment  health  tracking  •  Stop  &  rollback  support  •  Centralized  control  •  Language/architecture  agnos'c  •  Toolchain  integra'on  •  Free  

Feature  Highlight  AWS  CodeDeploy  •  Integra'ons  

•  Developer  Tools  •  Configura'on  Management  tools  

SDLC  on  AWS  •  Monitor  &  Analyze  – Monitor  infrastructure  with  CloudWatch  – Alarms  &  no'fica'on  with  SNS  – CloudTrail  user  ac'vity  &  change  tracking  

Opera'ons  on  AWS  •  Infrastructure  monitoring  

–  CloudWatch  +  SNS  no'fica'ons  –  Ac'onable  no'fica'ons  

•  Environment,  access  management    –  AWS  Config,  AWS  CloudTrail,  KMS  

•  Self-­‐healing  applica'ons  –  AutoScaling  –  Mul'-­‐AZ  Deployments  

•  Automate  everything  –  Golden  AMIs  –  OpsWorks  –  CloudForma'on  –  CodePipeline,  CodeDeploy  

Agenda  •  AWS  PlaGorm  Overview  •  ALM  on  AWS  – Governance  – Development  – Opera'ons  

•  CodeDeploy  Demo