Serverless computing, also called FaaS – Functions as a Service – has been available since around 2014, but is it the future of virtualization in enterprise environments?
Where is the server?
Both the terms “serverless” and “FaaS” are used interchangeably to refer to lightweight containers in the cloud. FaaS is also available as an on-premises option.
Despite the name “serverless,” there are necessarily servers configured with virtual machines and containers. Krishnan Subramanian stated clearly: “First things first: Serverless has servers.”
Building on the advantages of containers
Containers were the most recent advancement in server virtualization, because they “use far fewer resources than virtual machines” meaning “a single server can host far more containers than virtual machines” (Source).
Paul Rubens says a “major benefit is that virtual machines may take several minutes to boot up their operating systems and begin running the applications they host, while containerized applications can be started almost instantly which means that containers can be instantiated in a ‘just in time’ fashion and can disappear when they are no longer required, freeing up resources on their hosts.”
Serverless computing leverages the rapid start up and shut down of containers.
“FaaS is the concept of serverless computing via serverless architectures. Software developers can leverage this to deploy an individual ‘function’, action, or piece of business logic.” (Source)
Why choose FaaS?
FaaS is interesting to businesses for a couple of reasons:
- Cost management
- Cost management
The consumption-based billing model is an attractive feature of serverless computing. You are charged only for the time the server is actually executing its code. An external event initiates the code execution then, once the code has been executed, the serverless resources are shut down. Since start up time is 100 to 300 milliseconds, and shut down time about the same, the chargeable time is very short.
Because of their small size and fast loading, multiple serverless functions scale automatically in response to real-time demand.
Elastic scalability is one the primary drivers for IT departments to consider FaaS computing; however, not all applications or functions will benefit from serverless.
Applications should be event-based. Serverless works well with “one piece of business logic,” as stated above, and serverless really excels with burstable workloads in response to peak demand.
Types of functions include:
- Image resizing (media and entertainment)
- Log monitoring (manufacturing)
- Sending alerts (hyperscale data centers)
- High-volume transactions (finance)
- Web applications (retail)
As an example, the task of resizing and manipulating digital images is a good fit for serverless as the functions are repeatable with reusable pieces of code. Resizing images, such as the creation of thumbnails from a larger image, can be done in Photoshop but this is a manual process.
PBS.org has automated image manipulation using its Serverless Image Transform Service on a FaaS platform and offers the code as open source. The service performs image cropping, image resizing, adds overlays, and can change file formats.
Proceed with caution
Before jumping on the serverless trend, pay attention to the following:
Vendor lock-in is one of the biggest concerns for enterprises considering serverless implementations in the cloud because many of the functions offered by the providers is their exclusive product.
Lack of SLAs and start up latency concern
In their 2017 whitepaper on the status of serverless computing, the authors noted that there is a lack of SLAs for serverless functions, and a concern over latency: “Also current (lack of) SLA for serverless may make it unattractive for latency sensitive applications in Government, Healthcare, and Banking. Serverless will not handle 911 in the near future or until SLA’s are addressed seriously.”
Difficult to estimate costs
Estimating costs can be a challenge. In fact, Benny Bauer says it is “Impossible to limit costs. Though FaaS providers bound functions duration and concurrent executions, it can still be a deep expenses pit. Just imagine what happens if your service is under DDoS attack — your functions will scale out like crazy and costs will skyrocket.”
An alternative: on-premises FaaS
As an alternative to cloud-based FaaS, you can also run your own on-premises FaaS and not worry about vendor lock in, SLAs, and unexpected cost overruns.
“CFOs and some enterprise decision makers might prefer the predictability of costs and are comfortable with the pricing models of on-premises offerings” (Source).
RedHat’s 2018 research reported that “72% of organizations are still faced with the challenge of bringing unsanctioned container environments back under central control, in order to be able to ensure service-level agreements (SLAs), security, policy compliance, performance, and cost efficiency.”
An on-premises solution addresses security and compliance pain points: you know exactly where the data resides, ensuring compliance with policies and regulations such as HIPPA, PCI, and SOC – to name but three.
CIARA’s 2U TITAN 2208-G4 server powered by dual Intel® Xeon® processors and with capacity for up to 8 hot-swappable drives, will meet your virtual machine, container, and serverless requirements.
Is FaaS the future of virtualization? No. It’s part of the future: another in the list of server deployment options — standalone, virtual machine, container, and now serverless. Selecting the right solution will initially require understanding both the functions to be handled by serverless computing, and the on-demand scalability requirements.
For guidance selecting the right server solution to meet your virtualization needs, contact a CIARA representative.
This post is also available in: FR