Day #2
Keynote #1 Andy Jassy
[watch](https://www.youtube.com/watch?v=7-31KgImGgU]
I’ve often found keynote sessions at these big conferences (whether AWS or Microsoft) to walk a fine line between a necessary marketing exercise, and a full on revival crusade. Having Andy’s keynote points framed by covers of popular songs by the in house re:Invent band, certainly helped to blur that line further. The only thing really missing was someone up the back yelling “Amen brother” everytime Andy drilled home a salient point. My biases aside, Andy did his best to weave the necessary product announcements into a structured 6 point story on public cloud transformation. Don’t ask me what the 6 points exactly were, I got the first 2; Leadership and Broadest and deepest platform (no guesses who has that), then the rest seemed to get lost in a sea of product announcements.
For a full list and details on the announcements, the best source is going to be the AWS News Blog, I’ll just highlight a few that interested me.
- New ARM based Graviton2 instances have got me thinking about doing some performance benchmarking on CPU bound .Net core workloads.
- SageMaker Studio has got me thinking I really should have a play with some ML… now that there’s an IDE for it, and with SageMaker AutoPilot, now any developer can pretend to be a data scientist.
- Amazon Code Guru is a very interesting usage of Machine Learning. It is basically an ML model trained on tens of thousands of open source pull requests and subsequent human code reviews, and attempts to use this to find potential issues in your code. It’s a poniant reminder that no-ones job is beyond the reach of automation. Having said that, it currently only supports Java, and knowing AWS, next will probably be NodeJS, followed closely by python, leaving my favourite language, C# as a distant afterthought that may or may not get some love from this offering.
- Amazon Kendra is a service I’m calling the “Automated Tatham”. Back when Tatham was CIO of Readify, and our internal sharepoint site was re-vamped, the legend has it that Tatham worked tirelessly to ensure that search results in sharepoint got to the right information. I’m not sure exactly how this was done, but from what I understand it was a mamoth effort, and we are all very grateful when we use our intranet, as it almost always has exactly the right suggested page, to just about every search we throw at it. Well, Amazon Kendra uses ML to achieve exactly this across all of your organizations internal data. Luckily Tatham has a different job now, otherwise, he could find himself down at CentreLink applying for a NewStart allowance.
- AWS Local Zones. One common criticism of AWS (especially from Azure fans), is that AWS just doesn’t have as many Regions. AWS currently has 22 regions, where as Azure boasts 54. In the past AWS has countered with something along the lines of… “yes, but we have very strict definitions of what we call a ‘region’ based around redundancy, latency and structure, that other public cloud providers fail to measure up to. Just look at our uptime statistics. Besides, we have 199 edge locations and 11 regional caches which is better than anyone else”. Which is great if you are serving static or cachable content, or even if you can use lambda @ Edge for some simple business logic. As soon as you need to write an API that needs to use some compute resources, or look up stuff in a database, then round trips between the nearest AWS Region, and your customers location starts to become a thing you care deeply about… Trust me, I live in Melbourne, I know the pain. So this is AWSs attempt to address this issue. Local Zones have a strategic subset of AWS services. This comprises of Compute, Storage, Databases and Analytics. This will definitely ease the pain, although will certainly increase the complaexity. I am really hoping Melbourne is on the list of future local zones.
Serverless architectural patterns and best practices (Session)
As serverless has become the new black, every man and their dog are spinning up serverless applications to solve all sorts of problems. Prototyping a potential new API or application is quick and easy, but when it’s time to go into production, these prototypes require hardening in order to be robust and perform under load. This session took some fairly standard serverless patterns and showed, using the 5 pillars of the well architected framework, how you would go about hardening these for prime time.
Strategies such as Logging, tracing and metrics featured heavily, as did the use of custom authorizers at API Gateway endpoints. SQS, SNS and Kinesis were also discussed for various patterns to aid in decoupling, aggregating and fanning out workloads. Definitely some good suggestions in this one, well worth wathcing when the video becomes available.
Five new features of Microsoft & .Net on AWS that you want to learn
The speaker joked that her team over delivered and there was infact 14 new features, but she broke them down into 5 categoies.
- Total Cost of Ownership - She claimed it was not only cheaper to run Microsoft workloads (including SQL Server), on AWS than on Azure (yes she did actually say the word Azure… and no one died… I get the impression that it is a huge taboo to explicitly name other cloud providers like Azure and GCP in talks at Re:Invent). I will drill into some of these claims a little bit later, but I’m willing to accept that they may well have advantages over other cloud providers.
- Ease of Use - The speaker claimed that using microsoft products was easier on AWS than Azure, especially with the announcement that they now support Azure AD, as well as on premise AD. To be honest, I’m taking this with a grain of salt… I’ve used Azure, and AWS, with Single Sign On, and I find Azure easier here. Other newly released features such as Golden Images and AWS Launch wizard may add some weight to her argument though.
- Migration Acceleration - Not content with moving workloads from on prem, they also have tools to migrate customers out of Azure as well.
- Modernization and Innovation - This centred around moving SQL Server from windows to linux, or moving SQL Server to Aurora. They also focussed on their leadership with .Net severless and container based initiatives, which I will happily give them, (although only with the caveat that it’s mainly around .Net core). Grouped Managed Service Accounts support in ECS and EKS also seemed popular with the crowd for obvious reasons.
- Analytics and Insights - AWS now provide a deep learning AMI based on windows if that’s your thang.
Drilling into the Cost of Ownership around SQL Server a little further, the claim was that they can run SQL Server not only cheaper but faster than Azure can. I was skeptical of this, and so decided to checkout the reference material she cited in the presentation. This comes from a [benchmark test](https://zkresearch.com/blog/2018/11/comparing-sql-server-deployments-on-microsoft-azure-and-amazon-web-services/] run against SQL Server on both AWS and Azure. As I thought, there was a little more to this. The tests were a comparison of SQL Server running on IAAS (AWS EC2, and Azure VMs), not a comparison between there managed service offerings (AWS RDS, and Azure SQL). It would be very interesting to see what such a comparison would yield.