Serverless architecture and microservices have changed the way we think about applications. Now, we have server-side logic written by application developers that run in stateless compute containers which are event-triggered and fully managed by a third party cloud provider. Essentially, Functions-as-a-Service (FaaS). There are currently many implementations of FaaS but AWS Lambda is one of the most popular platforms.
There are many reasons why a lot of people favour serverless applications over traditional server hosted applications. Core among those reasons are:
It is cheaper to run serverless applications as we only effectively pay…
Continuing on from where we stopped in the first part of how to create a simple serverless application, we will be focusing on how we implement authorization in API Gateway and ensure only authenticated requests can access our Lambda functions. To learn more about authorization mechanisms and established practices, see Controlling and Managing Access to a REST API in API Gateway. For this application, I have chosen to use a Lambda authorizer to control access to our Lambda functions created in the previous part of this article.
API Gateway Lambda Authorizers are Lambda functions which are called by APIGateway to…
The first step is to create an AWS free-tier account if you don’t already have one at https://portal.aws.amazon.com/billing/signup#/start
In a project that I worked on a while ago, I was presented with a problem that wasn’t very unique. It involved how we could safely pass identifiable user information such as phone numbers encoded and encrypted by a third party service in Ruby, to be decrypted and decoded into our application for the user.
//Link with encrypted token
Ruby provides straightforward handling for signed and unsigned big endians using
One of the most important tools in developing great software is the ability to automate. Imagine every time you need to release code to production, you have to repeat the same manual steps such as running tests, tagging/versioning your code changes and then manually provisioning or updating software or the configuration of your infrastructure, which can easily become the stuff of nightmares and create several horrific scenarios.
Imagine the cost in developer time, resources and also the fact that manual testing can become very complicated as code becomes more complex which can increase the chances of bugs and errors slipping…
One of the beauties of React is component reusability, which is a huge time saver. Most times, creating new components for a project may mean that you may have to do the same for every new project which will ultimately result in unavoidable code duplication.
Having a component library ensures that reusable components can be packaged and shared across multiple applications, meaning that you do not have to worry about code duplication, makes it faster to build new applications and helps speed up scalable application development. Components can easily be customised at the project level for each application they belong…
I know this article is a bit late. It was written a long time ago but remained unpublished until now.
Serverless computing was borne out of the shift from enterprise application architectures to containers and micro-services. By abstracting away most operational concerns, serverless computing provides users with the opportunity to no longer worry about managing servers, scalability, availability, over/under provisioning of resources and all other infrastructural issues. However, this still means that users are responsible for deploying and managing the hosting environment configurations.
Software Engineer — creating things