True value of Serverless
As developers we know that story doesn’t end once we write and the build the project on our local environment. All of us familiar with very well-known quote; “it works on my machine. We require stand-alone servers for test/dev/prod, update and patch the OS, install pre-requisites for the application as JVM, Python .Net, configure servers, load balancers and auto scale features, monitor and maintain the servers continuously and eventually start over when there is a new release.
In Serverless you just need to deploy the application and monitor it! That’s all. So, no more server maintenance, no scaling and load balancing configuration and additional costs of high availability plus zero cost if there is no traffic to your app. Mobile - web backend, data processing, machine learning pipelines, streaming analysis are potential usage of Serverless approach. Again, there are servers behind the scenes right J But you don’t manage them and only use Serverless platform’s components provided and maintained by a cloud vendor.
One of the biggest Serverless platform provider is AWS with very well-known components as Lambda, S3, DynamoDB, API Gateway, SNS, SES, Kinesis and more. All of above listed services can be used to develop and host Serverless application. (mostly stateless)
Lambda is the key component of the AWS Serverless architecture. Any Lambda function can be triggered from other AWS or from AWS CLI. Functions runs in isolated environment, kept for a while for consecutive calls but runs in Ephemeral (non solid) containers: items stored in memory/disk might not be accessible for the next call. Here AWSs DynamoDB plays very important role for designing stateless applications. Since you can rely on DynamoDB to store and retrieve data from Lambda functions calls.
Let’s leave the network infrastructure and security of Lambda to next post. Stay tuned J










