Learn By Doing Volume 14 -- Serverless is no longer just a buzzword

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 #14 💻🔨

Serverless was the talk of the town again this week with ServerlessConf going down in San Francisco. A lot of great content came out of the conference and it really demonstrated the adoption of serverless. It is evident that serverless is maturing and many organizations are adopting it.

Taking a peek behind the curtain of serverless, researchers at UW-Madison, Ohio State, and Cornell take a look at the performance, underlying infrastructure, and bottlenecks across all three serverless offerings. We also explore more of AWS AppSync by building a search feature using GraphQL and DynamoDB. There is also another great article from Troy Hunt this week that explains is latest project, Why No HTTPS?

We aren't exploring a lot of Blockchain related content this week, but the Cool Find of the week is very interesting from that standpoint so make sure you check it out.

☁️ Cloud

Peeking Behind the Curtains of Serverless PlatformsA group of researchers from UW-Madison, Ohio State, and Cornell put together this fascinating paper on the current state of serverless platforms. There is in depth analysis in here about the performance and the underlying infrastructure supporting the various serverless platforms like AWS Lambda, Google Cloud Functions, and Azure Functions.

Building your own algorithm container for AWS SageMakerWe are beginning to see more and SageMaker tutorials across the internet lately. Yet they are all focusing on the boilerplate SageMaker setup that just use the built in algorithms of the service. However, it is possible to actually build your own algorithms, put them in a Docker container, and then setup SageMaker to actually run that container.

How Goodreads offloads Amazon DynamoDB tables to Amazon S3 and queries them using Amazon AthenaThis is an interesting read on how Goodreads offloads data stored in Dynamo to S3 via Glue jobs in order to perform ad-hoc SQL queries. It is a little unclear why this is necessary for them as it seems a bit more complicated than it needs to be. Nonetheless it is an interesting use of Glue and Athena.

ServerlessConf 2018 San Francisco: key takeaways for the future of serverlessServerlessConf came and went this past week in San Francisco. It is a bit ironic that this conference came just one week after GoogleNext, but it was refreshing nonetheless. A lot of talks centered around the benefits Serverless technologies offers over things like Kubernetes or more traditional workloads. This post sums up a lot of what was talked about.

Implementing Search in GraphQL with AWS AppSyncGraphQL continues to make headlines from both the advantages and disadvantages folks. Here, the Developer Advocate for AWS AppSync highlights how you can use AppSync to create a quick GraphQL search feature backed by DynamoDB. I would like to see something a bit more advanced you Elasticsearch, but I'm sure that exists somewhere already.

How To: Add Test Coverage to your Serverless ApplicationsAnother homerun from Jeremy Daly on how to make sure you are testing and measuring code coverage for your serverless applications. Serverless testing methodologies continues to be a talking point, but the tooling is starting to catch up at least. Here Jeremy demonstrates the serverless-mocha-plugin that makes simplies testing your Lambda function handlers locally.

awsrightsizer - AWS EC2/RDS Instance Right-Sizer toolThis looks like an interesting tool that will check your historical usage of EC2/RDS instances and let you know if they are appropriately sized.

How I built a serverless web crawler to mine Vancouver real estate data at scaleNot all AWS projects and architectures are successful. I stumbled on this interesting read from Marcello Lins. It lays out an interesting architecture he used to learn more about AWS within the context of rent prices in Vancouver, Canada. I really enjoy reading the experiments folks do to learn something new even if it isn't always a positive result at the end.

AWS Lambda Warmer as Pulumi ComponentThe AWS Lambda warmer hack/pattern is becoming mainstream. In this post the author demonstrates how to encapsulate the warmer pattern inside of your function handler using the latest tool in infrastructure provisioning, Pulumi.

🔨 Tools

Toy – A thin C++ game engine Game development is a very cool field if you have never looked into it. If you are a game developer you often get to work with some very cool technology and stacks. I am continually amazed by the number of people developing new game engines like this one. If you start looking at the features of Toy you quickly figure out that this wasn't built in a mere month. A lot of time and hard work went into this project.

The new Serverless Platform Beta: everything teams need to operationalize serverless developmentServerless has been making waves for quite sometime now and they have certainly made a lot of the development of serverless architectures simpler. Now it looks like we can expect even bigger advancements from the company as they are beginning to roll out their Serverless Platform project.

My arsenal of AWS security toolsIf you are working as a SecOps person or just as someone that is interested in the security of your AWS infrastructure, I strongly encourage this list. There is a lot of very helpful tools in here for both defensive and offensive security teams.

The AWS Cloud Development KitThis was released a bit of nowhere this past week, the aws-cdk. It appears to be the AWS take on abstracting away the need to write CloudFormation templates. It quickly garnered interest as many folks began jumping to comparing it to Terraform. But, looking at the example code it appears to be more like Pulumi more than anything. I will certainly be giving this a drive for myself to see what the pros and cons are.

Kotlin Cheat Sheet and Quick ReferenceHaving recently worked on an Android project that leveraged Kotlin I wish I had a cheat sheet like this handy. While the syntax of Kotlin is drawing closer to C# in some regards, there is still some things in Kotlin that are worth keeping nearby. For example, extensions in Kotlin.

Pyxel - A retro game development environment in PythonThis is a cool Python game development environment that looks to have been released about a month ago. In terms of game development for beginners this is one of the most approachable I have seen. I might have to go create my own pixel art game complete with AWS icons.

Code && Languages

Go Modules and CircleCIThe GO community as been looking for modules to be added to language for a bit now and it looks like with the 1.11 release they will become publicly available. This is an interesting read on getting the new Go modules to work as expected in a CircleCI workflow.

Why No HTTPS? Questions Answered, New Data, Path ForwardTroy Hunt is always a good read when it comes to just about anything web security related. Is latest project, whynohttps.com, has raised a lot of eye brows. It reveals websites in the Alex 1 Million that still don't permanently redirect to HTTPS instead of HTTP. This is particularly relevant now that Google Chrome has began flagging HTTP sites as not secure by default.

Eclipse Mita – A New Programming Language for the Embedded IoTTruthfully, IoT is a little terrifying from the perspective of security. Why does my toaster need access to WiFi? That is besides the point though. Eclipse Mita looks to be a nice introductory language for programming embedded devices. It looks vaguely similar to the Arduino syntax but a bit cleaner in spots.

Build your own custom blog CMS with Airtable and GatsbyJSI recently stood up my own blog using GatsbyJS and found the experience to be blazing fast and very easy to use. This is an interesting read from the folks over at AirTable on how you can actually create a GatsbyJS blog that is powered by AirTable. It is a cool way of implementing a lightweight CMS.

Structured data encoding options for MessagingHave you ever thought about why you chose JSON over another format? What tradeoffs are associated with JSON versus CSV? If not, consider giving this article from Clemens Vasters a read. It dives deep into the encoding tradeoffs between JSON, CSV, XML, and Apache Arvo.

Build a basic web app with IndexedDBThis is a nice example of IndexedDB in the browser for offline first web applications from Andy Haskell. This is not a new feature of Chrome and Firefox, but I have yet to see it be heavily utilized. I am sure the big tech companies are already leveraging it, but it could be handy for a lot of web apps big and small.

The Cost Of JavaScript In 2018Great article from Addy Osmani from the Google Chrome team on the impact massive javascript bundles can have on the user experience of your applications. There is a lot of great tips in here about how to apply tree shaking and code splitting to your javascript bundles.

😎 Cool find of the week

Decentralized certificate authority and namingHandshake is an experimental peer-to-peer root DNS. The goal here appears seems to be to create an alternative to the existing status quo of Certificate Authorities. It is a protocol that is compatible with DNS and aims to replace the root zone file and root servers with public commons. This looks like a very promising project is folks like you and I start contributing to it.

Are you looking to sponsor an upcoming volume? Check out the sponsorship page.

© 2019 Kyle Galbraith. All Rights Reserved.