Cloud Native Software Engineering Newsletter #14 (July 2020)

Hello again cloud friend,

It’s that time again, to go through another month of cloud news, topics and interesting articles. So grab yourself a coffee (or whatever), and let’s dig in.

Cloud Native Software Engineering Newsletter Banner

To begin I must note that this months newsletter is a little behind schedule. Tardiness is definitely not something I will be making a habit from. That being said, the world is in an odd place right now and I’m definitely not the only one feeling the impacts.

However, the silver lining of the delay is that this months newsletter is packed with curious happenings, of which I’m quite excited to share. The newsletter this month is a real mixed bag, from high profile outages up to new communities popping up.

Personal Updates 🙍🏼‍♂️

Recently, I’ve been digging into and exploring GoLang.

And to put it simply: I’m impressed (very impressed). When I heard that few features will be added into Go, I breathed a sigh of relief. Finally, a chance to focus on crafting your skills with a tool, and spend time building out good products, without having to constantly run on the treadmill of updates or drink from the firehose of changes (and yes, I am looking at you JavaScript!).

So far I’ve been using Go to build out AWS Lambda’s functions, but I’ll definitely be exploring other areas in which to leverage Go soon, so stay tuned for more Go related posts in the coming weeks and months.

In The Spotlight 💡

If you only take one thing from the newsletter, let it be the spotlight one.

The Cloud Resume Challenge — I first saw Forrest Brazeal drop The Cloud Resume Challenge some months ago. At the time I remember being curious to see how the experiment went. The idea is pretty simple, follow some steps to setup a CV using cloud technology (more details in the link) and use that as a way to get into cloud tech, and advertise your skillset to would-be employers. It seems quite a few people have signed up and taken on the challenge, learning a whole raft of cloudy things along the way. The challenge seems like a fun way to get started in cloud if you’re struggling for an entry point. In fact, Forrest also setup a Discord server also, which you can come and join if you’re interested (I’m in there, too). It’s quite active and full of people that are ready and willing to help you out and answer any cloud questions, I’d really really recommend joining. Also, I’ve started to see a whole host of blogs being put out about completing the challenge, like this one: My Experience With The Cloud Resume Challenge.

Feature Releases & Announcements 📚

What’s new right now.

AWS Lambda now has EFS file system — Slowly over time the disadvantages of Serverless compute are being eroded. Now we’re seeing that Lambda’s can mount an elastic file store (EFS) to the function in order. If you’re wondering what the use cases are for EFS and Lambda, they are slightly more edge-case scenarios than your typical run-of-the-mill Lambda scenario’s. In this Lumigo article, unlocking new serverless use cases with EFS and Lambda, Yan Cui breaks down some use cases for Lambda and EFS.

RDS Proxy Generally Available — RDS Proxy is a “sort-of” managed connection pool for RDS. It makes it easier for compute, like Lambda functions to make connection to RDS databases without exhausting DB connections. And just recently, AWS’s inbuilt connection pool feature, RDS proxy is now generally available.

Github Availability Report — Github recently announced their availability report, and boy has it been a rough few weeks / month for Github, as we’ve seen a whole raft of outages. The outages have even lead some to start to investigate the question: “Has Github been down more since they were acquired by Microsoft“. However, it seems (at least anecdotely) that Github has in fact also been ramping up the features, by acquiring NPM, the not super recent (but still awesome) Github Actions addition, and the much more recent UI updates. So maybe these outages are just a side effect of Github shipping more, and more often. Is it a good trade-off? You decide.

Terraform Now Supports TypeScript And Python — This is big news! After writing several infrastructure as code posts, I often get comments on them along the lines of: “what about Pulumi!?” (No, really, I do). If you’re not familiar, Pulumi is an Infrastructure As Code, kinda-terraform-competitor, who’s main selling point was the ability to use different languages for the tool. Well, it seems like Terraform was taking notes, and are now offering similar support. This is truly big news, and maybe this shift from Terraform will start to open up the Infrastructure Stack just like Node.JS opened up the back-end to JavaScript developers way back in 2009. This announce is set to be interesting, and more posts on this will be coming soon, too.

ES2020 Has Been Finalized, Here’s What I’m Excited About — Some more changes are being made to JavaScript (when won’t there be changes). However, I must say that it’s getting quite tiresome all the patches that are made to JavaScript to essentially cover up with fundamental language design flaws from the early days. I wonder if I’m the only one feeling the overwhelm from the JavaScript community. It’s definitely a big driver to move to a community like GoLang where the language is intentionally stable, and no new features are likely to be added. Have thoughts on this? I’d love to hear ’em.

Serverless Reference Architecture — Jeremy Daly, the Serverless fanatic is putting together a collection of Serverless reference architectures to make it easier to understand and using patterns. Check the patterns out and submit your own to help create this community-driven data source on Serverless.

Outages / Breaches 📚

What went down, or got hacked.

Twitter Got Hacked — I usually try to keep the newsletter to cloud and fundamentals stuff, but jeeze, if you didn’t hear about this one, you should. Somehow attackers seemed to have got ahold of some high profile individuals by using, what seems to be, phishing or social engineering techniques and exploiting their accounts for a bitcoin scam. Whilst it seems financially motivated, which is arguably a slightly less worrying motive than political motivations etc, it’s still a very scary reality of easy it was to compromise Twitter. It’ll be interesting to see how this one plays out.

Cloudflare Outage — Another biggie, it seems that this months newsletter full of them! Earlier on this month CloudFlare suffered a pretty sizeable outage, taking down some other high profile sites with it. The outage is pretty catastrophic given Cloudflare’s business model as being the reliability service you can rely on. They’ve been pretty open with their incident write up, but it it enough to keep the trust of their customers, or will we see a massive exodus?

How-To’s & Educational Pieces ✏️

Good articles on how to do cloud stuff.

How To Debug AWS Lambda Performance Challenges — This is a nice article from Yan Cui on the opportunities you have for debugging performance issues in Lambda. However, I do think the article title is misleading, this is more about debugging HTTP integration performance issues rather than performance issues in general. Besides though, it’s a good article on the topic, and worth a read.

Github Self Hosted Runners (tutorial) — Whilst we’re talking of Github Actions. Github also announced recently the idea of self-hosted runners on the platform, which takes it’s currently SaaS only CI platform, and allows you to self-host (well, partly) the compute side, at least. Some tutorials have started springing up investigating this interesting, and promising new feature.

A Philosophy For Effective Error Handling (Using JavaScript Examples) — Another one from yours truly this month is this post on a philosophy for effective error handling. Error handling is incredibly important, especially when operating in the cloud. In this article I detail what I think is a pretty nice error handling pattern in JavaScript. I use it in pretty much every application that I write, and I’ve been getting very solid results. I’d definitely recommend you check it out, even if you don’t write JavaScript, the pattern could inspire some thinking that you can hopefully bring to your language of choice!

How Do You Setup Monitoring On Existing Software? — Sometimes we get a component thrown at us and we’re told to monitor it. In this article I walk you through the steps I take when taking over a component and adding monitoring and observability to it.

Automating Safe Hands-Off Deployments — Incase you’d not already heard of it, The Amazon Builders Library is a fairly new publication from AWS, which is home to a collection of in-depth technical articles on how AWS runs their production systems. I’m personally making my way through these articles. This month, AWS released a new article, “Automating Safe, Hands Off Deployment” written by Clare Liguori.

Opinion Pieces / Miscellaneous 💭

Cloud commentary and spicy takes!

$100K/yr on Github Sponsors — Whilst not strictly cloud related, this is a great article from Caleb Porzio, and how Caleb managed to move into working in open source full time, all supported by Github Sponsors. It’s a great story, and I hope we hear many more stories like this, it would mean big things for open source to get more full-time engineers working on projects in a way that Caleb did. Great inspiration and tips for those who want to follow in the same footsteps.

I Left Full-Time Employment, Here’s What Happened Since — Another really enjoyable read from Yan Cui on how his first year as a freelance consultant has been working out. It’s cool to see how things panned out, and it’s cool to also see opportunities that you might also want to take too, in the future. If you’re thinking about going freelance yourself, there’s some good advice and tips in here.

Why Do So Few Vendors In The Serverless Space Offer Metered Billing  — Or in other words: “Why don’t monitoring vendors work serverlessly?”. An interesting take on the monitoring market, which is still, to this day, pretty shambolic. Most monitoring companies seem to target large companies for big $$$, which tends to leave the small companies with very little option, and the monitoring vendors pricing reflects this. It’s a pain in the ass if you have a small app and want to use these vendors / tools, it’s basically not an option.

You’re Not Ready For Feature Flags – A fun write up by Forest Brazeal on why your business is not ready for feature flags. I particularly like this one as it talks through the need for basics, fundamentals if you must, which is the premise on which The Dev Coach is based. Focus on the basis, the foundation, and the rest will follow. In this article, Forest, rather eloquently I might add, takes us through why most companies shouldn’t be reaching for feature flags, and instead should be focusing on the basics if they ever want to reach CI/CD utopia and “hands off deployments”.

Cloud Computing Bachelors Degree — An interesting revelation this month for me, is that some universities are now offering degree’s in cloud computing. This is new and novel, and not many universities are doing it. But universities are clearly jumping on the bandwagon to provide next-level education to students in the form of cloud education. Will we see a resultant increase in applicants into cloud computing?

Why Are You Interested In Cloud? 🤓

Something attracted you to this newsletter. To help create better content and write a better newsletter, I need to know about your personal goals and interests. Take the The Cloud Native Software Engineering Survey and you’ll be doing me a big favour, and you’ll help me tailor the site, and the newsletter to your interests.

That’s All Folks 🎉 🥳 🤓

And that’s all for this months newsletter, thanks for tuning in!

To stay in touch in the mean time, you can follow The Dev Coach on Twitter and Facebook. Be sure to check out the courses page for the full list of courses, including the free email courses on: Terraform, Lambda and AWS. And lastly, if you have a question, feel free to email me back directly, or submit a reader question.

Speak soon Cloud Native friends!

Lou Bichard