Developers
July 28, 2020

The Rise of Serverless Computing: What It Is and Why It Matters

Serverless computing offers a number of significant advantages for cloud-based companies.

Cloud computing is experiencing a period of unprecedented growth and adoption. This has been driven by a number of factors, including the rise of mobile computing, improved network performance, increased maturity of cloud offerings and more.

Not to be ignored is the impact the coronavirus pandemic has had on cloud adoption. As the pandemic swept the globe, company after company sent their employees home to work remotely. As a result, cloud computing quickly became a necessary part of business. The companies that fared the best were those that had already moved to the cloud, or those who could quickly complete the transition.

At the same time, quickly transitioning to the cloud often came with substantial cost, as companies suddenly had to scale up to support an unprecedented number of employees that suddenly needed cloud access. In some cases this required quickly developing and deploying new applications and services.

Enter Serverless Computing

One factor that has helped mitigate these issues is the rise of serverless computing. At its core, serverless computing is a type of cloud computing wherein the cloud provider manages the server and allocates resources on demand.

This is in contrast to traditional cloud computing where the company may purchase or rent a set amount of cloud servers. In that scenario, the client company is responsible for configuring and managing their cloud servers.

Advantages of Serverless Computing

There are a number of major advantages to this particular paradigm.

Cost

The most obvious benefit is cost. Unlike traditional cloud models, serverless computing allows a company to only pay for what they need, when they need it. As a result, there is virtually no wasted resources, as blocks of servers are never sitting idle waiting to be used.

Configuration

The cost savings goes beyond the initial setup and scaling. Configuration is substantially easier and streamlined, as the host company handles the bulk of it. This makes it much easier to scale up additional resources without the usual downtime for configuration.

Deployment Speed

Because the client company does not have to manage the server, it is much easier and faster to deploy applications and services. For the most part, the development team can focus on creating their app or service, and then deploy it without worrying about the backend server.

This freedom can make it much easier and faster to deploy new software, services and features, not to mention pivot in new directions as needed.

Disadvantages of Serverless Computing

Despite its clear advantages, there are some disadvantages to the paradigm.

Lack of Control

While having an outside company manage the backend server may seem like a dream in many scenarios, it can be a nightmare in others. There are times when developers need as much low-level access as possible to improve performance or troubleshoot issues.

With serverless computing, however, that low-level control is not available. As a result, developing and deploying software can sometimes be a frustrating experience for some developers, especially those who prefer a more hands-on approach.

Performance

Another potential disadvantage is performance. Serverless computing providers will often spool down unused resources. As a result, any application or service that is not frequently used may need to be spooled up the next time it is needed.

This can result in significant performance compromises, especially compared to a cloud deployment where the client company has more control. In this scenario, they can make sure all apps and services are always spooled up and ready for use.

Vendor Lock-In

Vendor lock-in is another major concern. Because a company is at the mercy of the serverless computing provider, there is always the risk of becoming so dependent on their standards, protocols, features and infrastructure that it can be difficult to move to another vender if needed.

This is especially a concern since the industry has yet to consolidate on a set of standards that all providers will abide by.

Resource Cost

While serverless computing can start out significantly cheaper than a more traditional solution, as an organization’s needs grow, it can become prohibitively expensive to rent the necessary resources. In these cases, traditional cloud offerings can suddenly be a good deal.

Security & Privacy

Another potential disadvantage is security. Although there are benefits to having another company manage the servers, operating systems and hardware, this also means trusting another company to do it right. In addition, serverless companies are prime targets for hackers specifically because they host such a wide array of other companies’ services. Any attempt to mitigate a potential security issue is offset by the fact that the serverless computing company has ultimate control.

The same is true for privacy. Not having control over the hardware and software on the servers—servers which can be accessed by the provider’s employees—can be a deal-breaker for many companies, especially if they deal with sensitive information.

Conclusion

As with many things in the world of technology, serverless computing has significant advantages and disadvantages. When used properly, and by the right demographic, this option can provide a powerful, inexpensive way to benefit from cloud computing.

Other companies, such as those with very customized needs, heightened security requirements or massive scale, would do better to invest in traditional cloud options.

TagsServerless ComputingPerformanceSecurity & Privacy
Matt Milano
Technical Writer
Matt is a tech journalist and writer with a background in web and software development.

Related Articles

Back
DevelopersJuly 28, 2020
The Rise of Serverless Computing: What It Is and Why It Matters
Serverless computing offers a number of significant advantages for cloud-based companies.

Cloud computing is experiencing a period of unprecedented growth and adoption. This has been driven by a number of factors, including the rise of mobile computing, improved network performance, increased maturity of cloud offerings and more.

Not to be ignored is the impact the coronavirus pandemic has had on cloud adoption. As the pandemic swept the globe, company after company sent their employees home to work remotely. As a result, cloud computing quickly became a necessary part of business. The companies that fared the best were those that had already moved to the cloud, or those who could quickly complete the transition.

At the same time, quickly transitioning to the cloud often came with substantial cost, as companies suddenly had to scale up to support an unprecedented number of employees that suddenly needed cloud access. In some cases this required quickly developing and deploying new applications and services.

Enter Serverless Computing

One factor that has helped mitigate these issues is the rise of serverless computing. At its core, serverless computing is a type of cloud computing wherein the cloud provider manages the server and allocates resources on demand.

This is in contrast to traditional cloud computing where the company may purchase or rent a set amount of cloud servers. In that scenario, the client company is responsible for configuring and managing their cloud servers.

Advantages of Serverless Computing

There are a number of major advantages to this particular paradigm.

Cost

The most obvious benefit is cost. Unlike traditional cloud models, serverless computing allows a company to only pay for what they need, when they need it. As a result, there is virtually no wasted resources, as blocks of servers are never sitting idle waiting to be used.

Configuration

The cost savings goes beyond the initial setup and scaling. Configuration is substantially easier and streamlined, as the host company handles the bulk of it. This makes it much easier to scale up additional resources without the usual downtime for configuration.

Deployment Speed

Because the client company does not have to manage the server, it is much easier and faster to deploy applications and services. For the most part, the development team can focus on creating their app or service, and then deploy it without worrying about the backend server.

This freedom can make it much easier and faster to deploy new software, services and features, not to mention pivot in new directions as needed.

Disadvantages of Serverless Computing

Despite its clear advantages, there are some disadvantages to the paradigm.

Lack of Control

While having an outside company manage the backend server may seem like a dream in many scenarios, it can be a nightmare in others. There are times when developers need as much low-level access as possible to improve performance or troubleshoot issues.

With serverless computing, however, that low-level control is not available. As a result, developing and deploying software can sometimes be a frustrating experience for some developers, especially those who prefer a more hands-on approach.

Performance

Another potential disadvantage is performance. Serverless computing providers will often spool down unused resources. As a result, any application or service that is not frequently used may need to be spooled up the next time it is needed.

This can result in significant performance compromises, especially compared to a cloud deployment where the client company has more control. In this scenario, they can make sure all apps and services are always spooled up and ready for use.

Vendor Lock-In

Vendor lock-in is another major concern. Because a company is at the mercy of the serverless computing provider, there is always the risk of becoming so dependent on their standards, protocols, features and infrastructure that it can be difficult to move to another vender if needed.

This is especially a concern since the industry has yet to consolidate on a set of standards that all providers will abide by.

Resource Cost

While serverless computing can start out significantly cheaper than a more traditional solution, as an organization’s needs grow, it can become prohibitively expensive to rent the necessary resources. In these cases, traditional cloud offerings can suddenly be a good deal.

Security & Privacy

Another potential disadvantage is security. Although there are benefits to having another company manage the servers, operating systems and hardware, this also means trusting another company to do it right. In addition, serverless companies are prime targets for hackers specifically because they host such a wide array of other companies’ services. Any attempt to mitigate a potential security issue is offset by the fact that the serverless computing company has ultimate control.

The same is true for privacy. Not having control over the hardware and software on the servers—servers which can be accessed by the provider’s employees—can be a deal-breaker for many companies, especially if they deal with sensitive information.

Conclusion

As with many things in the world of technology, serverless computing has significant advantages and disadvantages. When used properly, and by the right demographic, this option can provide a powerful, inexpensive way to benefit from cloud computing.

Other companies, such as those with very customized needs, heightened security requirements or massive scale, would do better to invest in traditional cloud options.

Serverless Computing
Performance
Security & Privacy
About the author
Matt Milano -Technical Writer
Matt is a tech journalist and writer with a background in web and software development.

Related Articles