Andrei Neacsu is a co-founder and managing partner at HyperSense.
In the enterprise IT world, serverless computing is gaining popularity, with spending on infrastructure as a service (IaaS) and cloud computing projected to grow to $600 billion this year. The term “serverless” is a bit of a misnomer—in fact, many servers are very much involved, just abstracted away from the developers and, in a larger sense, from the company itself. In spite of any confusion caused by its misleading name, serverless technology is heading toward mainstream adoption. Not only does going serverless support the increased demand for microservices architecture, but more broadly, it allows efficient and cost-effective handling of millions of users, complex business logic, and rapidly changing industry requirements.
A brief primer on serverless technology: “Serverless” is an innovative approach to cloud computing that allows developers to build and run applications without needing to manage the underlying infrastructure themselves. If a company is using serverless architecture, the cloud provider takes care of server management, infrastructure and middleware updates, provisioning, and scaling, allowing development teams to focus instead on writing high-quality code and designing robust applications.
Serverless technology is particularly useful in supporting microservices. Microservices allow systems to be particularly scalable and reliable, and deliver great user experience—and this architecture is fundamentally dependent on a serverless, or cloud-native, approach. A familiar example of microservices at work: E-commerce giant Amazon had to accommodate a rapidly growing consumer base in the early aughts, putting stress on its developers and processes (as well as its customers, who experienced these snarls.) Interdependencies and coding challenges in the company’s monolithic architecture were impeding the company’s rapid expansion of services.
To deal with this, Amazon split up its monolithic applications into smaller units, such as the tax calculator, the shipping calculator, and even the “buy” button, each with its own dedicated developer team and back-end architecture. As a result, the bottlenecks opened and Amazon continued its rapid march to e-commerce dominance.
But do companies need to be Amazon-sized to benefit from serverless technology? Definitely not. Serverless technology offers a host of benefits to CTOs and technical managers seeking effective software development solutions:
1. Scalability: In today’s rapidly evolving technological landscape, it is crucial for a company’s applications to be easily maintainable and adaptable to accommodate new features. Decoupled microservices have proven to be a lot more flexible for rapid iterations than monoliths, allowing companies to expand their services and scale both up and down. When you have spikes, you can more easily scale up; when you have low traffic or low activity, then the system can automatically scale itself back.
2. Less maintenance: Businesses don’t have to be the ones to maintain, fix or set up infrastructure or perform server updates or patching. With on-premise systems, they usually need a full-time team. For instance, a financial institution that wants an on-premise CMS would have to buy the server, have an internet connection there, have an operating system on the server, and have a server application like Apache installed. And they would probably need someone employed full-time to manage everything to maintain it. A switch to serverless makes this all someone else’s problem, freeing up developers to work on transformative products and services.
3. Cost-effectiveness: Organizations are billed only for the actual computer resources consumed during execution, rather than pre-allocated server capacities. Because the costs of maintaining and operating the server are abstracted to a third-party provider, and because companies are only paying when that server runs their code, that can equate to significant cost savings. A 2021 study by Deloitte found that, on average, a serverless environment took 68% less time to provision, also equating to significant cost savings.
The software development space is increasingly dominated by a pervasive idea that monolithic architecture is altogether outdated and obsolete, a veritable dinosaur of computing. This is not the case: Monolithic architectures may be advantageous for smaller projects or startups, where simplicity and speed of development are paramount. In such cases, monoliths can be easier to build, test and deploy initially, with less overhead and complexity compared to microservices. Moreover, some companies may find it advantageous to leverage a hybrid approach, blending monolithic and microservices architectures to build a robust and adaptable solution. The focus should be on understanding a company’s unique requirements and constraints, and strategically combining the two architectures to create an optimal solution that meets the organization’s needs.
On the flip side, companies may have concerns that serverless technology will undermine interoperability, forcing them to instantly do away with legacy technology that works for them. This is also not true. Serverless systems can integrate with systems that run on the premises. And when migrating systems, an incremental transition can be employed, gradually breaking down a monolithic application into smaller services over a period of months or years rather than all at once. By implementing domain-driven design, core business domains can be identified and segregated based on their complexity and rate of change, allowing for the appropriate architectural approach to be chosen for each domain.
However, there is one reality that the software development community does agree on: Monoliths are hard to scale. Every system eventually needs upgrades; every application eventually needs new features, new user interfaces. It will only become more and more difficult to do that in a monolithic system. The most efficient and up-to-date algorithms and codes need a level of maintainability that a monolithic system cannot provide. As a result, key decision-makers must look toward the future with an understanding that systems that lack agility will ultimately cause their organizations to fall behind.
Forbes Business Council is the foremost growth and networking organization for business owners and leaders. Do I qualify?
Read the full article here