• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Architecting Applications
 

Architecting Applications

on

  • 2,927 views

AWS Tech Summit, London

AWS Tech Summit, London
9th November

An introduction to how the Cloud can help with the development lifecycle, from dev to test to production.

Statistics

Views

Total Views
2,927
Views on SlideShare
2,927
Embed Views
0

Actions

Likes
6
Downloads
133
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • An introduction to elastic high performance computing. <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • Another example, also a hedge fund. Lot more spiky since they do High Frequency Trading <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Architecting Applications Architecting Applications Presentation Transcript

  • Architecting Applications Matt Wood Technology Evangelist
  • Hello.
  • Thank you.
  • AGENDA 9th November, 2010 Application lifecycle Environments Testing Mo ving to Production Summar y
  • There Will Be Code
  • 1 Application lifecycle
  • Developing Applications
  • Development Test Staging Production
  • Development Test Staging Production
  • Flexibility
  • Quality
  • Ship it!
  • Unpredictable Time consuming Bursty Development Test Staging Production Resource Collaborative intensive Costly
  • Focus on productivity
  • Toolkit for productivity
  • EC2 Elastic Compute Cloud
  • Virtual servers
  • Launch On demand
  • $ Pay as you go
  • Pay for what you use
  • Rapid provisioning
  • Elastic capacity
  • Administrator access
  • Global
  • aws.amazon.com/security
  • Network security Metrics Hadoop Tagging Placement EC2 HPC Auto-scaling MySQL Idempotency
  • HOWTO: Development in the Cloud
  • 2 Environments
  • Dev Test / QA Staging Production
  • Dev Test / QA Staging Production
  • Environmental separation
  • ges m ade Dev C han here Test / QA Staging Shouldn’t Production affect this!
  • Environmental consistency
  • Dev Test / QA Same s ervices, versio ns, OS, configs Staging Production
  • Separation + Consistency
  • Variable resources
  • Dev l-in- one Al Test / QA Staging Multi-tier, high availa bility, managed Production
  • Dev l-in- one Al Test / QA ulti- tier M tier, Multi-tier, M ulti- Staging aila bility high availa bility, hig h av managed Production
  • Dev
  • ➊ Spin up new instance > ec2-run-instances ami-2938699 $ <credentials> ➋ Log in to instance > ssh <credentials> root@ec2-174-129-123-206.compute-1.amazonaws.com ➌ Install and launch services > yum install apache, apache-devel, ruby, rails
  • console.aws.amazon.com
  • ploy, go! Inst all, de
  • Aq uick not e ab out stor age
  • Storage options
  • Instance storage
  • Elastic Block Store
  • Simple Storage Service
  • Data, config, code...
  • EC2 EBS
  • ➊ Create new volume > ec2-create-vol -s 10G <credentials> ➋ Attach to instance > ec2-attach-volume vol-1238797ah -i <instance> -d <device> <credentials> $ ➌ Format and mount $ mkfs.xfs /dev/sdh; $ <add mount point> $ mkdir /vol; mount /vol
  • Encapsulate environments
  • Code Data Configuration OS State ami-12398712 + snap-986854a
  • ➊ Bundle instance > ec2-bundle-vol -d /mnt <credentials> ➋ Upload bundle > ec2-upload-bundle -b <bucket> -m /mnt/manifest.xml <credentials> $ ➌ Register bundle > ec2-register <bucket>/manifest.xml
  • ➊ Snapshot volume > ec2-create-snapshot vol-123981a $ <credentials>
  • Sandboxing
  • Dev #1 Dev #2 Dev #2 AMI and snapshot: same base versions,
  • Environmental rollback
  • Only pay for what you use
  • Pause & terminate
  • Toolbox for development
  • Freedom to innovate
  • Freedom to innovate ew services New architectures New tools New models
  • 3 Testing
  • Test on production architecture
  • Change management
  • AMI + Volumes
  • ami-ha9034a Web frontend snap-er37a9x ami-ha9034a App server snap-er37a9x ami-ha9034a Database snap-er37a9x
  • Environmental description
  • include_recipe
"apache2" include_recipe
"php::php5" 
 apache_site
"php_server.conf"
do 

enable
:true end
  • Puppet, Chef
  • Version control
  • Load testing Continuous integration Cost reduction Webinar aws.amazon.com Automation Multi-layer System Integration
  • 4 Moving to Production
  • Production
  • ai lab ilit Fail o ver Av y Production Monitorin g Scale
  • “” Everything fails, all the time Werner Vogels, CTO
  • Architect for failure
  • Address with Elastic IPs
  • ec2-174-129-123-206.compute-1.amazonaws.com
  • ec2-174-129-123-206.compute-1.amazonaws.com :-(
  • Elastic IP
  • Elastic IP :-(
  • Elastic IP :-(
  • ➊ Allocate Elastic IP Free when alloc > ec2-allocate-address ated! ADDRESS 174.129.200.110 ➋ Associate Elastic IP to instance > ec2-associate-address 174.129.200.110 -i i-7044821d ➌ Address service via Elastic IP
  • ➊ Spin up new instance > ec2-run-instances -t m1.small $ ami-192871 ➋ Dis-associate Elastic IP > ec2-disassociate-address 174.129.200.110 ➌ Re-associate to new instance > ec2-associate-address 174.129.200.110 -i i-23987423
  • Provide redundancy
  • Web tier Application tier Database tier
  • Web tier Application tier :-( Database tier
  • Web tier Application tier Database tier
  • Web tier Application tier :-( Database tier
  • Remove state
  • Horizontal layers
  • :-(
  • ➊ Allocate Elastic Load Balancer (ELB) > ec2-allocate-address ADDRESS 174.129.200.110 ➋ Assign instances to ELB > ec2-associate-address 174.129.200.110 -i i-7044821d ➌ Address service via ELB CNAME
  • Toolkit for availability
  • Toolkit for scale
  • AGENDA 9th November, 2010 Application lifecycle Environments Testing Mo ving to Production Summar y
  • On demand Development PAYG Testing Security Production Architecture Easy to use
  • Questions, comments: mawood@amazon.com @mza on Twitter
  • Thank you!