Learn By Doing Volume 11 -- Getting familiar with AWS EKS and containerization

Learn By Doing Newsletter

A free weekly curated cloud, blockchain, and coding newsletter delivered to your inbox every week.

Blockchain Newsletter

Subscribe to get the best cloud technology, blockchain news, and coding articles in your inbox every week

We will never send you spam and it's easy peezy to unsubscribe at anytime.

☁️ 📖 Learn By Doing Volume #11 💻🔨

Week 11 of the Learn By Doing newsletter is here and with it comes a fresh set of curated content dedicated to the cloud, blockchain, and general coding. It was a busy week as AWS summits continue to make their rounds to various cities. Everyone, including me, is getting their hands around AWS EKS and how to leverage Kubernetes for their workloads.

In this weeks newsletter we dive into the economics of serverless and where the break even point is. Reading through the cost analysis raises a lot of questions about serverless best practices for selecting appropriate workloads. For all the Javascript fans out there we have an interesting read on how the underlying async/await syntax is implemented in ES6.

If you want to share this week's issue with all your friends, you can see this issue and past issues on the Learn By Doing site.

☁️ Cloud

eksctl: Amazon EKS Cluster with One CommandI recently began my journey of getting my hands around the AWS Kubernetes offering known as EKS. I started off my jumping straight to Terraform and creating things there. This turned not to be the best place to start. So I backed up and went through the EKS getting started guide, things made a lot more sense. Then a day later, eksctl came out. While not a replacement for automated infrastructure it does look a bit simpler than the AWS getting started guide.

How to manage any kind of secret with AWS secrets managerThis is a great step by step guide on how to leverage AWS secrets manager to automatically rotates secrets on a cadence using a custom Lambda function.

How to Study to Become an AWS Certified Professional Solutions Architect"How do you study for the AWS Solutions Architect Professional exam?" is one of the questions I am asked the most. Having recently gotten my certification for the DevOps Professional, it felt like the right time to write up my approach to studying for these exams and my insights into actually taking the exam.

The Horrors of Upgrading Etcd Beneath KubernetesWe constantly read about the pros of Kubernetes and there is an abundance of information regarding how to launch a cluster and get started. This post is not that. It isn't a list of cons for Kubernetes, but rather a real-world example of maintaining and upgrading Kubernetes components. This might be a unique situation, but it is insightful to read about how they upgraded etcd from 2.3 to 3.0 with minimal downtime.

Economics of ServerlessThis is a deeper dive into the serverless cost savings debate. More specifically it is analyzing the break even point for a workload that can run on either AWS Lambda or EC2. There is interesting tidbits in here about when it makes sense to use Lambda from a cost perspective and when it does not.

How to manage Lambda VPC cold starts and deal with that killer latencyOn the topic of serverless, AWS Lambda, and best practices it seems worthwhile to dig into just how much of a cold start you can expect when running a Lambda in a VPC. The long story short is that there is a significant amount of cold start ime when it comes to adding an ENI to your Lambda and running in a VPC. Think carefully about your use case and if you need to run a function inside of a VPC.

Building a CD Pipeline for Fargate from the Command-LineI have become a fan of the AWS CodePipeline, CodeBuild, and CodeDeploy services. They are not perfect by any means but they are handy for getting a quick deployment pipeline up in AWS. This is a good post about using the CLI to provision resources in AWS and then deploy to Fargate clusters via the deployment pipeline.

Packer configuration for building a custom EKS AMIThe AWS open source team released a new repository that contains the Hashicorp Packer configuration for creating your own EKS cluster AMI. Not sure what the use case is here, but I am sure others will find it helpful.

Auto Scaling Production Services on TitusNetflix open sourced their container management system Titus a while back. This post dives deeper on how they allow application teams to incorporate their autoscaling needs into Titus while still being connected to the native AWS Auto Scaling features.

15 Key Takeaways from the Serverless Talk at AWS Startup DayThis is a fantastic write up from Jeremy Daly on 15 key takeaways relating to serverless best practices in AWS. The talk was of course administered by Chris Munns, but I appreciate the summary Jeremy has written up here. A lot of the bullet points in here are not new by any means, but a friendly reminder that a lot of the complexities that come with serverless architecture can be simplified by keeping these practices in mind.

📣 Blockchain

Data is the Battleground of the Future — Here’s Why It MattersWhile not all about blockchain, this article articulates what the future of technology is likely going to be centered around, data. We see this already with various companies collecting varieties of data 24/7. In terms of blockchain as a technology the author calls something out that I believe is critical to blockchain technology moving forward, clear and concise communication. If folks creating the technology cannot make the value proposition crystal clear it will never be adopted.

Code && Languages

Lay Out Your Code Like You'd Lay Out Your HouseThis may not be the way you would lay out the authors code, but his point still rings true. Suffice it to say one of the best coding patterns/best practices to get started with is to organize your repository in a sensible format. I personally prefer to define my repository on disk in terms of layers which is different than what is discussed here, but to each their own.

Real-time Chat with GraphQL Subscriptions in GoThis is a fun example of how one can leverage Go, GraphQL, and WebSockets to build out a real-time chat application. This is more of an advance Go tutorial, so you should be familiar with core Go programming concepts before diving in. I am also not sure why GraphQL is necessary here.

Notifications for React: Highly configurable and easy to use componentIf you have ever worked on any enterprise web application in your career you have undoubtedly had to deal with the typical user notification. It seems like any good front end framework or technology typically has one or more libraries to support that use case. This one is for React, it's fairly new and looks quite slick.

Fallacies of Distributed Computing ExplainedWhen it comes to building distributed systems there is numerous factors to be considered. This whitepaper visits the 8 core assumptions architects made in the early days and why they are now fallacies that must be accounted for. These seem obvious to us now because we expect and should design for failures when leveraging the cloud. But this post dives deeper into why these are fallacies even outside of commodity hardware.

Javascript ES6 — You don't really need to learn GeneratorsWith ES6 the async/await syntax was introduced to Javascript, but have you ever wondered how it is working underneath the hood? It turns out some of the secret sauce rests in promises combined with generators.

Get Automatic HTTPS with Let's Encrypt and Kubernetes IngressEnabling HTTPS is trivial nowadays for most workloads. It is quickly becoming the default for most public facing components. The author here explains how to leverage an ingress controller and Let's Encrypt to have HTTPS by default for new applications in a K8s cluster.

How I automated my job with Node.jsAs someone that despises repeated manual processes, this title caught my attention. I am all about automating the mundane tasks and saving my time for more important things. This is a fun post on how the author used some Node to automate the reskinning of a game platform. I bet his product manager was pretty happy about this.

This Sunday: Let's Learn Data Visualizations (Using Python)If data visualization is your jam and you know some Python, this could be a cool thing to check out this Sunday.

Writing a Game Boy emulator, CinoopWriting game emulators is no small feat, but Gameboy is actually fairly approachable. The author here created their own Game Boy emulator called Cinoop and it is written in C. Take a peek at the article to read about some lessons learned.

😎 Cool find of the week

Glow: Better Reversible Generative ModelsGlow is a reversible generative model that is being used to manipulate high resolution images by manipulating attributes in the data. This is an interesting project that is both fascinating from a machine learning perspective and disturbing from a modern society point of view.

Markdown New TabWhat's better than one cool find in a week? Two! This is a very cool new Chrome extension that replaces your New Tab with a Markdown editor to take notes. I am a huge fan of Markdown and I regularly keep Notepad++ open to take notes throughout the day, so this is a win for me.

© 2019 Kyle Galbraith. All Rights Reserved.