Title: A Study on Amazon Web Services and Google App Engine
1A Study on Amazon Web Services and Google App
Engine
- Alan Tran
- EECS 221
- Fall 2008
2Outline
- What is cloud computing?
- Amazon Web Services
- Google App Engine
- Comparison studies user perspective
3Cloud Computing
- Increase capacity or add capabilities on the fly
without investing in new infrastructure or
licensing new software - Capabilities provided as a service
- Accessible through Internet
- Utility computing offering storage and virtual
servers accessible on demand
4Amazon Web Services
- Amazons infrastructure auto scaling load
balancing - Elastic Compute Cloud EC2 scalable virtual
private server instances - Simple Storage Service S3
- Simple Queue Service SQS messaging
- SimpleDB database
- Flexible Payments Service Mechanical Turk
CloudFront etc.
5AWS Project
- Use S3 EC2 SQS to create a scalable video
converter web application - Use computing power of EC2 virtual server
instances for video conversion - Ubuntu image installed/configured FFmpeg
- S3 for media storage
- SQS for messaging between client and EC2
- Ex converting for iPod Youtube
6AWS Project
- Video converter architecture
7AWS Project
8Google App Engine
- Build/host web apps on Googles infrastructure
auto scaling load balancing - Datastore version of proprietary DB system
BigTable - GQL like SQL but no support for relational DBs
- Webapp framework SDK
- Services Google accounts mail URL fetch image
manipulation
9GAE Project
- Video conversion web app not possible
- Alternative image upload and manipulation
- Upload images to Datastore perform autoresizing
into thumbnails
10GAE Project
11AWS vs. GAE
- AWS
- Very flexible lowerlevel offering closer to
hardware more possibilities higher performing - Runs platform you provide machine images
- Supports all major web languages
- Industrystandard services move off AWS easily
- Require much more work longer timetomarket
- Deployment scripts configuring images etc.
- Various libraries and GUI plugins make AWS do
help
12AWS vs. GAE
- GAE
- Very tightly controlled Python only no
installation/config of open source software - Proprietary environment hard to move away from
- Easy to use free but limited
- fees coming soon
- Further support may be limited ex Ruby on Rails
tightly coupled with relational DBs
13Should I use AWS or GAE?
- Use AWS if you
- Want to use third party open source software
- Have existing code
- Want to transfer web app to own machine/servers
later on - Port code to another language
- Want control EC2 instances and machine images
- Ex need to stress/load test app just load up
1000 instances - Features messaging payment services etc
14Should I use AWS or GAE?
- Use GAE if you
- Have no preexisting code
- Want web app to go live as soon as possible
- Are satisfied with Python GAE framework
- Not doing anything fancy installing software
- Are satisfied with quota restrictions until they
make you pay
15Pricing Comparison Example
- Upload/convert 100 5MB videos from MP4 to FLV and
serve all videos once a day for a month - Misc. hosting plans 3050 with downgrade in
service slower conversion time - AWS 85 with proven dependable service and
scalability - Selfhosting purchase servers storage
solutions time spent - As site increases with visitors hosting plans
can go up to 500/month AWS will save more
16Conclusion
- AWS and GAE extremely scalable reliable
platforms for web apps - AWS has definite edge
- Not many sites on GAE now
- Google adding improvements and language support
17References
- http//aws.amazon.com
- http//appengine.google.com
- http//developer.amazonwebservices.com/connect/ent
ry.jspa?externalID691 - Programming Amazon Web Services