Hey I'm Lou! I'm a Cloud Native Software Engineer From London. I created The Dev Coach to make it easier for Software Engineers to get into Cloud Native. I also publish the Cloud Native Software Engineering Newsletter to try and keep you as up-to-date as possible. When I'm not writing you can usually find me picking up heavy things and putting them down, or riding two wheels (sometimes with an engine, sometimes not).
If you’re just starting out working with AWS Lambda there are a LOT of things for you to understand. And of course, one of those areas is going to be: testing.
How to test AWS Lambda? AWS Lambda can be tested manually using the AWS console with test events. In addition to manual testing, AWS Lambda can also be tested through local replication with tools like as docker-lambda. Or finally, testing AWS Lambda can be done using an automated (CI) pipeline for running unit, component and integration tests.
There’s a few different ways you can go about testing AWS Lambda, today we’ll run through these different options, and I’ll let you know what has worked best in my experience and where I’d suggest you spend your energy on.
Ah, so you’ve reached that point: you’ve been through the euphoria and the buzz of setting up a Lambda function, and the eureka moment when everything is running… but then everything comes crashing down when you realise how painful debugging AWS Lambda is! I know, because I’ve been there too.
How to debug AWS Lambda? Debugging AWS Lambda is achieved through a range of different methods: using local debugging tools e.g. docker-lambda and serverless offline, through monitoring tools e.g. CloudWatch and through the implementation of a test harness.
The topic of debugging an AWS Lambda function can get complicated quickly, as there’s lots of different options and approaches. Today I’ll walk you through all the different options that you have at your disposal for debugging AWS Lambda. Today we’ll cover everything from Docker Lambda to CloudWatch.
The cloud industry is evolving quickly right now, and when it comes to the big trends likes containers and serverless it can be hard to work out the difference.
Are Containers Serverless? No. Containers are a method of packaging up an application with its dependencies. Container technology does not mandate how the application is to be executed. However there are container platforms which allow you to execute containers in a way that is serverless.
That definition might seem like a bit of a tongue twister, but I’m precise for a good reason, as it is important to understand clearly the boundaries of the two technologies. There’s some nuance involved in answering todays question, so let’s break things down. Let’s start with containers and what they are.
We are back with another installation of the monthly Cloud Native Software Engineering Newsletter! Where I ferret around the the interwebs reading as much cloud engineering content as I can get my hands on, so that—quite frankly—you don’t have to waste your time doing the same! I always underestimate the amount of content that comes out in a month—and I read everything I share—so putting the newsletter together can take a lot of effort, but I hope that you find it valuable.
There’s been some interesting goings on over this last month of October. And—as always—I like to give each article a little of my own context, narrative and takes. There’s a few meaty articles in this months round up, so grab yourself a coffee, settle down and let’s dig into the happenings from October 2020.
This month AWS announced a new feature called Lambda Extensions (Source). AWS release so many features it is hard to keep up. With each new feature we often need to ask ourselves, is this something we should pay attention to or not?
What is Lambda Extensions, and who should pay attention to it? Lambda Extensions are an addition to the Lambda Runtime API, allowing additional control, setup and tooling. Lambda Extensions are mainly aimed at third-party vendors, particularly monitoring but also configuration and security. Lambda Extensions will also be interesting to heavy users of AWS Lambda functions who need standardisation or greater control on their setups.
Now let’s get into more detail on what Lambda Extensions actually are to help you understand whether or not they might be useful in your situation. Let’s start by looking at a core difficulty that Lambda Extensions help solve.
There are a few reasons why you may want to stop a Lambda. Either the Lambda is buggy or performing incorrectly, your Lambda is reading an event source like kinesis and you need to pause it, or your Lambda is being constantly retried.
Can you stop an AWS Lambda Function? There is no way to stop a currently executing AWS Lambda function. But you can stop future invocations by setting concurrency to zero or disabling integrations.
So, there’s a few different aspects to the topic of stopping a Lambda. Let me take you through some different options for stopping your AWS Lambda function so that you can decide which one makes most sense for your situation.
So I’m guessing you’ve heard about Terraform. And maybe you’re now wondering what Terraform is really used for and why it’s so popular?
What is Terraform used for? The main use of Terraform is for writing infrastructure as code to manage public cloud resources such as AWS, GCP and Azure. Terraform is also commonly used to manage other cloud infrastructure such as Stripe and Auth0.
Terraform is a powerful tool for writing infrastructure as code, and it has some unique benefits over it’s competition. Let’s look in more detail at some of the main three uses of Terraform.
At which point I realised that I hadn’t yet published a list of great communities (that I’m also a member of) for keeping up to date, asking questions and generally being involved in the industry, today we’re going to fix that!
There are many ways to learn AWS. But the thought of learning anything new on your own definitely seems daunting, right? So you might be wondering if AWS is one of those topics where it possible to teach yourself. Today, I’ll answer that.
Can you learn AWS on your own? Yes. Learning AWS can be done through self-study and that’s the same way that many learn AWS. There are also many online courses and communities to help you learn AWS on your own.
So, there you have it! AWS can be learned on your own. But of course, there’s more to it than that. I do have a bunch of hints and tips that can make learning AWS on your own that little bit easier, if you’re curious, read on…
So, I’m guessing you’re new to AWS? If you are—you might be wondering what different things you should understand before deep diving into your learning. Well, you’re in the right place, since that’s exactly what we’ll discuss today.
What are the prerequisites to learning AWS? There are no mandatory pre-requisites to learning AWS. However knowledge of topics such as: the internet, command line interfaces, programming and “infrastructure as code” can be beneficial and might speed up the learning process.
But of course, it’s not very useful to just list these topics, let’s go through and discuss why and how these areas can help as pre-requisites to learning AWS.