Managed FaaS — innovative enterprise-grade tech available to startups!
Functions-as-a-Service or serverless computing is exactly what it sounds like — a feature allowing to run the code without having to worry about server management, ever. This allows launching some code when you need it for as long as needed. While FaaS cannot replace IaaS in full due to the time limit for function execution, it allows restructuring your infrastructure and can quite easily replace most of your PaaS solutions. When you don’t have to configure the server cluster even once and can enjoy the security, scalability and cost-efficiency of cloud computing — the benefits are quite obvious.
How do FaaS tools like AWS Lambda or Google Functions work? These tools are provided under the Pay-as-you-go model and can connect to a variety of cloud services via APIs or invoke by webhooks. These serverless functions can execute a huge variety of operations, gluing multiple parts of your infrastructure and workflows together.
For example, FaaS can act as a medium between your static content storage like Amazon S3 and a powerful front-end CDN like Amazon CloudFront. The users interact with CDN APIs, the APIs invoke read or write functions and these read or write the data to the storage. The issues of scalability and security are dealt with automatically.
Alternatively, you might have some data processing in place. You would have to build and run some SQL queries and a huge Big Data analytics infrastructure, not to mention a huge-scale distributed database. Instead of this, you could use the ETL (Extract, Transform, Load) Functions and some message broker to extract data from your endpoints, process it and upload it to AWS S3 or some cloud database like RDS or Google BigQuery.
Some prerequisites must be accomplished before using Functions-as-a-Service:
- the app must be built of microservices
- the service must be able to interact with the message brokers
- the back-end functionality must fall in the range of the services available
The FaaS features are run quite differently from your standard cloud infrastructures. You upload the executable code to the cloud storage and configure the API calls, scripts or webhooks for launching it in the dashboard. Once these are triggered, a Docker Invoker spins up the necessary infrastructure and workflows (thus some lag), but it is much more cost-efficient than paying for idle instances that work actively for several minutes a day only. FaaS tools can work in 5-minute cycles for as long as needed if this is more feasible than running standard cloud instances — and sometimes it is the only way.
There are certain limitations regarding the work of functions:
- the executable code size is limited to various sizes by various cloud platforms
- for the most part, the functions must take no longer than 5 minutes to run
- there is some delay between the trigger and the infrastructure invocation and your systems must allow for it
- there are also resource usage limitations per function execution (CPU, RAM, disk volume)
However, in the use cases when serverless computing can be applied, it allows saving up to 90% on running a standard infrastructure with licensing fees and server idling costs. IT Svit has ample experience with the design and implementation of bespoke FaaS solutions on various platforms, as well as with preparing the applications to work with FaaS tools. If you need these services — let us know, we are always ready to assist!