What is Serverless?

Serverless architectures refer to applications that significantly depend on third-party services (knows as Backend as a Service or “BaaS”) or on custom code that’s run in ephemeral containers (Function as a Service or “FaaS”), the best known vendor host of which currently is AWS Lambda. By using these ideas, and by moving much behaviour to the front end, such architectures remove the need for the traditional ‘always on’ server system sitting behind an application. Depending on the circumstances, such systems can significantly reduce operational cost and complexity at a cost of vendor dependencies and (at the moment) immaturity of supporting services.

What are we going to do?

In this series of tutorials I will be guiding you through building your first serverless microservice using AWS to Authenticate Users using Amazon RDS (Relational Database Service). In this series you will learn a little about the following Amazon Services and Programming Languages.

If you are interested in a follow up guide using another cloud provider feel free to send your suggestions to tutorials_AT_keiran_DOT_scot

Pre-Requisites

In order to follow through this series I expect you to have an AWS Account Setup and setup the aws-cli tools using an IAM User with Full Admin Access to the AWS Console. The AWS CLI tools will feature alot in this guide and I will not be giving details on how to setup your services using the console, However understanding the AWS CLI Tools is a fundemental in understanding how AWS Services communicate with each other.

Architecture Diagram

The following diagram will show you exactly what we are going to build at a high level. Since this is serverless we will be using alot of AWS Services but won’t be touching EC2 as we don’t require a server.

Serverless Authentication Architecture Diagram

Stay tuned for Part 2 Where we will setup our Services and start coding out Authentication Microservices