A Paradigm Shift: Serverless Application Development
The introduction and proliferation of a multitude of PaaS and serverless computing technologies might be the end of the Iron Triangle.
Join the DZone community and get the full member experience.Join For Free
The concept of the Iron Triangle—where the sides are Fast, Good, and Cheap—is one with which IT project managers are very familiar. Developers have long accepted that there are inevitable tradeoffs to be made with any system design. If Fast and Good are prioritized, then cost will be sacrificed—and so on. In short, you can’t have all three, so “pick two,” the saying goes.
But these tradeoffs may be a thing of the past, thanks to the synergy of three current technologies: Cloud Computing, Platform as a Service, and Serverless Computing. When served up together, these paradigms readily support Fast, Good, and Cheap IT application solutions.
Since its first public mention at an industry conference in 2006, Cloud computing has shifted the way users access email, store documents, and share files. And for developers, its core affordances are the fact that it is multi-tenant, scalable, usage-based, and allows for hardware abstraction. These features make Cloud Computing a fast solution that requires little uptime to build the infrastructure required to run IT applications.
Platform as a Service (PaaS) makes delivery of high-quality applications with minimal or no coding possible, while still supporting applications which are designed for business solutions. PaaS platforms also support in-place upgrades that don’t break the customer-specific changes that have been implemented as a business solution.
Manageable costs can be realized through Serverless Computing, also known as Function as a Service (FaaS). Instead of being charged for idle server/network compute cycles or for the labor to write complicated code, small code segments (50-100 lines) conduct specific business tasks based on events triggered by end-users, devices, or other applications.
Given that, serverless solutions, such as Amazon’s Lambda are significantly less expensive than traditional solutions because you are charged based on the number of requests for your functions and the duration, not for the underlying infrastructure required to run it.
A number of vendors now provide three-pronged solutions that harness the best features of Cloud, PaaS, and Serverless. Pivotal Cloud Foundry, ThingLogix Foundry (I serve as COO at ThingLogix), and Progress Health Cloud are just three examples of those that deliver on the Fast, Good, and Cheap schema by leveraging the strengths of those technologies.
But while each solution takes a different approach, their outcomes are in lockstep. Pivotal Cloud Foundry allows users to rapidly develop and run .NET, Java or Node applications without having to worry about almost any of the back-end, infrastructure, DevOps or deployment complexity. ThingLogix Foundry spurs rapidly building pure event-based applications (scalable IoT solutions are one such example). Progress Health Cloud allows you to accelerate app delivery with a purpose-build HIPAA compliant platform using pre-built application templates for typical healthcare solutions.
Most importantly, all three solutions really deliver on the Fast component. Customers are able to deliver solutions in less time than before, and they run on the major cloud platforms such as AWS or Azure. Each solution also allows for rapid testing, deployment, and updating. Further, Pivotal Cloud Foundry, ThingLogix Foundry, or Progress Health Cloud all deliver high-quality solutions that scale, have minimal downtime, and feature real-time monitoring tools for administrators.
As IT teams across industries adopt the combination of cloud, PaaS, and serverless/FaaS computing, it is only a matter of time before this model will be replicated across many software solutions.
Welcome to the future, where you truly can deliver applications with speed, quality, and cost-consciousness. At long last, it just may be time to retire the Iron Triangle.
Eric Dirst is Chief Operating Officer of ThingLogix.
Opinions expressed by DZone contributors are their own.