On day 2 of Re:Invent 2019, it was pretty clear that Amazon Web Services had done a lot of work to scale this conference out. Last year, it was 55,000 attendees and the logistics were terrible. The app crashed often and it was damn near impossible to reserve a seat for any sessions. Getting up and down the strip was a nightmare. AWS had promised a shuttle system, but the shuttles were not well thought out and it actually made it even more difficult to get from venue to venue. They didn’t have enough busses. They didn’t have enough personnel. They didn’t have enough of anything. Ironically, it was like they couldn’t scale out the conference like they can scale their compute services.
There were definitely more people this year. How much more? At least 65,000. But later I learned that the final count was somewhere closer to 80,000… and they were handling them all very well. I was happy to see this because I had pretty much sworn that I wouldn’t be attending anymore re:Invent conferences because it was such an awful experience. This conference was already turning into a complete 180.
I skipped Andy Jassey’s keynote. Andy is a competent guy and runs his business very well. He is not, however, a very good presenter. His keynotes run 2-2.5 hours and they’re full of marketing and momentum-bursting interruptions with musical acts. It’s like he’s trying to be Apple, but not sure how to do it. He needs to get some better coaching. I watched his keynote from the comfort of the certification lounge the last few years. This year, I decided to just skip the keynote altogether and read the summaries on the net later. They had already announced so many new services and enhancements that I had no idea what they might want to introduce in the actual keynote. The keynotes were reserved seating only and I didn’t realize that until it was much too late.
I spent the day chasing sessions. It was here that my strategy formulated for this re:Invent and the years to come: favor chalk talks, builders sessions and workshops over sessions. Sessions are recorded for YouTube. The others are not. They’re also highly interactive and much more involved. That’s just my opinion anyway.
Read on for session notes.
Monitoring: GPSTEC326
New features in CloudWatch in the last 2 weeks:
Metric math in CloudWatch - do your own math and trip alarms
CloudWatch log insights - have to ask… why is anyone still using Splunk?
Next-Gen monitoring: ** Dynamic workload - monitoring should understand dynamism in the workload (machines that come and go from the system and IP addresses are released) ** Scale-capacity and capability to meet the required scale ** Heterogenous resources ** Full-stack visibility - dashboards should be focused on the stack ** AI ops - know how to fix issues without humans getting involved
Full-Stack Visibility
CloudWatch & X-Ray:
Troubleshoot root cause and bottlenecks with requests
Trace user requests
CloudWatch synthetics & map - looks a lot like DataDog
Container insights: tracing micro services and orchestrate X-Ray into containers or with a proxy
App Mesh should be considered here too
Solutions
When building a solution, start with business objectives
Examples: highly available, less than 1 second page rendering
Use a triangle of stuff: Traces (X-Ray), Logs, Metrics
Heavy traffic? Use AI and automation
Use Step Functions to trigger workflows with ticketing systems like Jira or ServiceNow
Hashicorp Session
Cloud-operating model white paper
New: Terraform landing zone - open source
Terraform Enterprise
Introduces workspaces, separated by roles/layers
Permissions
Version control
State management
Sequential deployments
Environment variables
Modules (inputs/outputs)
Private module registry
Sentinel policies
Challenges with multi-account models
Many design decisions
Need to configure multiple accounts and services
Establish security baseline & governance
AWS landing zones use CloudFormation
Now using Terraform landing zones
** AWS TLZ: easy to deploy Terraform-based landing zone
** Based on AWS & Hashicorp best practices
** Open-source link here
** Use TLZ as reference