The Computer Weekly Developer Network talks to Ben Newton in his role as director for operations analytics marketing at Sumo Logic in line with a mini-series of posts related to the rise of what we have called the ‘holistic’ application.
Not perhaps a formally defined technology industry term, the holistic application is an app that has arisen in the age of cloud with containerisation, microservices and compartmentalisation of discrete components at its core.
Sumo Logic is a cloud-based service for logs & metrics management that uses machine-generated data for real-time analytics. The petabyte scale technology is built around a distributed data retention architecture that keeps all log data available for instant analysis, eliminating the need for (and complexity of) of data archiving.
CWDN asked Newton what his position was on holistic application development in terms of the shift from traditional monolithic architectures to more modern architectures using cloud and microservices-based approaches.
Sumo Logic’s Newton insists that tendency here is to view this as a technology shift only i.e. one where developers are adopting these services for their own benefit. He says that this is not the case – customer expectations are forcing companies to adopt new infrastructures.
Newton writes as follows:
Customers aren’t [simply] satisfied with a low-cost, always-on service. Instead, they want a more dynamic and personalised experience when they are shopping or in any other customer service scenario.
This presents us with a problem.
Monolithic apps are hard to scale [towards more compartmentalised personalisation layers], as they tend to be improved through moving to larger hardware rather than by scaling out smaller service components. Getting this mass-personalisation right for services that might be accessed by thousands or millions of users is next to impossible with traditional application design.
Today, app developers are looking at e-commerce and retail companies for examples of how to cope with variable demand levels and how to scale up their apps. It’s therefore not a surprise that many businesses are looking at Amazon and AWS [other cloud platforms are also available] for how to scale up.
Using cloud-based microservices provides the only hope for delivering competitive customer experiences at scale.
Alongside this, there is an operational challenge facing companies adopting these technologies. Traditional monitoring tools were built for relatively static architectures that don’t change much over time. From a monitoring perspective, they don’t provide the visibility, flexibility, or scalability needed for modern teams. Instead of updates happening every few weeks or months, modern apps are literally changing on the scale of hours, minutes, and even seconds.
Today, a modern app might grow or shrink the volume of components needed to deliver a service in real time… and this takes place continuously. Container-based technology provides application developers unparalleled flexibility to deliver updates safely and quickly to production, while also providing the ability to scale services at the smallest possible component level.
Similarly, serverless approaches just take another step in the direction of scaling code and not just components. This means that enterprises can be sensitive to user feedback and behaviour.
This kind of ever changing application requires a new approach to analytics.
The teams supporting these efforts need continuous, real-time visibility into their application, to measure their responses in minutes. The older tools and approaches often in place were designed for older, more silo’d teaming structures.
Successfully implementing microservices involves adopting newer ways of organising engineering, operations and security teams. These newer approaches call for small, cross-functional teams that collaborate all the way from code to production. This means that these teams need end-to-end visibility since they are being held responsible for both pre-production and post-production quality.