For three years now, Cloud providers have been moving gradually into the serverless market. After Amazon Web Services (AWS) in 2015, Microsoft followed suit with Azure Functions in 2016. Google, for its part, entered the field in August 2018 with Google Cloud Functions. This new technology is much sought after today because it offers flexibility to developers, and attractive costs for companies. The Premaccess team gives you several pieces of advice for getting started.
Let it be said: deploying an application in “serverless” does not mean “without servers”. A “serverless” architecture now allows you to create and run applications without having to manage their infrastructure. Those applications still run on servers, but their management is handled by the Cloud providers AWS, Azure or Google Cloud. You no longer have to worry about it.
First launched in 2015 by AWS, this new architecture thus allows developers to devote more time to writing the code specific to their applications.
Moreover, it allows companies to genuinely reduce costs since, in order to run, this type of architecture needs only the resources required for each request executed.
HOW IS A "SERVERLESS" ARCHITECTURE PUT TOGETHER AT AWS?
On its Cloud, AWS has a wide range of micro-services that are easy to grasp and to set up (database, compute, storage, security, networking, etc.).
When it wants to launch its application in “serverless”, an IT team:
1. builds all of its business logic with AWS Lambda. The benefit of this service is that it runs code in response to events and automatically manages the compute resources needed according to the number of requests.
2. To build the rest of its application, this team calls on the other AWS services. Once your code has been uploaded, AWS Lambda can link your functions to other Cloud micro-service building blocks to save you time. We can mention in particular:
· For database management: RDS or Amazon DynamoDB
· For application routing: Amazon API Gateway
· For securing and managing users: Amazon Cogito
· For resource authentication: AWS Identity and Access Management (IAM)
· For sending emails: Amazon Simple Email Service
THE BENEFITS OF THE “SERVERLESS” ARCHITECTURE
Reduced cost
With this type of architecture, Cloud services are allocated only on usage. Gone is the upkeep of servers even when no request is being processed. This therefore allows a team to develop several applications without worrying, at first, about the associated costs. Billing is thus calculated according to the code’s execution time and the resources consumed.
More freedom for developers
By deploying in a “serverless” architecture, developers are no longer responsible for maintaining the environments. They no longer have to adjust them according to traffic or to check their security system. They can therefore concentrate on their core business: developing business logic. And save a considerable amount of time when building an application if they have a good command of AWS’s service building blocks (database management, page management, routing, authentication, etc.).
High availability of resources
In “serverless”, AWS monitors your applications and automatically adjusts the allocation of the resources needed. Here we are talking about autoscaling. This is possible, for example, with Amazon Aurora Serverless. This service building block allows the database to start up, shut down, increase or reduce its capacity automatically according to the needs of your application.
THE THREE PIECES OF ADVICE FROM PREMACCESS FOR DEPLOYING AN APPLICATION IN “SERVERLESS”
Premaccess has been raising its clients’ awareness of serverless for two years. In this area, its team of digital transition experts recently supported two companies in particular (one specialising in e-learning in biotechnology, a second in luxury tourism) in creating their applications in a “full serverless” environment.
For these clients, this was beneficial in terms of cost since, thanks to this technology, they had an overview of their visitors’ traffic and the associated cost. The advantage of serverless is that we can tag access to these applications and visualise the technical footprint required by usage.
Getting started with “serverless” does nevertheless take time in order to understand properly the logic of this software architecture. So, before deploying an application in “serverless”, Premaccess gives you these three pieces of advice:
1. Start a new project rather than refactor an old application: by starting again “from scratch”, you will be faster and more efficient. This will allow you to better understand the value of AWS’s micro-services.
2. Take the time to understand this new architecture properly: the way the “serverless” architecture is structured is completely different from the other architectures we are used to in web development. It therefore requires us to review our ways of thinking. A learning period is needed to be completely at ease with it.
3. Get support from experts in this field in order to optimise AWS’s managed services: to get a proper grip on all of AWS’s managed services and optimise the code of your application, it is advisable to get support during the first projects. The reduction of your costs comes from the effective use of AWS’s managed micro-services. The risk, when we start out for the first time on this type of server, is to build applications following our current methods, without calling on micro-services. That is not suited to serverless and risks generating far too many requests, and therefore costs. When you create your code, the experts will point out the micro-services that may be useful to you.
In short, making “serverless” your own allows you to build modern applications with considerable agility, with a controlled life cycle and a reduced total cost. Thanks to this technology, your developers can concentrate on the product without worrying about the operation of the various resources. Enough to let you be faster when creating new applications. But, to optimise this new technology properly, do not hesitate to surround yourself with experts.
So, if you too want to design and manage applications in “serverless”, the Premaccess team is at your disposal. It will answer all your questions and support you step by step in setting up your digital projects.
Contact us!