The advent of Cloud Computing has removed infrastructure as a barrier to rapid and massive scaling of applications. Whereas in the past the need for physical hardware created a drag upon the entire scaling process, the ease of use and accessibility of Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) has made it possible for a developer to create an application one day and have it utilized by hundreds of thousands of users the next.
This paradigm shift in terms of scale, geographic spread and velocity has changed the development process markedly – no longer do developers have the luxury of creating an application and scaling that application in a controlled & generally sedate manner. Instead the velocity of today means that they need to think about scale and speed from the outset.
At the same time, modern web applications are architected in an entirely different manner with traffic to and from the application via Application Programming Interfaces (APIs) amounting for a significant proportion of total traffic. This change in the ways data is being created, stored and consumed by an application has also changed the demands on developers.