Bostonrb Amazon Talk

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Bostonrb Amazon Talk - Presentation Transcript

    1. Cloud Computing featuring Amazon Web Services an unofficial presentation
    2. I am... Brian Kaney from Vermonster . We are a 3 person shop in the Back Bay. We've been around for over 8 years and mostly do ruby, perl and python stuff. I do not work for Amazon. I don't know every Amazon offering – maybe you can help ?
    3. Warning! There are lots of acronyms and abbreviations. I'll be bouncing from CLI, Web management console(s) and ruby code (and slides) This has been (somewhat) rehearsed but things happen... but at least you didn't have to pay and there's beer afterward.
    4. Agenda TODO: Cram all this into 60 mins.
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale
      • Map Reduce
      • Monitoring
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    5. Agenda TODO: Cram all this into 60 mins.
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale
      • Map Reduce
      • Monitoring
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    6. Intro: Why Cloud?
    7. Intro: Why Cloud?
    8. Intro: Why Cloud?
    9. Intro: Why Cloud?
    10. Intro: Why Cloud?
    11. Intro: Why Cloud?
    12. Intro: Why Cloud?
    13. Intro: Why Cloud? Temporary Events Unpredictability! Scalability Low Barrier to Entry Redundancy Batch Process
    14. Intro: Uncontroversial Prediction Cloud computing is no longer vaporware and will continue growth .
    15. Intro: Who Clouds?
      • Web Applications
      • Financial (MS Windows)
      • Biotech / Modeling / Scientific Community
      • Testing (devver, sauce labs)
      • Who else here clouds?
    16. Intro: Where can I get one?
      • Engine Yard (Amazon)
      • Rightscale (Amazon and others)
      • Rackspace
      • GoGrid
      • Google
      • Amazon
      • Eucalyptus (DIY)
    17. Intro: Where can I get one?
      • Engine Yard (Amazon)
      • Rightscale (Amazon and others)
      • Rackspace
      • GoGrid
      • Google
      • Amazon
      • Eucalyptus (DIY)
    18. Intro: Amazon AWS Currently...
      • The most mature
      • The most fully featured
      • The most mature API
      • And the only one I've really used
    19. Intro: How much does it Cost?
      • Minimum hour increments
      • Min $0.10/hr ($70/month/instance)
      • Max $0.80/hr ($560/month/instance)
      • c1.medium $150-$200/month/instance
      • Reservations 1/3 the hourly price ($200 - $2000 per year)
      • NOTE: See aws.amazon.com for official pricing
    20. Agenda
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale
      • Map Reduce
      • Monitoring
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    21. Fundamentals: Amazon API
      • It is fairly consistent – REST or WSDL/SOAP
      • Security
        • x509 key pairs for API Access
        • Separate keypairs installed on the instance
      • Public API
      • Instance API via link-local address
    22. Fundamentals: Ruby and Amazon
      • aws-s3
      • EC2
      • RightScale
      • Tons of others (http://github.com/search?type=Repositories&language=rb&q=amazon)
    23. Fundamentals: Ruby and Amazon
      • aws-s3
      • EC2
      • RightScale
      • Tons of others (http://github.com/search?type=Repositories&language=rb&q=amazon)
    24. Fundamentals: EC2
      • Elastic Compute Cloud
      • Virtualized Xen Servers
      • 6 sizes – c1.medium best bang for buck
      • Security Groups
      • Availability Zones ( different for everyone )
      • Launch from AMIs ( Amazon Machine Images )
    25. Fundamentals: Launch an Instance!
    26. Fundamentals: AMIs
      • Typical to find an existing, customize and then repackage
      • Ubuntu.com ( http://help.ubuntu.com/community/EC2StartersGuide )
      • Well-maintained Ubuntu ones at ( http://alestic.com )
      • Consider re-bundle as part of deployment
    27. Fundamentals: Let's bundle !
    28. Fundamentals: S3
      • Key-store
      • Buckets and blobs
      • AMIs live there
      • DNS mapping is cool
      • Pretty cheap and widely used – early offering
    29. Fundamentals: EBS
      • Elastic Block Storage
      • Network-attached drives
      • I use XFS
      • Snapshotting
      • Shared NEW
    30. Fundamentals: Attach an EBS
    31. Fundamentals: SDB
      • Simple DB
      • Written in Erlang (rumors?)
      • “Offline” M/DB open-source clone (http://www.mgateway.com/mdb.html)
      • I haven't used SDB... anyone using it?
    32. Fundamentals: SQS
      • Simple Queue Service
      • Not AMPQ
      • v2 has message locking ( recommended )
      • Order is not FIFO – but you can provide sequence metadata
      • Up to 8k in size
    33. Fundamentals: Create SQS Messages
    34. Agenda
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale (ELB/AS)
      • Map Reduce
      • Monitoring
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    35. ELB/AS: A Proposal I have a random idea: Let's launch an automatically-scalable , load-balanced cloud running a trivial sinatra application!
    36. ELB/AS: Loadbalance NEW
      • Start with an Elastic LoadBalancer
      • Register Instances
      • Balanced across all availability zones
      • Create a real CNAME in real life
    37. ELB/AS: AutoScaling NEW
      • Create Groups of Instances
      • Launch Configuration for each Group
      • One or many Triggers create Scaling Activities ( add or remove instances )
        • Period – how often to measure
        • Breach Duration – how long the breach is affected
    38. ELB/AS: AutoScaling Concepts Trigger 1 Trigger 2 Trigger 3 Launch Config
    39. ELB/AS: Launch Time!
    40. Agenda
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale
      • Map Reduce
      • Monitoring
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    41. MapReduce
      • Design pattern, coined by Google (?)
      • Functional Programming
      • For big data sets
      • Highly Parallelizable
      • Apache Hadoop
      • Uses S3 (HDFS?)
    42. MapReduce: Theory
      • First, map chunks up the data for processing
      • Then reduce combines based on keys
      • Remember math class:
      map(k, v) -> <k' v'> reduce(k', <v'>) -> <k',v'>
      • Distributed key-stores … nosql.
    43. MapReduce: EMR Implementation
      • STDIN and STDOUT are the interfaces
      • Key - value separated by “: ”
      • Output of map and reduce should be similar.
      • JAR, Streaming , Pig or Hive
    44. MapReduce: EMR Proposal I have another completely random idea: Let's process a data.gov feed of earthquake data to see the most seismically volatile regions using Elastic Map Reduce !
    45. MapReduce: While we are Waiting...
      • Minimum of 30 seconds to start a job.
      • I don't have time for that
      • Let's look at some monitoring in the meantime.
    46. Agenda
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale
      • Map Reduce
      • Monitoring
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    47. Monitoring NEW
      • Cloud Watch
      • API provides aggregation ( sweet! )
      • Amazon has a nice UI
      • But account management is crappy
      • We can write some code for that!
    48. Monitoring: Code
        Start with a CLI:
      ec2-monitor-instances <instance-id>
      • RightScale gem and a rake task
      • Then use some HTML5 canvas action
      Thanks to a jQuery visualize plugin by Filament!
    49. Our Map-Reduce Should be Done!
    50. Agenda
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale
      • Monitoring
      • Map Reduce
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    51. Other Services
      • Cloud Front NEWISH
      • Mechanical Turk
      • VPN NEW
      • Payment System (DevPay, Flexible Payments)
      • Load up a truck and physically ship your data to Amazon
      • Anyone using these?
    52. Agenda
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale
      • Map Reduce
      • Monitoring
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    53. Deployment (opinionated)
      • Use a global registry – S3
      • Capistrano
      • EC2-on-Rails (shouldn't it be rails-on-ec2?)
      • Pool-Party
      • Chef
      • Puppet
      • Rubber
      • (many others)
    54. Deployment v2 (also opinionated)
      • That's fine for a handful of instances
      • But direct ssh does not scale (try deploying to 100, 500 or 1,000 instances)
      • Vertebra (dead? uses XMPP)
      • Build one on a messaging queue? Use Nanite?
    55. Agenda
      • Intro
      • Elastic Fundamentals
      • LoadBalance/AutoScale
      • Map Reduce
      • Monitoring
      • Other Services
      • Deploy / SCM ( System Configuration Management )
      • Architecture Thoughts
      • Closing
    56. Architecture Redux
      • Stateless – like the web and also like our ruby “best-practices” development.
      • Ephemeral Storage – /mnt
      • Messaging instead of forking/backgrounding (AMPQ)
      • Event Machine
      • Nanite (http://rubymanor.org/videos/nanite/)
    57. Architecture Redux
      • We need some state-full pieces
      • (DB, Proxy, configuration/settings)
      • But we can if we drink the kool-aid!
      SQS S3 SDB LoadBalancer EBS
    58. Architecture Redux
      • Vendor Lock-in
      • Predetermined technology ( SBD.. I'd rather have Postgres )
      • But we are agile, so less of an issue.
      • I can't back this up statistically, but my guess is most are using a hybrid architecture.
    59. What about Exiting Rails Applications?
      • We are fairly stateless to begin with
      • Configuration Management
        • Inventory gems and plugins
        • External libraries
      • Shared Storage
        • Shared NEW EBS / S3
      • Messaging ( SQS / AMPQ, opposed to forking/backgrounding )
      • Log files ( Shared EBS helps )
    60. Consider a Third Party
      • Simplify Architecture, Configuration Management and Deployment
      • Engine Yard
      • Right Scale
      • (others - lmgtfy)
      • Your Friendly Neighborhood Consultants
    61. Thanks!
      • Brian Kaney – twitter.com/ bkaney
      • IRC – bkaney
      • Vermonster – http://www. vermonster.com

    + Brian KaneyBrian Kaney, 1 month ago

    custom

    237 views, 0 favs, 0 embeds more stats

    A talk covering some of the amazon AWS products for more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 237
      • 237 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 4
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories