Benefits and Drawbacks of Serverless Computing
Traducciones al EspañolEstamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Serverless technology centers on cloud-native, which means that companies do not have to host and manage costly infrastructure. Instead of worrying about servers, developers and admins can focus on the applications and services.
Serverless can lead to better business decisions, higher levels of reliability, cost savings, deploying at scale, increased automation, and agility. This guide outlines major benefits and some of the drawbacks of adopting serverless to help decide whether serverless is right for your organization.
Benefits of Serverless Computing
Serverless computing comes with a slew of benefits, what follows are some of the highlights.
Less Coding and More Automation
One of the biggest benefits to going serverless is that development teams don’t have to code as much. With serverless, several key functions are handled for you. Developers don’t need to worry about creation functions for things like HTTP servers, messaging systems, scheduled tasks, bots, notifications, data/image/video parsing, and basic AI analysis. Instead, they can focus on creating the functions that are unique to their software stack.
Along the same lines, it’s easier to add Continuous Integration and Continuous Deployment (CI/CD) into the mix. With that combination of less code and more automation, software stacks are more iterative and reliable.
Easier Route to Innovation
With serverless, a business can innovate faster. The infrastructure is more modular and better capable of gathering and logging metrics, which are key to evolving and improving. Most serverless hosts offer real-time analytics, so teams don’t have to build in-house dashboards. Systems can be deployed and taken down quickly, making it faster to test, debug, and redeploy. That level of innovation is challenging when dealing with a more static, in-house data center. Thanks to the amount of analytics some platforms offer, companies can adapt to market trends and customer needs faster. This lets you make business decisions more quickly and implement changes more efficiently.
Faster to Market
Many serverless hosts offer advanced deployment and automation tools that simplify the process of deploying an application to market. This means development teams have fewer tasks along with all the right tools to deploy more reliably and efficiently.
Cost
Given most serverless scenarios are, “pay for what you use”, the total cost can fluctuate. There might be a period of intense demand, such as the release of a new product or service, that spikes usage. That event costs more than your average usage. On the other hand, adopting serverless means the only cost is renting the services used to host your apps and services. You’re not paying for costly servers, server upgrades, and other networking infrastructure. You’re also not paying the higher energy costs required of a physical data center.
However, adopting serverless does not reduce the budget on its own. You need to keep demand in mind as the cost ebbs and flows.
Better Automation and Orchestration
With automation, there are many moving parts, complicated tools, and demanding hardware needs. With serverless, automation and orchestration are often built into the platforms as pre-built tools. This means teams don’t have to spend the extra time building those functions and tools.
Higher Scalability
One of the more important benefits of serverless is the ability to better meet demand. The primary reason for this is that applications built on a serverless platform are created to handle auto-scaling. If a particular function requires multiple instances to meet an increased demand, this typically happens automatically, thanks to the vendor platform. Much of what is done via serverless comes in the form of CI/CD. This allows you to build in auto-scaling and automatic updates to keep iterating new features to meet customers’ and clients’ needs at scale. When demand increases, your services maintain acceptable performance levels.
Evolved Security
To achieve the same security levels as serverless environments would require a dedicated 24/7 team. Hosting providers offering serverless environments have a vested interest in maintaining the security of their customer’s data and provide stringent security protection and protocols.
With every emerging technology comes a pivot in attack vectors, and protecting serverless applications is no different. Cloud hosting providers and organizations traditionally rely on infrastructure and network-based security tools. These include firewalls, intrusion detection systems (IDS), and runtime application self-protection (RASP) technology. A serverless application consists of distributed cloud services working together. In addition to using network inspection and access control lists, protecting serverless applications means ensuring code integrity, using tight permissions such as Role Based Access Control (RBAC), and behavioral analysis. Serverless security measures like these protect your serverless applications. Working with a vendor that adopts these measures means you don’t have to worry about infrastructure, network, or host security.
Drawbacks of Adopting Serverless
Adopting serverless does have some drawbacks.
Data Privacy Concerns
With serverless, customer data is housed in a third-party environment. Most companies offering serverless environments have a vested interest in keeping that data safe from security breaches. However, they may not guarantee, or even offer, data privacy. Review data privacy policies and agreements carefully when deciding which serverless company to use.
Vendor Lock-In
When building applications and services for one specific serverless platform, migrating it to another can be difficult. Development teams might have to re-write code and develop new APIs. You might also find that other serverless companies don’t offer everything found in your current option. Because not every serverless environment is the same, vendor lock-in is a real concern. Before deciding on a vendor, make sure what they offer is standard across the industry. Also determine if you can effectively migrate to another platform if needed.
Resource Limitations
Some third-party vendors place resource limitations on a deployment. The only way to get around those resource limitations is to pay the cost. This can be problematic if one deployment has a massive demand for storage, compute, and network resources, while others do not. Research whether it’s possible to pay the added costs in order to meet the demand for that one deployment. While not paying for costly hardware is certainly a benefit, keep in mind that when demand spikes, so does cost.
More Demanding on Developers
Remember, most serverless models are “pay for what you use”. Generally, this is a good way to save money, as long as demand isn’t constantly spiking. Ultimately, how much is actually saved often comes down to how well the software stack is developed. If pods and services are poorly created, they may cause unnecessary usage spikes in compute, storage, and networking. This leads to paying out more than necessary. Adopting serverless is more demanding on developers because they have to pay close attention to metrics and adjust those containers, pods, and services accordingly. Once you perfect the container manifests, you don’t have to worry about cost spikes unrelated to demand.
Less Control
In-house data centers give businesses complete control over the infrastructure, applications, and services they deploy. When adopting a serverless environment, you lose some of that control. You don’t have full control over the software stack that runs your code, or in the available configuration parameters offered. You might not even have decision-making power with what Java version is used on your serverless environment. In a serverless environment, you are dependent on a third party to resolve issues.
Conclusion
Many startups, and even established businesses, don’t have the capital to fund their own in-house data centers. In this case, serverless is often the best option for these businesses to successfully deploy apps and services to meet customer demand. Serverless is a good choice for any business, regardless of size, looking for better automation, faster times to market, better scalability, and higher security.
Bear in mind that serverless isn’t perfect. Thoroughly research the technology and potential vendors. Ensure the serverless provider you’re considering offers everything necessary to make deployments simple, reliable, and secure. Be sure they provide the control you need, along with essential debugging tools, and don’t lock you into their services. Your development teams also need to be highly proficient in automation, containers, and virtualization.
Serverless is a great option for businesses that want to be agile and capable of competing in a very competitive market. The upside to adopting serverless is considerable. Taking this path can help your business grow, but take the challenges into account when planning.
More Information
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
This page was originally published on