Presented at Intuit as a tech talk on running services at scale on AWS. Video recording (somewhat poor audio quality) available here: http://youtu.be/hTJZmud0uVM
native apps! • Blur the line between apps and the web! • Hyperlocal via iBeacons & NFC! • “Mobile” is no longer “smartphone”! – Car tech! – Watches! – TV! – Google glass!
10.0.1.0/24 10.0.0.0/24 10.0.12.0/24 10.0.11.0/24 10.0.10.0/24 10.0.22.0/24 10.0.21.0/24 10.0.20.0/24 10.0.32.0/24 10.0.31.0/24 10.0.30.0/24 Availability Zone A Availability Zone B Availability Zone C us-east-1 10.0.0.0/16 Infrastructure VPC Subnet Design Public web Private Services Persistence 10.0.2.0/24 10.0.1.0/24 10.0.0.0/24 10.0.12.0/24 10.0.11.0/24 10.0.10.0/24 10.0.22.0/24 10.0.21.0/24 10.0.20.0/24 10.0.32.0/24 10.0.31.0/24 10.0.30.0/24 Availability Zone A Availability Zone B Availability Zone C us-east-1 10.0.0.0/16
subnets when inbound connections are not required! • Reduces overall Internet-facing footprint! • Per application security groups! • Allow access by group, not CIDR! • Separate cross-subnet access using ACLs! VPC Security Benefits!
and often broken components”! ! ! !! !- Adrian Cockcroft! ! ! “The simpler, the better. Complications lead to multiplicative chains of unanticipated effects.”! ! - Nassim Nicholas Taleb, Antifragile!
ephemeral! • Infrastructure captured as code! • Minimalist operating system! • Databases are multi-AZ w/ provisioned IOPS! • Use read replicas when possible! • Who needs internal DNS?! • Tag all the things!
to T2 for development, small web services! • General purpose M3! • C3 for heavy compute needs! • R3 for memory intensive apps! • Use autoscale groups with appropriate triggers and minimums! Cost Optimizations!
instrumentation! • Keep configuration in the environment! • Implementation is not complete until there are unit tests! • Open source by default! Cloud Native Application Design!
on-instance Postgres or MySQL! • Redshift vs custom data warehouse! • Elasticache vs on-instance Redis or memcached! • EMR vs custom Hadoop! • DynamoDB vs on-instance NoSQL!