We recently highlighted five trends from Gartner that we think service providers need to consider for their 2015 business plan. This post focuses on the fourth trend we listed, “Software-Defined Applications and Infrastructure”, covering the opportunities that this trend is creating for service providers.
What do we mean by software-defined applications? Traditionally, applications have been architected as a single, self-contained unit. Software-defined applications on the other hand, are made of a number of independent components known as microservices, that communicate with each other via Application Programming Interfaces, or APIs, which opens up an enormous potential for automation both within and across applications in the cloud.
This brings with it a number of benefits. Automating repetitive or essential tasks is one. Suppose a company’s customer support wants to ensure that every time a customer experiences a fault a ticket is automatically created in the support system. Or a chat is initiated with the customer. Or an e-mail is automatically sent out. All of the above are easily achievable thanks to APIs – monitoring, e-mail, support and messaging systems can each initiative activities as a result of events in other applications triggering an API call, with no need for human intervention. This saves time, effort and admin cost, but at least as importantly it removes the risk of manual error. A customer support agent may forget to raise a ticket – an API call won’t.
This automation extends to software-defined infrastructure as well. Suppose your customer’s e-commerce application experiences a spike in web traffic and the servers that this application is running on are no longer enough to cope with the demand. Thanks to the modular nature of a software-defined architecture, all that needs to happen is for one of the microservices (say the queuing system) to be automatically replicated to however many extra servers are needed, which will be added to the load balancer pool instantaneously and with no need for manual intervention. All the component services of the e-commerce application will continue to work together since they will be communicating with each other via APIs. Once the traffic spike has passed and these extra servers are no longer needed, they can be automatically killed off to save on unutilized resources and to minimize costs.
This replication of servers to add resources to an application is know as horizontal scaling. Traditionally architected, legacy applications were designed for vertical scaling, i.e. adding more resources (CPU, RAM) to the existing server on which they reside. Once the capacity of that server is reached there is nowhere else to go, whereas horizontally scalable applications can easily be scaled indefinitely as needed.
As a service provider, understanding the impact that these next generation, software-defined applications are having on the market is essential is you are to keep one step ahead in the fiercely competitive cloud space. The global and diverse nature of the Internet is demanding that applications to able to scale massively and unpredictably to a worldwide user base, and to collaborate with a variety of other applications, all of which makes API-enabled architectures ideal, as we have seen above.