My latest blog is now available. The Serverless Cloud Pizzeria Shop is a Full-stack Serverless project using React JS, Momento Topics, Step Functions, Lambda, Fargate, and more where the progress of orders is updated automatically in the UI.
I wanted to come up with an example
One part that costs a lot of people big $$’s is NAT Gateway and not understanding how data flows in AWS.
If you use VPCs and don’t setup VPC endpoints the costs can be very high.
Andrew Larsen talks about the debugging process and fixes for the problem.
Learn by example!
An excellent series from Abhishek Chaudhuri with lots of example code on building apps on AWS using many components and taking advantage of the free tier.
#serverless
Event Driven Architectures (EDA) are a modern approach to application design.
One of the key components of many
#EDA
designs is
#webhooks
.
This article from Daniel Wirjo, Justin Plock, and James Beswick shows best practices for these on
@awscloud
When it comes to monitoring your app running in AWS you have a number of options.
You can go 3rd party with
@DatadogHQ
or others or use the tools AWS provides like Cloudwatch.
This article from
@ABandaranaike
uses
#terraform
to set up
#Cloudwatch
.
Learn by example!
Here is a detailed article showing how to setup a
#serverless
application to upload files to S3 with a front end including a Cloudfront CDN - all managed using
#Terraform
for Infrastructure as Code.
#AWSLambda
From Vishal Mishra with
There is a lot of material out there for people studying for AWS Certifications and also just for general knowledge on AWS. A lot of it isn't very useful and it's hard to pick out quality information.
Here is a really good article (and links to videos
I prefer using GitHub Actions for CI/CD but you can do it all in AWS.
Setting up your own
#CICD
pipeline in
@awscloud
using
#CodePipeline
and related AWS tools from Lateef Taiwo
Observability is one of the most important parts to having a successful application that lives for a long time. The problem is that many projects, in the rush to get them out the door, don’t build the hooks and tools in that are needed to make their apps
One of the most popular container solutions on
@AWScloud
is
#Fargate
. It is a form of
#serverless
containers where you don’t have to worry about server provisioning or container orchestration.
One of the neat parts of using Fargate is that it supports
Pretty much every tutorial about using AWS mentions how adding tags on your resources when you create them is a really good idea and then they usually stop doing it in the tutorial after a while to save time and repetition.
In the real world when you
A really useful change from
#AWS
S3
#Mountpoint
allows you to access files in S3 like they are native to your filesystem. This will really help in cases where you want to interact with objects in S3 with your container apps without writing SDK code.
Including best practices for security in your
#CICD
pipelines is something that everyone should be looking at these days.
This article from KUMAR KARAN discussing incorporating some of these into your
@awscloud
#CodePipeline
setup with
#ECS
Learn by example!
There are many ways to run containers on AWS and Fargate is one that comes up quite often. Fargate works with ECS (where it is most often mentioned) but also works with managed EKS kubernetes.
This example from Satyam Sareen shows how
#GithubActions
and Workflows are a great env for you
#CiCD
pipelines.
You get 2000 mins of runners per month but if you need more you can host your own runners on places like AWS and even use spot EC2 instances.
Great article from Jakub Jewloszewicz
Most of the articles around using Fargate on AWS involve using it with Elastic Container Service (
#ECS
) but Fargate can be used with Elastic Kubernetes Service (
#EKS
) as well.
In both cases you don’t have to deal with the servers the containers run on.
Using Infrastructure as code is important in your cloud projects. Terraform is the leader is this space - especially if you’re using more than one cloud provider or using additional components like Kubernetes.
This article from Samuel Duncan details
Github Actions & Workflows are a powerful automation and workflow mgmt system. They are also free to use for the first 30+ hours/month.
This article explains what
#GitHubActions
and Workflows are and how to use them to automate deployments and workflows.
Learn by example!
There are a number of options for running containers on AWS. One of the oldest options but still a great choice for many cases is the Elastic Container Service (
#ECS
).
With ECS you can choose to use EC2 instances or Fargate for
When running containers on AWS a great option is to use the Elastic Container Service (ECS). When using AWS a great option for Infrastructure as Code is the Cloud Development Kit (CDK).
Here is a good example of setting up a container infrastructure is
Using websockets to implement a real time chat application is a common approach and on AWS, the API Gateway supports using websocket APIs. Using AWS Lambda functions and a DynamoDB backing store along with this makes a good example of a
#serverless
Security is an often undervalued component of modern cloud applications. The API Gateway approach is very commonly used
One
#serverless
approach for security with these is to use
#AWSLambda
authorizers.
Here Kelvin Onuchukwu shows how to use these.
Monitoring the status of your apps and logging what is happening are key to having a successful product.
In
@AWScloud
the simplest approach uses
#Cloudwatch
.
Here Vishal Mishra details using
#Terraform
to setup a
#serverless
app along with Cloudwatch.
Managing costs is one of the biggest challenges faced when building your apps in the cloud.
Here is a hands on example of using
#Terraform
to setup a monitoring infrastructure using
#serverless
components that you can query.
#iac
#costControl
Using immutable infrastructure is a very popular approach in modern cloud app environments. It involves servers that cannot be modified after being launched. This approach helps ensure consistency and reproducibility.
This blog from Chenwi Ngu shows how
When designing your applications on AWS and you are in need of a database, you should certainly consider if DynamoDB makes sense. It is truly
#Serverless
and can scale to any size.
This article from Unubold Tumenbayar does a really good job summarizing
Cloud provider access keys should never be passed around or stored - in fact they should be used only when there is no other option.
With most integrations today you can use temporary access tokens provided by OIDC.
Here is how to do that with your
AWS announced earlier this year they would start charging for IPv4 addresses you use in your accounts starting in about 3 months from now.
This change will likely impact almost everyone using AWS.
@suhailist
talks about why and if you can do anything.
Your AWS app is up and running. Now you open up your wallet and hand 3rd Party monitoring ppl their share.
Tools in AWS can do a really good job if you know how to use them for a lot less $$$
An excellent series from
@isenbergRan
on using
#Cloudwatch
.
Idempotency isn’t a widely understood topic but it is important in a
#serverless
and asynchronous world to ensure consistently. Here Pascal Vogel defines it and shows how to use
@awscloud
#Powertools
for
#AWSLambda
to implement idempotency in your code.
Access tokens are a key part of authentication and authorization in modern applications.
They are also one of the best ways for bad actors to get into your system.
Here is an article taking about best practices and what can go wrong from Robert Levine
Here is my latest blog about a
#serverless
solution to dataset/batch processing on AWS.
In the example, transaction data from various locations of a business get uploaded to AWS every day and then need to be processed. One approach to handle this is to
Learn by Example!
I always recommend to manage your cloud infrastructure using some kind of Infrastructure as Code tools.
#Terraform
is an excellent choice for this.
This blog from Neel Soni shows with good detail setting up your AWS infrastructure
AWS
#StepFunctions
is a great tool for orchestrating the flow of your apps using multiple components.
Sometimes you want to break the logic down more and create sub workflows to handle parts of the overall flow.
Here
@Kasundsilva
shows how.
#serverless
Using Github Actions and workflows is a great choice for your CI/CD pipelines or any kind of automation tasks you may have.
Using a declarative approach with Infrastructure as Code means you define what you want provisioned in the end and the tool sends
Infrastructure as Code tools make it much easier to maintain your cloud environment
Here
@birkoffh
gives some great examples of using
#Terraform
#iac
and how to deal with multiple environments without having many tf and variable files.
A nice and simple example to get you started with Terraform Infrastructure as Code and AWS to setup an email alarm notification on high EC2 Utilization from Chinmay Tonape
When you have components in 2 Virtual Private Cloud networks (VPCs) in your AWS account that need to talk to each other or VPCs in separate accounts that need to talk to each other, one solution is to use
#VPC
Peering.
This article from Manish Singh
Using an Infrastructure as Code approach to manage your infra and apps is really a must now.
This excellent article from
@sebbel
details how to use
#Terraform
to manage your
#AWSLambda
#serverless
functions.
In many cases you need to connect locally to your resources in AWS. The traditional approach is to use SSH but AWS provides a much better option.
Here
@suzuki_optemo
describes how to use
#SSM
to locally connect to an RDS database in AWS.
Some people find it tedious to have to deal with YAML files for everything related to Kubernetes. Things like getting the indentation correct and the hand crafting make YAML difficult to work with at times.
CDK8s is a project looking to simplify this and
AWS recently announced that the SDK for Rust is now GA and ready for production use.
Here is example of using
#Rustlang
to improve performance with
#DynamoDB
.
When experimenting with
#serverless
applications on AWS I really like using the Serverless Application Model (SAM). It guides you through most of the setup and takes care of putting together the config needed and pushing it all to AWS for you.
This
AWS has finally made the
#Rustlang
SDK GA! It had been in “Developer Preview” for a long time.
“the AWS SDK for Rust is now generally available and supported for production use.”
Rust is an excellent choice to build your AWS apps with.
🦀🦀🦀
When you want to save a lot of $$$’s moving data between AWS services inside your VPC or need to setup private networks in AWS that don’t have internet access you need to know about VPC Endpoints
For example VPC endpoints allow you to transfer large
Everyone has heard of all the times where data was leaked via misconfigured S3 buckets.
Here are some best practices you can use to secure your S3 data using MFA from Wojciech (Dogan) Doganowski
#security
Learn by example!
#GithubActions
and workflows along with
#Terraform
- an excellent combination of tools to use for your
#serverless
application development on AWS.
Article from Lateef Taiwo
#AWSLambda
#Powertools
is a great set of tools that every
#serverless
developer should be using. It makes building your functions and applications much easier.
Orchestrating the flow of actions in your application can be a challenge. Visualizing it and explaining to others can be difficult as well.
One tool that can help in this area with AWS is Step Functions. It is a workflow management tool that allows you
When working on GraphQL APIs you may have multiple teams or domains that want to work independently but at the end of the day you want a single endpoint for applications to use for interactions with any of the underlying APIs.
This is where the AWS
Everyone wants containers to start as quick as possible.
@awscloud
recently open sourced Seekable OCI (
#SOCI
) tech which enables
#AWSFargate
containers running on
#ECS
to run with partially downloaded images.
Here Kim Brandt tests and shows how to use it.
It’s a great idea to keep a close eye on your cloud account costs. I find it’s much easier to have the information pushed to me than remembering to go and check it all the time.
Here is a quick example from Divyansh Patel to get the status from AWS
You can use
#Cloudwatch
alarms to keep track of key states or metrics in your AWS environment. In this article
@LeeJamesGilmore
shows how to use the AWS
#CDK
and
#serverless
components to setup custom alarms to do this.
If you’re looking for a very detailed example of using Terraform and GitHub Actions to deploy container images to ECR (Elastic Container Registry) and then spin up Fargate containers on ECS (Elastic Container Service) this is it.
Article from Stephane
Observability is one of the most important parts of having a successful and long running application. It doesn’t get as much attention with most projects as it should.
Here Indika Wimalasuriya discusses some of the key areas of observability and the
In most examples for
#AWSLambda
you see, the API Gateway is typically in front of them. There are many ways to trigger Lambda functions and this is not always the best approach. It’s good to understand all the possible approaches so you can decide which
There is all kind of architectural theory out there around microservice and
#serverless
designs.
For example there is a great site at Serverlessland here ()
This article from Tridib Bolar and Sergio De Simone discusses some useful patterns as well.
@InfoQ
Storing access keys anywhere to authenticate with your AWS account is a bad idea. You should be using OIDC to generate temporary credentials unless you have no other option.
When using Github Actions and workflows you can easily set this OIDC approach up
There are many ways to build/package/push your
@awscloud
#serverless
apps.
For most use cases I like using the AWS Serverless Application Model (
#SAM
) and it's associated CLI tools.
Here is a detailed article from Isaac Martin about using SAM.
You can use
#Eventbridge
to schedule actions in your
@awscloud
environment.
Here is an example of using it along with
#AWSLambda
to schedule turning on and off EC2 servers to save on costs.
#serverless
A good primer on using
#StepFunctions
in your next
#serverless
app on AWS.
Step functions can help with the understanding of how your app works and make sure you cover all the different states.
Learn by example!
Using serverless components and event driven components like Eventbridge together can be a powerful combination to quickly build many interesting apps.
Here is a great project with all the details included involving
#serverless
Did you ever wonder about what happens when
#AWSLambda
functions are processed and run on
@awscloud
?
Here are some details from Vignesh Dayalan
#serverless
A really interesting article about setting up Large Language Model (LLM) inside a serverless AWS Lambda function and running inferences against it. In this case it’s a smaller model (Microsoft Phi 2) downloaded from Hugging Face and built into a Lambda
Setting up your API on AWS typically involves using the API Gateway service. Executing your business logic typically involves a combination of AWS Lambda functions or container based solutions. Deploying your infrastructure is best done using an
DynamoDB is the most popular key/value database offering on AWS. It is truly
#serverless
and can scale to satisfy almost any requirement.
People used to working with relational databases typically get scared looking at something like
#DynamoDB
but it
Amazon Eventbridge is an important component for building event driven applications on AWS.
It has a number of parts including event buses, the scheduler, pipes, and more.
Eventbridge pipes allow you to integrate multiple components together to more
When using EC2 instances on AWS you have multiple ways you can connect to them. The traditional approach used SSH connections but the newer and more preferred approaches include Session Manager and EC2 Instance Connect.
This article from Amudha
When looking at database options in AWS you need to consider
#DynamoDB
. It is a highly scalable and performant key/value noSQL database that is truly
#serverless
. You can create tables in seconds and only pay for what you use.
This article from Babatunde
An interesting approach to searching logs or other data sets using AWS Lambda
#serverless
functions.
Index your data and then perform on demand queries with no big constant cost
A lot of resources sit idle in AWS accounts costing you $$$'s. With some simple automation you can save a lot.
A neat approach from Antoine Cichowicz using
#GithubActions
to create/destroy your infra each day on a schedule using
#Terraform
.