By 2007 or so, the data centers have become untenable due to space and power constraints. It was common to hear cases of servers stacked on top of each other. The space and power constraints led many people to move some of the dev servers into their offices. DC managers had a tough time to keep saying no to new servers required for new workloads.
Virtualisation came around and it promised to solve the problem. It did help in squeezing more out of the existing servers. Deduplication, Storage tiering and other techniques helped reduce some of the storage equipment. Depsite this, the problem did not completely go away. Both virtualisation and storage optimization helped punt the can down the road.
This was around this time, AWS came about. It became attractive for developers to put their workloads on AWS instead of waiting for capacity to be available from their own IT team. From dev workloads, AWS usage spread to test workloads, tier 2 production workloads and production workloads. The rest is history.
By 2015 or so, monolithic applications have become untenable. It was due to complexity of keeping them up and running, reducing downtimes and decreasing MTTR. In addition, Cloud pricing is very unforgiving to monolithic applications. Developers started experimenting with micro services based approach. Raise of container technologies like Docker made is easier to experiment with micro services. PAAS like CloudFoundry helped break away from the chains of WebSphere and WebLogic and other complex app servers. These helped reduce the problem for a period of time. With increased adoption of micro services came increased complexity. You now had to hire super star ops experts or consultants. who can build you great container orchestration systems. Developers just want to write business logic and CIOs want to invest in this.
This was around this time, AWS Lambda came about. It became rather attractive for some developers to write business logic on AWS Lambda. They liked that they do not have to mess around with containers or the other complex ops stuff. From dev workloads, Lambda usage seems to be spreading to apps being built by some new startups. It is to be seen if Lambda usage will spread to production workloads and will become the gold standard for doing micro services based development. It is easy to look at Lambda and point out its deficiencies today and make the assumption that AWS won’t bridge those gaps, but that would be a mistake.
We are still in early days, bu I would bet on Lambda being very successful.