Last week I went to Las Vegas to attend the AWS conference re:Invent. With over 50.000 attendees and more than 2.500 sessions it's definitely a place to learn. After an intense few days in Sin City I've had some time to digest everything and figured I would share with you what I took away from this trip.
This is really nice for everyone running any kind of container workload on AWS. It was announced but is not yet available, so I haven't had the possiblity of reading up on it yet unfortunately. But giving the team even more visibility into our workloads is always a good thing.
Yes, you read that right, from Code and not as Code. If you know me, you know I'm a strong proponent of IaC. I attended a session by the brilliant Jeremy Daly where he talked about IfC. Long story short, IfC is a way to enhance the Developer Experience (DX). Developers should focus on designing and building their system, and then everything else should just be there. So when you create a basic web app and define a get function, the system you are using should just spin up all the resources required to serve that functionality. Not only that, but as time goes on the resources will adapt to become more efficient for your specific application.
In theory, this sounds really nice, but I do have some concerns. Who decides what is "best" when picking resources? Can we pass in any requirements we want? What if we are okay with additional load times to to utilise greener resources? Nonetheless, it is an interesting concecpt that I will be following up on.
One of my main focuses on this trip was how we can be more responsible as a tech organisation and how we can make better choices to ensure that our kids have a future. I unfortunately missed Aerin Booth's talk on being ethical in tech, but I managed to attend quite a few other ones. Knowit's own wonderful Rolf Koski had a session that was very interesting.
For me, there was not really anything new though. It was the same old mantra of ensuring that you use as modern resources as possible, for example GP3 EBS storage instead of GP2 or Graviton based instances for EC2 and Lambda.
Another popular thing is right-sizing your environment. This boils down to making sure you provision the right resources. If your EC2 is running on 100% CPU you are losing efficiency, so scale it up to make sure you get better performance and less compute time. It's not always about scaling down.
AWS provides a tool called AWS Compute Optimizer that you can use to monitor your instances and it will give you feedback on whether or not you are in the right space. And remember, right sizing is an ongoing thing. You should keep reviewing regularly to make sure you are efficient, cost-aware and responsible.
If you want to read more about it AWS posted a white paper on the topic in January 2020 that you can find here.
Another powerful concept is scheduling. Any resources that you don't need, should not be running. This usually relates to dev environments and similar outside of office hours. There are 168 hours in a week. A "normal" work week is 40 hours. But then we have the early birds and the night owls. So, to make sure they can work when they need to, schedule your systems to be up for 12 hours 5 days a week and turn them completely off for the weekend.
Let's do some basic math:
Just by doing this simple thing you are saving around 65% of compute costs and energy expenditure.
AWS also offers a tool called the Customer Carbon Footprint Tool that can be used to get an overview of what you are working with. And as they announced last year, sustainability is now one of the pillars of the Well Architected Framework, so if you haven't done a WAF review lately, it's a great time to do so now.
Code Catalyst was announced and it seems like a great service, at least on the surface. I'm looking forward to testing it out and seeing if it's as good as it seems. Getting everything you need up and running quick with automation, cloud-based dev environments and visualisation of workflows? Yes please. It is currently in preview and AWS posted this blog talking about it.
The other big thing for me this trip was trying to really focus on my role as a User Group leader and how I can make our group grow and create a space for us to share knowledge and chat with other people. Thanks to the amazing AWS Community team, I got to listen to inspiring stories and participate in some amazing discussions.
I got a ton of ideas and got super inspired to really make a push going forward! If you are interested in doing a talk on anything AWS related, please reach out to me.
A highlight for me was also to hang out with colleagues from different parts of Knowit. Breakfast at Denny's, chilling at the Knowit Corner or just walking about the different venues.