Industry Insights at 7Clouds® Stay Connected with Industry Trends, Tips and News
When the World Goes Virtual: Basics of Serverless Computing
While headlines last month were dominated by COVID-19, the world of virtualization showed continued advancement through the release of VMWare’s vSphere7 with Kubernetes. The combination of vSphere, VMware’s virtualization platform with Kubernetes, an open-source platform for managing container systems is changing the game for modern applications.
Virtual machines and containers
Creating and managing business applications means finding the right combination of virtual machines, containers, and serverless computing for your operations. Knowing how each component can be used to optimally organize your virtual enterprise is key.
First, Virtual machines (VMs) are virtual computers, or guests, that run as separate entities on an existing system, or host, like software would. Many VMs can run on one host server, and each has its own operating system (OS). Running several OS instances simultaneously, however, could slow systems down.
Containers offer a way around this by virtualizing the OS rather than the computer, and managing applications along with everything those applications need to run in one place. By running several single-application user spaces on one OS instance, deployment speed and portability are improved while lowering costs.
Now, serverless computing and FaaS are seucring their place in the growing world of virtualization; it’s just a matter of getting acquainted.
What is serverless computing?
Despite the name, serverless computing isn’t actually serverless; it’s a model for providing backend services to users so they don’t need to worry about server management and maintenance. Essentially, anything about the hardware or operating system a user’s code runs on is managed by the cloud service provider, who allocates only the resources and storage required by the user to execute that piece of code, or function. The user is then charged only for what they use.
BaaS and FaaS
So, what exactly are backend services? Application development depends on a frontend, which users see and interact with, and a backend, which includes everything to do with the servers and databases. In other words, Backend as a Service (BaaS) includes everything from cloud storage and database management to hosting and remote updates. Much like BaaS, serverless computing allows users to deploy code and manage the frontend without worrying about the backend. In both cases, the code execution is managed entirely by the cloud provider.
Serverless computing, however, is about more than BaaS, going beyond database and storage services to include Function as a Service (FaaS). FaaS platforms allow modular pieces of code (microservices) to be executed on the edge, without storing any data. CloudFlare describes this application-building microservice architecture as a metaphorical work of visual art made up of mosaic tiles – the artist can modify one tile at a time. When an application is divided into microservices, developers can write and modify small pieces of code to be deployed by the serverless provider.
Serverless pros and cons
Execution of code and server management by a provider demonstrates one advantage of serverless computing whereby developers can focus on building applications without server capacity preoccupations. Outsourcing to serverless providers also allows for quicker deployments. Developers can upload, edit, and update pieces of an application without having to upload code to servers or consider backend configuration. Because vendor servers will start, run, and end as required by the user base in a serverless architecture, greater scalability is another advantage. And, since code can be run from anywhere, latency is reduced by running it closer to the user (think edge computing). Finally, because developers are only charged for what they use, no resources are wasted, and costs are reduced.
Serverless computing does come with its disadvantages though. The lack of visibility into vendor backend processes, for instance, makes tasks like testing and debugging more complicated. It also brings up security concerns for applications where more personal or sensitive data is involved. As reliance on a vendor increases, it can then become difficult to switch vendors. In addition, serverless code is not always running, potentially leading to performance issues, or a cold start, for code that hasn’t been used in a while. Code run more regularly is kept ready to be activated, known as a warm start. In the end, serverless architecture is least advantageous for long-running processes, due to its pay-per-use basis. These disadvantages should be kept in mind when allocating virtual resources to your enterprise application-building functions.
Enterprise virtualization isn’t about deciding between VMs, containers, or serverless computing. Instead, it’s about understanding the advantages and disadvantages of each approach in order to establish that optimally efficient balance of services we mentioned earlier. By combining vSphere 7 with Kubernetes, VMWare is doing just that, and we’re excited to see what it will bring.
7Clouds - Contact us today to set your business up with our custom FaaS, BaaS, SaaS (Software as a Service), IaaS (Infrastructure as a Service), VMs and containers with elastic computing (pay as you go) and unique front-to-back security coverage.
CloudFlare, Serverless Computing vs. Containers – How to Choose; What is Serverless Computing? Serverless Definition; What is BaaS? Backend-as-a-Service vs. Serverless; What is Function as a Service (FaaS)?; Why use Serverless Computing? Pros and Cons of Serverless. Acc. 2020.
Josh Fruhlinger, What is serverless: Serverless computing explained. July 2019.
Scott Carey, What is serverless computing and which enterprises are adopting it? August 2019.
What can digital business do for you?Calculate Now
Edge Computing, SD-WAN, and the IoT
The shift from centralized to edge networks with SD-WAN implementations is saving businesses from service interruptions and costly downtimes. Living on the edge Service interruptions...
Edge and Cloud Computing: A Winning Team
“To enable digital transformation, you have to build out the edge computing side and connect it with the cloud—it’s a journey from the edge to...
Leave a Reply
Stay Connected With Industry Trends & News
Sign Up for Our Newsletter