Cloud architecture: Notes from an Amazon talk


Some notes from a talk I was at. Didn’t get time to write it in detail. But hey, something is better than nothing… right ?

Design for failure

        – handle failure
            – use elastic ip addresses
            – use multiple amazon ec2 availability zones
            – create mutliple database slaves across multiple zones
            – use real-time monitoring (amazon cloudwatch)
            – use amazon EBS for persistent file system
                – snapshot database to s3 (from ebs)

Loose coupling sets you free

        – independent components
        – design everything as a blackbox
        – de-coupling for hybrid models
        – loadbalance-clusters
        – use SQS as buffers to queue messages. Allows elasticity

Design for dynamism

        – build for changes in infrastructure 
            – Don’t assume health of fixed location of components
            – Use designs that are resilient to reboot and re-launch
            – Bootstrap your instances
            – Enable dynamic configuration
                – Enable Self discovery
                    (puttet, chef, ?)
            – Free auto-scaling features (by triggers)
            – Use Elastic loadbalancing on multiple layers
            – Use configurations in SimnpleDB to bootstrap instances

Build security in every layerider encrypted files

        – Physical is free
        – network is easy
            – Can confider app to talk to only web and db layer… etc. Everything can be automated.
        – The rest can be added
            – Create distinct Security Groups for each Amazon EC2 cluster
            – Use group-based rules for controlling access between layers
            – Restrict external access to specific IP ranges
            – Encrypt data "at-rest" in Amazon S3
            – Encrypt data "in-transit" (SSL)
            – Consider encrypted file systems in EC2 for sensitive data

Dont fear constraints

        – More RAM ?
            Distribute load across machines. Shared distributed cache
        – Better IOPS on my database ?
            Multiple read0only / sharding / DB clustering
        – Your server has better config ?
            Implement elasticity
        – Static IP ?
            Boot script for software reconfiguration from SimpleDB


Leverage aws storage solutions

        – Amazon S3: for large static objects (whats the maximum size per object ?)
        – Amazon Coudfront: content distribution
        – Amazon SimpleDB: simple data indexing/querying
        – Amazon EC2 local disk drive: transient data
        – Amazon EBS: RDBMS persistent storage + S3 Snapshots

One comment on “Cloud architecture: Notes from an Amazon talk

  1. I am wondering if you can check out my very own tool CloudBerry Explorer that helps to manage S3 on Windows . It is a freeware.

Comments are closed.