Tidy Cloud AWS issue #36 - Wing dagger cloud engineering proton platforms sustainably
Welcome to the next issue of the Tidy Cloud AWS bulletin! In this issue, we will have a bit about the Wing language, re:invent, AWS sustainability, Dagger, Cloud Engineering Days, AWS Proton, internal developer platforms, and infrastructure as code practices.
This week is the time for Re:invent 2022, AWS major conference for its services. It has already started with a barrage of various small and larger announcements. If you are going there in person, I hope you will manage and find some nuggets of gold, and some time to reflect and relax.
For us who will not be in Las Vegas, take your time with any material that AWS sends out. Most sessions should be available to view later, supposedly 48 hours after the live presentation.
Development for the cloud - Wing language
Elad Ben-Israel, one of the bright minds behind AWS Cloud Development Kit, left AWS some time ago and started his own company, Monada. Recently, they revealed what they have been working on - Wing, a programming language for the cloud.
In this post on Medium, Elad outlines the why and the what at a high level. Wing is currently in closed alpha, so you will have to request access if you want to try it out.
It is like some other efforts that try to get as much as possible of the cloud complexity out of the way for the developers to let them focus on the application logic. Same as with the Dark language, they want to create a language for the cloud era. For Dark, language and tooling are very much integrated with each other. Remains to be seen how that will work out with Wing.
There are other efforts such as Ampt, which have similar goals, but want to work with existing languages to a greater degree.
Anyway, I applaud efforts to make the development experience better in the cloud era. It is a tricky problem. Entirely new languages and tooling may solve it for green-field projects, for brown-fields projects other tools may work out better, perhaps.
One blog post from AWS caught my attention regarding sustainability: How to select a region for your workload based on sustainability goals. My impression has been for quite some time that AWS is not as transparent as some of its competitors for sustainability, so it is good to see more material coming from AWS in this area.
One take-away from this post is the list of AWS regions that run on at least 95% renewable energy. I am happy that the regions I usually work with are on that list. It was also interesting to see the Electricity map to get insights into electricity production and consumption in various regions.
Recently, Dagger has been releasing a couple of SDKs (Software Development Kits). Dagger is a toolkit for building CI/CD pipelines which can be run anywhere, and plugged into different CI/CD systems. Originally, they started with the CUE configuration language, which is a definite improvement over YAML and TOML.
Similar to what Pulumi and AWS Cloud Development Kit does for infrastructure, they now also have included regular programming languages into the mix. They have released SDKs for Go, Python and Node.js, and more languages are in the pipeline (pun intended).
The SDKs are wrappers around a graphQL-based interface essentially.
Cloud Engineering Days 2022 videos
In the beginning of November, Pulumi had their Cloud Engineering Days conference. The recordings of the sessions from the first day is now available in a playlist on YouTube, Cloud Engineering Days 2022.
I have looked at a pair of videos so far that I could not attend at the conference, and I think it is pretty good so far. I really liked the customer presentations I looked at, which points to some areas where Pulumi shines.
If you think of your work more than platform engineering than infrastructure operations, then I think Pulumi is an interesting option.
Infrastructure as code practices
Recently, Hila Fish from Wix ran a presentation on Terraform practices - the Good , the Bad and the Ugly. It was a good presentation, with a focus on Terraform usage. The video itself is quite long, around 90 minutes. About half of the video, 49 minutes, is Hila’s presentation and the other half questions and answers.
One blog post Hila mentioned in her presentation is 9 extraordinary Terraform best practices that will rock your infrastructure by Tiexin Guo. This is a quite good blog post, which is not really that Terraform-specific. Most of the advice can apply to any infrastructure-as-code tool.
AWS Proton general infrastructure as code tool support
Recently AWS announced CodeBuild provisioning support for AWS Proton. What this actually means is that you can run any infrastructure-as-code tool with Proton, be it AWS CDK, Pulumi, Terraform or something else.
AWS Proton is a service that allows platform teams to define infrastructure-as-code templates for environments and services. Application development teams can use these templates for infrastructure self-service setup. The focus for Proton is for Lambda or containerized solutions.
There are some blog posts related to this announcement:
Prior to this feature, you had to use either CloudFormation or Terraform with AWS Proton.
Internal Developer Platforms
In issue #34 of the bulletin, there were a few references to Platform Engineering, and what that means. This is closely related to the concept of internal developer platforms (IDPs), which is pretty much what platform engineering teams build most times.
The site Internal Developer Platform is a place that tries to collect and present information about IDPs, what is it good for, what to think about, etc. It is a good site to check out if you are interested in this space.
You can find older bulletins and more at Tidy Cloud AWS. You will also find other useful articles around AWS automation and infrastructure-as-software.
Until next time,