Why The Future Of Software And Apps Is Serverless
Even with the rise of cloud computing, the world still revolves around servers. That won’t last, though. Cloud apps are moving into a serverless world, and that will big implications for the creation and distribution of software and applications.
In the pre-cloud days, developers who wanted to build an application needed to think a lot about servers. They needed to budget for them, plan for them, connect them, power them and house them. They had to buy or lease the servers, the power supplies, cabling and cooling – and then set it all up in their datacenter or in a colocation facility.
Over time, the colocation facilities began taking out many parts of the equation – providing racks, power, Internet access and other key resources. Even so, dealing with provisioning, clustering, and maintaining servers required spending lots of money (capital expenditures, power, internet, cooling, security), tons of time and detailed planning (contingency, develop/test/produce, site growth, and so on).
The concept of an “application” in the cloud is quickly evolving. The monolithic application built on Ruby on Rails, Python and Django, or other Web app frameworks is giving way to a distributed system spread across a number of applications, processes and data stores. It’s no longer about building a “Web app.” It’s about building a distributed system of loosely coupled components in the cloud.
But this changing focus doesn’t map so well into the world of applications and servers. Developers working in a distributed world are hard pressed to translate the things they’re doing into sets of servers. Their worldview is increasingly around tasks and process flows, not applications and servers – and their units of measures for compute cycles is in seconds and minutes, not hours.
The classic analogy is the generation of power. The progression moved from ox-driven water pumps to water-driven mill stones to individual coal-fired factories and ultimately to industrial-scale power plants and transmission lines. This last step – the industrialization of power – transformed industry and the world. It dramatically lowered the cost of building and making things, transformed cities and homes and ushered in new inventions, services and businesses. The idea of plugging a light, a radio or a TV – or a sewing machine, lathe, or power drill – into a wall or overhanging socket – went from unheard of to transformational to taken for granted.
Similarly, by plugging into an elastic computing service, developers don’t need to provision their resources based or put a lot of effort into planning for new projects. Just as Virtual Machines have made it easy to spin up servers to create new applications, elastic/on-demand computing services make it simple to grow.
Just like cloud computing a few years ago, the serverless approach has found its most vocal adherents with startups and independent developers. One reason is affordability, another is the ability to scale quickly, and a third is not having to worry about things that aren’t strategic to their businesses. As the category matures and more developers become familiar with this new approach, it will move into larger organizations. Because it’s becoming increasing clear to everyone, the future of computing will be serverless.
Go to ReadWriteWeb to see the full article: