Serverless Architecture
23 Oct 2017

Serverless Architecture

23 Oct 2017

#1 Serverless Architecture

Serverless architecture, also known as function as a service (FaaS), is lately one of the hottest trends in cloud computing. Public serverless offerings like AWS Lambda, Google Cloud Functions, Azure Functions, IBM Cloud Functions, Auth0 Webtasks, IronIO/ Iron Functions and Openfaas provide developers with the opportunity to create applications without thinking about the infrastructure behind. These services take the platform-as-a-service (Paas) concept to a new level where users don’t have manage servers.

Cloud evolution

Source: Benny Bauer, Cloud Architecture Expert

Function-as-a-Service (FaaS)

For the standard web server model, we would provision servers to be ready for incoming web requests during 24/7. Each server needs processing power to accommodate a variety of requests and this means that there will be monthly costs for each server regardless of its real usage.

In a serverless architecture model, the costs are typically based on the required computation time. If no traffic hits the endpoints then no costs are generated. A well-designed application will also be able to adjust to peaks in use at a rapid rate with costs remaining linear in scale.

#2 Usage Examples of Serverless Architecture

IoT
Weather stations:
thousands of weather stations are sending in intervals weather-related data for processing. It is much easier to scale on Faas than on Paas or any other solutions

Data processing
Image Manipulation:
If you upload an image in high-resolution size, your Function will generate multiple required sizes for different needs

Web Applications
Dashboards:
When displaying reporting and statistical data, aggregated from multiple sources.

Chatbots
Event-Driven Architecture for Chatbots:
Data processing time must be faster than usual backend because, on a chat screen, people expect more immediate responses than on the web and mobile applications.

#3 Serverless architecture has several advantages

Event-driven
It transforms fix monthly expenses into operation only costs and generally reduce your costs

Micromanaged
You don’t have to think about internal system administration processes

Cost reduction
It reduces the development and deployment costs (faster time to market)

Auto-scaling
It is scalable and fault tolerant by design

#4 Challenges of serverless architecture

It also presents challenges, particularly from an IT operations perspective:

Monitoring
Monitoring and security occur at the application level

Service communication
Serverless applications can overwhelm downstream resources

Service discovery
PaaS experience helps

Application Architecture
You need a true DevOps approach

#5 FaaS Vs. PaaS

Platform-as-a-Service simplifies the deployment process of applications. It allows you to deploy your app and the “cloud” worries about how to deploy the servers to run it. Most Paas hosting options can even auto-scale the number of servers to handle workloads and save you money during times of low usage.

When deployed as PaaS, an application is typically running on at least on the server at all times. FaaS provides the ability to deploy a single function or part of an application and is designed to potentially be a serverless architecture. It may not be running at all until the function needs to be executed. It starts the function within a few milliseconds and the shuts it down.

Both provide the ability to easily deploy an application and scale it, without having to provision or configure servers.

Subscribe to our mailing list

Leave a comment
More Posts
Comments

Comments are closed.