Off-by-none: Issue #72

January 14, 2020

Suddenly everyone’s interested in DynamoDB…

Welcome to Issue #72 of Off-by-none. Thanks for being here! 👍

Last week, we shared a number of tutorials and some thought-provoking serverless reads. This week, we have a bunch of great DynamoDB resources, several serverless concept deep-dives, and plenty of great posts from the community.

News & Announcements 📣

Production-Ready Serverless workshop is coming to a city near you
AWS Serverless Hero, Yan Cui, is taking his Production-Ready Serverless workshop on the road. There are multiple locations being offered in Europe.

SLAppForge Incorporates US Entity and Announces New CEO
SLAppForge, the serverless technology startup, has announced the incorporation of its US entity SLAppForge Inc. and the appointment of Wallace Wilhoite as its new CEO.

New course – Learn you some Lambda best practice for great good!
Yan Cui also has a new course out. If you like video courses and want to learn some best practices for Lambda, take a look at this.

Lumigo announces ISO 27001 & 27799 certification
Congrats to the team over at Lumigo. This most definitely shows a commitment to user security.

Serverless Stories 📖

Integrating DynamoDB in my Chinese vocab app
Emily Shea outlines how she added DynamoDB to her serverless Chinese vocabulary app in order to store the list of words that users were sent. With all the complex DynamoDB use cases we discuss, the thought of tackling a project with it can be overwhelming. This is a nice straightforward implementation that gets the job done for pennies a month.

Lessons Learned From a Legacy Serverless App
Mahdi Azarboon had to take a “legacy” serverless application that was built with no tooling, IaC, or documentation, and bring it up to modern development standards. There are also some good points in this post about the variations between cloud providers, and why developers might want to take some time to understand the differences.

How AWS Lambda Solved a Major Photo Bug
Quinn Flagg from the Expedia Group explains how his team used a Lambda function and S3 notifications through SNS to quickly solve an image orientation bug.

Serverless Use Cases 🗺

Handling webhooks with EventBridge, SAM and SAR
Slobodan Stojanović built a generic webhook-to-EventBridge SAR application for you to easily launch serverless-scale webhooks and use all the magic of EventBridge to do your event routing. The post also contains some great insights into the architectural choices.

Big Data Pipelines as Serverless Microservice’s
Big Data pipelines are becoming the norm, rather than the exception. Joel Lutman shows you how his team used Step Functions, Lambda, S3, and several other services to coordinate a rather sophisticated architecture.

Fun with AWS Image Recognition & the Twitter Account Activity API
If you’ve got some time on your hands, check out Philip Damra’s incredibly lengthy tutorial that shows you how to build a Twitter bot that will process tweeted images with AWS Rekognition, and tweet back what it identifies.

Running a Fargate task from a Lambda Python function to automate Pull Request creation
I’m sure this is a fine solution to the problem, but I thought it was a bit ironic that they are using a Lambda function to automate pull requests for their Kubernetes cluster configurations. 🤔

Serverless Concepts 🏗

SQL, NoSQL, and Scale: How DynamoDB scales where relational databases don’t
Alex DeBrie has put together an excellent post that explains why NoSQL databases are better at scaling than RDBMS. There are lots of considerations when choosing your operational datastore, and Alex does a great job pointing out all the intricacies. It’s a very long article, but worth the read.

Serverless Environment Variables – A Comprehensive Guide
Everything you ever wanted to know about using environment variables with the Serverless Framework and AWS from Adam DeLong.

AWS CloudFormation Doesn’t Do That Yet?! No Problem
Mark Fowler gives you a complete run down on the why, what, where, when, and how of AWS CloudFormation Custom Resources.

Amazon Builders’ Library in focus #3: Avoiding fallback in distributed systems
Yan Cui has another post in his series of notes on the Amazon Builders’ Library. In this installment, he outlines Amazon’s strategy for avoiding fallback mechanisms, why fallbacks are a bad idea, and what are some better alternatives.

AWS Lambda Canary Deployments with API Gateway
Serkan Özal explains how canary deployments can improve the stability of your web applications by using traffic shifting with API Gateway to verify new releases.

AWS Serverless Application Repository explained
There hasn’t been a lot of buzz about the Serverless Application Repository lately, but it’s a great way to package, share, and reuse serverless application patterns. Ernesto Marquez gives a quick overview of what it is and what you can do with it.

How to optimize AWS Lambda performance
Efi Merdler-Kravitz has a great post that explains some ways to tweak your settings to get better performance out of your Lambda functions.

Serverless Tutorials 👷‍♀️

Alexa Node JS skill Serverless Integration
I think voice interface technology is going to be the next big thing, so if you want a crash course in building an Alexa skill with Serverless, take a look at this tutorial by Renjith Chandran.

Supercharging Your Development Workflow with Serverless Framework Pro
If you haven’t been paying attention to all the new features being added to the Serverless Framework Pro, take a few minutes and review it. The Serverless Framework has been a staple for many serverless developers over the years, and the new features make managing the full lifecycle of your applications super easy.

Setup CI/CD Pipeline for AWS Lambda using Github & Travis CI
Another serverless application, another unique CI/CD setup. Luke Mwila shares another way to automate the deployment of AWS Lambda functions.

How to Create CDK Constructs
Thinking about building your own AWS CDK constructs? Matt Bonig has a simple tutorial to get you started.

Serverless Reads 🤓

Why ‘Born in the Cloud’​ NoSQL Services will win
I recently came across this article by Rick Houlihan. He says, “In the end, people who actually scale NoSQL databases learn fast that NoSQL is about simple queries that facilitate CPU conservation so performance is driven by proper denormalized data modeling and not fancy query API’s.” This is an incredibly important point that developers choosing NoSQL have to be aware of.

Serverless: It’s how things get done. But what is it?
Apologies for the self promotion, but after I was interviewed by Stu Miniman about serverless, Betsy Amy-Vogt wrote a great follow up piece. TLDR; serverless is getting harder, so we need better abstractions, and multi-cloud doesn’t make sense for most companies.

Don’t Go Brainless Into Serverless
I always appreciate reading a differing point of view. Florian Martens has a really harsh criticism of serverless that is worth taking a look at, even though I believe his underlying arguments are based on misleading and/or outdated information. There is no doubt that AWS can become expensive (this has been an ongoing criticism with their data transfer and managed database pricing), but there is a very large gap between companies that can afford to hire the necessary expertise to reliably and securely run applications at scale, and those that can’t. This is a much longer discussion, but one worth having.

Six people on the cutting edge of serverless modernization
This was a nice post by Toby Fee highlighting several people who are making an impact in the serverless space. It’s an honor to be on this list with so many amazing people.

2020 enterprise technology predictions: cloud, serverless computing, compliance and beyond
Sanjay Castelino makes a good point that companies will “need to prioritise understanding consumption models because those models will have a significant impact on their business.” Pay-per-use sounds great to most of us, procurement departments not included.

Serverless Podcasts and Videos 🍿

Serverless Chats Podcast – Episode #31: Voice Automation with Serverless with Aleksandar Simovic
In this episode, I chat with Aleksandar Simovic about the evolution and predictability of voice interface technology, how serverless helped commoditize it for home and business use cases, and what the future of conversations with intelligent agents will look like.

All you need to know to use DynamoDB as a pro
In this video, Marcia Villalba teaches you the basic concepts that you need to know in order to use DynamoDB. She reviews concepts such as primary keys, partition keys, sort keys, global secondary indexes, and local secondary indexes.

SE Daily Podcast – NoSQL Optimization with Rick Houlihan
Rick Houlihan is interviewed on the Software Engineering Daily Podcast and shares lots of great insights into building applications with NoSQL.

What the teams at AWS have been working on… 🚀

Amazon SQS Now Supports 1-Minute CloudWatch Metrics In All Commercial Regions
Yay! SQS launched support for 1-minute Amazon CloudWatch metrics back in December in just a few regions. Now you can set up Amazon CloudWatch metrics at 1-minute intervals at no additional cost in all commercial regions. This is great for alarming on queue issues much earlier.

Urgent & Important – Rotate Your Amazon RDS, Aurora, and DocumentDB Certificates
Just in case you somehow missed all the alerts, make sure you rotate your AWS database certificates as soon as possible.

The Amazon Builders’ Library is Now Available in 16 Languages
The Amazon Builders’ Library is an amazing resource for cloud engineers to learn from the masters. Having it published in a multitude of languages is a great way to help spread the knowledge to more people.

Amazon Cognito now supports CloudWatch Usage Metrics
This is a nice little add. You can now monitor things like SignUpSuccesses, SignInSuccesses, FederationSuccesses, and more from your Cognito Pools.

Amazon Translate introduces Batch Translation
You now have the option to translate a large collection of text or HTML documents stored in a folder in Amazon Simple Storage Service (S3) bucket using the new asynchronous Batch Translation service.

Amazon CloudFront launches in five new countries – Bulgaria, Greece, Hungary, Kenya, and Romania
Viewers in these countries will now see, on average, up to a 50% reduction in first-byte latency when accessing content through CloudFront. In addition, CloudFront also launched its first Edge location in Dusseldorf, Germany, bringing totals up to 216 Points of Presence in 84 cities across 42 countries.

Serverless Tools 🛠

AWS CDK Serverless Architecture Patterns
I’m not sold on the CDK, but if you are, here is a repo that promises to contain all of the official AWS Serverless architecture patterns built with CDK for developers to use.

dynaglue now has basic UpdateItem and adjacency list support for DynamoDB
Chris Armstrong has released some additional updates to his dynaglue project.

Dynamo Plus
Extend and supercharge your DynamoDB DocumentClient with promises, retries, and more.

Thoughts from Twitter 🐦

In the days when I was a back end dev, all you needed to know was some PHP and MySQL. Now you need to know: * Authentication (IAM) * File Storage (S3, Cloud Front) * Serverless (Lambda) * Databases * Orchestration * Containers (k8s) * Messaging (SQS) ~ WellPaidGeek
I don’t think developers need to learn K8s, but if you’re building modern applications, many of these skills (and more) are quite necessary. Especially with serverless, understanding the “backend” becomes critically important. Just because you don’t need to manage it, doesn’t mean you don’t have to know the impact of your architectural choices.

You’re looking at a $200/mo SaaS but decide to build it yourself. It takes a $100,000/yr engineer 3 months to build, + 2 weeks a year to maintain. Congratulations. You saved $2400 but spent $28,846 building it yourself. The most expensive solution ever is writing your own code ~ Brandon Savage
☝️This. 100% this! This is also why serverless makes so much sense. Even if certain managed services only get you 80% there, the time and money savings can be huge.

Upcoming Serverless Events 🗓

There are a lot of upcoming serverless events, webinars, livestreams, and more. If you have an event you’d like me to mention, please email me.

January 20, 2020 – End Cold Starts in Your Serverless Apps with AWS Lambda Provisioned Concurrency

January 24, 2020 – ServerlessDays Belfast 🗣

January 27, 2020 – Device Hacking 101: Build a Serverless Application for an IoT Device

January 31, 2020 – AWS Community Nordics

February 12, 2020 – Remote debugging of live AWS Lambda functions (Workshop at ServerlessDays Cardiff)

February 13, 2020 – ServerlessDays Cardiff 🗣

February 21, 2020 – ServerlessDays Rome

February 27, 2020 – ServerlessDays Nashville 🗣

March 19, 2020 – ServerlessDays Zürich

March 24, 2020 – ServerlessDays Helsinki 🗣

March 27, 2020 – ServerlessDays Hamburg 🗣

April 6, 2020 – ServerlessDays Boston

Serverless Star of the Week ⭐️

There is a very long list of people that are doing #ServerlessGood and contributing to the Serverless community. These people deserve recognition for their efforts. So each week, I will mention someone whose recent contribution really stood out to me. I love meeting new people, so if you know someone who deserves recognition, please let me know.

This week’s star is John Chapin (@johnchapin). John’s experience extends well over a decade in software development and engineering, but these days he’s a Partner at Symphonia, a serverless and cloud technology consultancy based in NYC. At Symphonia, John shows teams how they can unlock untapped potential (and success) through serverless and modern Agile practices. John shares great resources on serverless through Symphonia’s blog, as a speaker at conferences, and with open source software published on GitHub. Thanks for all you do to help teams be better with serverless, John! 🙌

Final Thoughts 🤔

I came across a lot of DynamoDB content this past week (which may be because I have been geeking out over it lately), but there has certainly been an uptick in interest over the last few months. There is a lot to explore there, and plenty of tools being released that are helping make NoSQL modeling and runtime interactions easier. I’m hoping this trend will continue!

I hope you enjoyed this issue of Off-by-none. Please send me your feedback and suggestions as they help to make this newsletter better each week. You can reach me via Twitter, LinkedIn, Facebook, or email and let me know your thoughts, criticisms, or (perhaps) even how you’d like to contribute to Off-by-none.

Best,
Jeremy

Previous Issue

Issue #71January 7, 2020

Next Issue

Issue #73January 21, 2020

Sign up for the Newsletter

Stay up to date on using serverless to build modern applications in the cloud. Get insights from experts, product releases, industry happenings, tutorials and much more, every week!

 

Check out all of our amazing sponsors and find out how you can help spread the #serverless word by sponsoring an issue.

 

About the Author

Jeremy is the CEO and Founder of Ampt and an AWS Serverless Hero that has a soft spot for helping people solve problems using serverless. He frequently consults with companies and developers transitioning away from the traditional “server-full” approach. You can find him ranting about serverless on Twitter, in several forums and Slack groups, hosting the Serverless Chats podcast, and at conferences around the world.

 

Nominate a Serverless Star

Off-by-none is committed to celebrating the diversity of the serverless community and recognizing the people who make it awesome. If you know of someone doing amazing things with serverless, please nominate them to be a Serverless Star ⭐️!