Simplifying server management started by reducing the number of servers in the data center. With the introduction of virtual machines (VMs), a "server" didn't have to correspond to a device in the data center; one physical server could host multiple virtual machines. The move to Infrastructure as a Service (IaaS) moved the physical server running the virtual machine out of the data center and into the cloud.
The Promised Benefits of Cloud Computing
The promised benefits of running servers in the cloud include reduced costs, increased agility, and simplified management. All of these benefits are real, but there are still limitations.
In the cloud, you only pay for the servers you use, but you pay even when those servers are idle. It's true that the load on your data center staff is reduced, but you still need an awareness of your servers. You need to estimate your capacity needs and choose the right instance size to meet your need. You need to provision the VMs with the necessary applications and services. You need to monitor your applications and performance of your VMs in the cloud. You need to decide when you've outgrown your currently allocated resources and move to a bigger instance.
Simplify Management By Stopping Thinking About Servers
It seems there's no way around it: virtual machines emulate physical servers and run on physical servers, so whether your VM is in your data center or in the cloud, your team still needs to think about the server management issues.
Serverless computing eliminates the need for your team to think about servers entirely. It doesn't eliminate the need for servers—there has to be underlying hardware running your applications, after all—but it makes managing the servers and allocating the resources to support your applications entirely the responsibility of the cloud provider.
Instead of worrying about the underlying hardware, in a serverless computing model, your developers write functional applications. The cloud provider runs the function "somewhere" when the function is invoked, and the function doesn’t use any resources or incur any charges except when it is processing. There's no server to be provisioned, maintained, managed, or monitored. Applications are written as scalable functions, and high-availability is built into this model.
Serverless is for Future Applications
While serverless eliminates the need to think about servers entirely, it's not right for every application. In general, existing applications aren't architected as invocable functions, so serverless is more likely to be a model for future application development than a solution to the existing demands in your data center.
Serverless will be appropriate for applications that experience unpredictable usage patterns. Serverless computing is also stateless computing, so it's not appropriate for applications that need to maintain the state of a session. It may not be appropriate for applications with high performance needs, as the function needs to startup when it's invoked—there's no process idling in a ready standby mode.
Managing Servers For Your Existing Applications
Serverless computing may be the future of new application development, using tools like Amazon Lambda, but for existing applications you still need to think about your servers and actively manage them even in the cloud. Contact dcVAST to learn how our IaaS and managed Amazon Web Services can help simplify your server management.