Architecting for AWS Cloud, AWS Best Practices Flashcards
Business benefits of the cloud
little upfront investment
just in time infrastructure
more efficient resource utilization
usage based costing (utility billing)
reduced time to market
technical benefits of the cloud
automation, scriptable-infrastructre
auto scaling
proactive scaling
more efficient development lifecycle
improved testability
disaster recovery / business continuity
can overflow traffic to the cloud to expand capacity
Design for failure
assume things will fail, design and deploy for automated recovery
Particularly plan for hardware failure, outages, higher requests per second, etc.
Decouple your components
Think SQS
Build components without tight dependencies on each other so that if one fails, the others keep working
ie isolate app server from web server and database
for batch processing, create asynchronous components that are independent
Implement elasticity
3 Ways
proactive cyclic scaling. Periodic scaling at fixed intervals (ie paycheck processing)
proactive event scaling. ie. black friday, movie release
autoscale based on demand.
Secure your application
whitelist ports and protocols