-
Notifications
You must be signed in to change notification settings - Fork 10
Developing on AWS
This 3 Day Course shows us just how Amazon is taking over the world. Cory and I took this course in downtown Denver at Denver Place, January 24-26, 2018. The instructor says this will get you about 60% to being able to pass the Associate Developer Certification. Overall, good design is critical, so that even if you're not using all of the 4000 AWS services Amazon offers, portable lightweight well-designed code will make you're life easier when you do go AWS.
- Foundations
- Choosing your data store
- S3
- DynamoDB
- Kinesis streams
- SWF/Step functions
- SQS & SNS
- Lambda
- Security
- Elasticache
- Automatic deployments
Best practices for developing Cloud apps
- Have a loosely coupled design
- Architect for resiliency
- Design for failure
- Log metrics
- Monitor performance
- Implement strong DEVOPS model
- Be aware of security and regulatory restrictions
- Add security to every layer
Layers
Data
Application
Guest OS
^Customer Owned
AWS Owned
Hypervisor
Network
Physical
IAM Identity and Access Management
ARN AWS Resource Name
Data stores
- S3 simple storage service
- store and retrieve
- scalable, reliable, fast, secure
- 3 hours downtime per year
- price based on storage
Glacier (think deep freezer storage)
- Archived data, unlimited
- Low cost, Pay as you pull it out
DynamoDB the nosql database
- Document and key value pair store
- Cost based on size and performance
ElastiCache
- In mem cache
RDS
- Relational
- AWS covers backup and patching
Redshift
- Warehousing petabytes of data
CAP theory: sacrifice one for another
- Consistency
- Availability
- Partition-tolerance
AWS data stores consistency decreased as availability increased
Exponential back off
- Allowing a exponential amount of time to recover depending on number resources
AWS allows for auto scaling
- Fixed and percentage, up and down
Event driven development
Kinesis
- Streams/event channel
- Writes 1000 rec/sec 1MB/SEC
- Reads 5TPS, 2 MB/sec
- 1Mb blob max per Add Firehose to dump data to stores
Orchestration SWF
- Step functions now preferred to manage workflow SWF
- Consider state machines
- Edge transitions set the cost; Pay per transition
- States are task, choice, parallel, fail, success, wait
SNS simple notification service
- Pub/sub, topic, fast and simple
- 256KB max msg
- One to many
SQS simple queue service
- Persisted, not FIFO by default, guaranteed delivery
- Cost-based on millions of messages equals cents
- Fifo is 300 messages per second
- Up to 256 kilobytes Max per message
- Based on polling 0 to 20 seconds
- One to one
SNS + SQS = Fan-out pattern
Lambda
- Compute service
- Good for small process
- Doesn't require ec2 instance
- Serverless app
Use XRAY for debugging
Use Serverless Application repo for shared Lambdas
Use DevSecOps
- DevOps with Security at each level
3 things to do when you get root account
- Become IAM admin
- Remove root key
- Turn on Multi-factor Auth
Use IAM Simulator to test policies
Use Cognito for mobile ID management
Use Beanstalk and CloudFormation for automatic (and fast!) deployments
https://console.aws.amazon.com
https://d1.awsstatic.com/whitepapers/architecture/AWS_Well-Architected_Framework.pdf
cloudcraft.co
- Associate renewable every 2 years
- Professional renewable every 4 years
- Read "Well Architected White Paper"
- Run through developer training on qwiklabs
- Pay $20 for practice exam
ACES Learn to Code
- Git, GitHub GH-Pages
- Ozone Platform Developer Setup
- HTML, JavaScript, CSS
- Tomcat Web Server Setup
- A Simple Node.js App
- Spark with Docker
- Best Practices for Software Development
Other Tutorials
Conferences
- 2018 - DevOps Days Baltimore
- 2018 DevOps Days Baltimore, Part 2
- DevOpsDays---Baltimore
- Cross-Domain-Technical-Forum
- 2017 Potential Conferences
- LAS December 5th 2016
- DI2E Plugfest 2016
- OSCON 2015
- RWX-2015
- SpringOne-2017
- OSCON-2018
- DinosaurJS 2018
Training
- Developing on AWS
- Agile Team Facilitation
- Amazon AWS Big Data Solutions Day
- Cloudera Developer Training for Spark and Hadoop May 2016