Learn By Doing Volume 13 -- The best code is stable code

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 #13 ๐Ÿ’ป๐Ÿ”จ

Last week was all about the AWS Summit in New York. This week Google came out swinging in San Francisco with their Google Next conference. A lot of new and interesting things were announced at Next18 that have people intrigued and confused.

For instance, Google Cloud announced their own build system, Cloud Build. This seems like a clear competitor to the AWS offerings of CodeBuild, CodePipeline, and CodeDeploy. I am personally a fan of the AWS offerings, but I recognize I am an outlier so perhaps the GCP offering will peek more of your interest. Aside from Google and AWS, we have some awesome articles this week on TensorFlow, code smells, and finite state machines.

A special thank you to this weeks newsletter sponsor CloudForecast. If your AWS spend is getting out of control you should consider their service that allows you to monitor it on a daily basis via email.

Need Help Monitoring Your AWS Cost? Starting at only $49/month, CloudForecast.io is a simple daily email report to help you keep an eye on your AWS cost. Special offer for Learn by Doing Subscribers: Email us at hello@cloudforecast.io to double your free trial!

โ˜๏ธ Cloud

GCP announces Cloud BuildI have been a big fan of the AWS CodePipeline and CodeBuild setup. I created a quick Terraform module that allows me to spin them up on demand when I am beginning a new service. Well it looks like Google Cloud has caught on as well as they announced a new service, Cloud Build at Google Next this past week.

Deploying Containers on Amazonโ€™s ECS using Fargate and Terraform: Part 2Honestly, Part 1 of this series didn't make it into the newsletter. The reason for that is because Part 1 is all about configuring Fargate by hand in the console. It was painful to read and speaking as an author, probably even more painful to write. But Bradford tries to resolve all that by walking you through how to provision Fargate using Terraform.

Step Functions: how to implement semaphores for state machinesInteresting read on how to limit the concurrent executions of AWS step functions. This is already possible on a single Lambda function, but here Yan is wanting to limit execution across multiple states.

Testing in Production the Netflix WayThe Netflix way is nothing new, most folks are familiar with their Chaos Engineering concept. But this is a cool presentation that Nora Jones gave at Launch Darkly on how Chap, their chaos engineering tool, works in production.

Serverless Case Study - Coca-ColaA case study is always good for a glimpse into how a particular company is leveraging serverless architecture. This is an interesting read on the otherside of the AWS cost optimization argument. Coca-Cola was able to cut their costs from $13,000 dollars a month to $4,500 a month.

Elastic Load Balancing Announces Support for Redirects and Fixed Responses for Application Load BalancerThis has been one of the biggest pain points leveraging ALBs in AWS. It looks like the pain has now been eliminated and full redirect support is now available. Kudos to the elastic load balancing team for listening to the complaints of many and actually doing something about it.

Bringing the best of serverless to youWhile AWS had the spotlight last week in New York, Google has it this week in San Francisco. Announced this week is the general availability of Googles own serverless offering, Cloud Functions. But that isn't the only thing in here. Google also rolled out serverless containers, the best of both worlds. This is a huge leap forward as it allows developers to bring their own containers to the managed platform.

๐Ÿ”จ Tools

Preview: AWS Exploitation and PacuPacu is an.....interesting name? The tool that Rhino Security is working on sounds interesting from an AWS configuration vulnerability perspective. When it comes to security vulnerabilities in AWS they are often misconfigurations by an administrator and less about actual AWS issues. This could be an interesting tool to introduce to infrastructure as code delivery pipelines.

Download The Site Reliability Workbook for freeThe Google Cloud SRE team rolled out a brand new book, The Site Reliability Workbook. For a limited time you can download this new book for free. My initial take is that it provides some awesome concrete examples for implementing SRE practices and principles

aws-lambda-tesseract: Run OCR inside of a Lambda function using TesseractI actually did this for a product I was working on at one time, before Rekognition existed. Statically compiled Tesseract and then included the binary in the Lambda deployment package. Since it is apart of the deployment package we can spawn out a thread to execute it with an image in the tmp directory. Very cool to see that someone open sourced this concept.

Code && Languages

The History of Kubernetes & the Community Behind ItThe Kubernetes team was given the Most Impactful Open Source Project award here at OSCON in Portland this past week. This is a great post from Brendan Burns on the history of K8s and what led it to where it is today.

Creating a .NET Core Global Tool In Less Than 10 MinutesI have been becoming a big fan of developers brave enough to live stream their work. Essentially, in real time they build projects in front of you. This is fascinating as it puts you right alongside them to see what mistakes they make and what their workflow is. This is an interesting one from the creator of libyear on how to port to a .NET Core 2.1 global tool.

Getting Started with TensorFlow.jsMost know that you can run models in the browser with Tensorflow, but did you know you can also train them as well? Laurence Maroney does a great job of explaining that in this introductory blog post for a simple function like 2x - 1.

Be Nice And Write Stable CodeThis is a fantastic practical view of production ready code from Matt Bucher. It dives very deeply into semver versioning and ripping into the details of how to abide by it in your code. I appreciate his view on preferring stable code over pristine code. We all want clean code (well most of us), but we should strive for that without ruining the lives of our users.

Every method begins with โ€œnewโ€ โ€“ code smells seriesThe factory pattern in C# is one of the better known programming patterns and JetBrains does a great job of laying out when and how to implement it. I would disagree with the assertion that the "new" keyword is an anti-pattern, but it is certainly a sign that maybe something can be done differently.

Crafting Beautiful UX with API RequestsAPIs provide data to user interfaces. That is the basics of most modern web applications. Yet we tend to gloss over error states or request latency when communicating with APIs. This post does a great job at highlighting some API/UI communication best practices to improve the user experience.

The #[test] attribute in RustRust is still very new to me and I haven't done much outside of the simple hello world with it. This blog post is an interesting look at the Rust programming language internals with a great example of how the [test] attribute is working underneath the hood.

Finite State Machines with ReactFinite state machines are not required in order to leverage the new React context api. But, as Jon covers in great detail here, it makes for a very clean collection of code. The transition of states handled by xstate is very slick to see within the React context.

The Road to QUICI have mentioned the QUIC protocol before in this newsletter back when Google announced their load balancers would begin supporting it. However, that post was missing the "why" QUIC is the future of communication protocols. This post does a great job at comparing HTTP/2 with QUIC and explaining the differences, advantages, and even the disadvantages.

๐Ÿ˜Ž Cool find of the week

Registry of Open Data on AWSHave you worked on a Big Data application and needed test data? A lot of AWS customers have faced this problem, myself included. Looks like the cloud provider has been listening as they have created this open data registry with big data sets stored in various S3 buckets.

ยฉ 2019 Kyle Galbraith. All Rights Reserved.