What is Serverless?

Garden owners’ biggest delight is to enjoy the beauty of nature. Most likely, they don’t want to worry about endless manual work, buying more and more tools or increasing costs within time. Their solution could be hiring garden specialists, installing automatic watering systems.

The same story applies to app developers – a big hassle for them remains servers and their maintenance. They require constant renewal and huge budget spendings. In the blog, we will look into serverless computing, serverless services on AWS and other platforms and which benefits it could bring for your company.

What is Serverless?

Serverless computing, despite the name, still involves physical servers. An app developer writes a code and cares only about business logic. Afterwards, the code is uploaded to the provider who owns servers and maintains them, whereas an app developer doesn’t worry about the maintenance of physical servers.

Code deployment and backend operations become cheaper, because you pay the provider for what is used only instead of the fixed price, which means the whole thing is event-driven.

Serverless Technology Benefits

Saves budget

As it was mentioned in the beginning, the user of the serverless technology doesn’t have to pay a monthly or yearly fee. So, when the code is not triggered, the servers don’t work and there is no need to pay extra. Secondly, an app developer doesn’t care about room for lots of servers and their repair. Usually, app developers buy more than they need because they worry about activity spikes and a smooth work of the app. Serverless services are flexible and they extent precisely to the needs at the moment.

Increases team productivity

The Dev team has much to handle even without maintenance issues. When the question of servers is solved by the outsource company, developers can focus on critical business tasks and perform better. Moreover, the code can be released in shorter terms as the scalability process is automatic.

Decreasing the number of cold starts

Some code parts stay “asleep” when certain functions aren’t triggered. It takes time to start a new one, which leads to high latency, or in other words, a cold start. To avoid the problem, AWS serverless services own servers in multiple locations worldwide. When the user uploads a picture the nearest server will respond to that.

Meeting compliance requirements

One of the most trusted cloud providers is AWS. The company puts security in the first place and guarantees to meet all the requirements. AWS clients become part of a shared responsibility model: they care about security in the cloud, whereas AWS copes with the security of the cloud. Clients check the code safety, monitor the app performance and the data accessibility and storage. AWS ensures that OS and network configurations are liable.

Difference between PaaS, IaaS, SaaS

SaaS-PaaS-LaaS

Platform-as-a-service

It is the space where you can build an app from scratch without troubling about building a new environment. The cloud service provider offers the environment where you pay only for the resources you use. PaaS allows you to build, test, deploy, manage and update your product with a variety of development tools. A huge benefit of this service is that the app lifecycle can be accomplished in one infrastructure. Another advantage is the pay-as-you-go system.

Infrastructure-as-a-service

It is quite similar to PaaS but includes fewer features. With IaaS it’s possible to run an application without servers and boost disaster recovery. The environment scales up and down easily, which means the new products reach the market faster. Infrastructure-as-a-service comes in handy for teams who test new ideas and don’t have a lot of money.

Software-as-a-service

It has broader possibilities for app developers. SaaS includes the same features as platform-as-a-service and infrastructure-as-a-service, but the additional advantage of it is the possibility to host applications in the cloud provider’s infrastructure.

Top Three Serverless Providers: AWS Lambda, Google Cloud Platform, Microsoft Azure

AWS Lambda

The company which is ready to switch to the cutting edge technology can find serverless services on AWS. AWS Lambda, for example, functions as a backend service that charges only when the system is triggered. The code is saved in a system and scales automatically when there is a certain request.

aws-lambda

Source: AWS

The picture illustrates how frontend (user interface and requests on it) and backend (web-services that respond to frontend requests) work together. As you can see, the owner of the weather app only hosts the code in AWS S3, and the rest is done for them.

Lambda is also useful for file and data processing, streaming, machine learning.

A lot of big companies use serverless computing to maintain their complex infrastructure. One of the most famous users is Coca-Cola with a Vending Pass program which includes buying drinks at vending machines with the help of mobile payments. A consumer completes a purchase with an NFC payment and earns points for each one. Lambda is triggered but the backend code responds too slowly.

The solution to that was to add a 90 seconds delay in response length. However, it resulted in higher spendings. To save the budget, AWS team launched AWS Step Functions which works better for complex operations. It can unite different AWS apps with the use of convenient visual workflows.

Google Cloud Platform

Google Cloud has made the development process easier and quicker. All the possible manual work has been eliminated. Your team has to go over fewer steps in infrastructure deployment comparing to Lambda. However, the service provides fewer integrations with other Google services than AWS. Moreover, network responses are a little bit slower compared to other serverless providers.

One of the famous users or Google Cloud Platform is Lucille Games, the website that has tools for building games. It is a vivid example of coping with high-load traffic and good image quality.

Microsoft Azure

Microsoft Azure provides a large choice of programming languages and programs, such as Batch, to upload the code. It offers AI for automation and quick machine learning. The service has more possibilities in deploying – you can use DropBox, GitHub, Visual Studio and more. Microsoft Azure supports APIs and web applications.

One of the cons is a complex pricing structure – firstly, some hidden costs can turn as a surprise in the bill. Secondly, choosing the right pricing plan can be a challenge because of strict limitations.

The successful story of Fujifilm proves serverless isn’t a matter of choice, but the necessity. In 2006, the company introduced a new service for image sharing and file management. Soon the platform became wildly popular with users and, as a result, latency levels increased. Old technology demanded lots of expenses, more staff and focus. So, Fujifilm turned to Azure Microsoft PaaS and reduced latency, became more cost-effective and stable.

Read more: Serverless services on AWS: an overview

Feel Free To Ask For Help

Serverless computing is new and complex to understand. We are glad if the article has helped to choose the right path to follow.

If you feel overwhelmed and confused, the team of specialists from Ukraine is eager to help you. As AWS Consulting Partner with 15+ years of experience, we know how to cut costs and yet provide a high-quality service. Turn to our experts for a consultation!

 

Ivan Shulak
Ivan Shulak Sr. Delivery Manager, Senior Application Architect at Romexsoft | AWS Certified Solutions ArchitectOracle Certified Professional, Java SE 8 Programmer | Keen on Java Application Development and Cloud Application Development.
Share The Post