DevOps is essential to meeting business objectives, and one of the key business objectives of any organization is to deliver an outstanding customer experience. The customer experience goes beyond just the application's user experience; it includes every touchpoint an organization has with its customers. It involves a suite of applications, devices, and data that are used to serve the customer across the entire customer journey.
At the same time, in today's mobile-first world, customers have little patience. Apps that are slow at getting users what they're looking for will lose out to faster rivals. This is where enterprises face challenges from younger and more nimble startups. This digital disruption is happening across every sector. Banks are facing a new kind of competition from mobile payment wallets; the travel industry is being turned upside down by the likes of AirBnB; local transportation and delivery services are being transformed with taxi-hailing apps like Uber and food and grocery delivery apps, and traditional telecom providers are being replaced by mobile communication apps like WhatsApp and Zoom. If mature organizations are to survive this disruption, it will take a complete overhaul of the customer experience to be able to deliver services better than, or at least on par with these startups.
With so many moving parts in play, as well as increased customer expectations, crafting a great customer experience has become harder than ever. How can DevOps teams meet this challenge? Let’s explore.
Modern Architecture is Distributed
DevOps introduces change at every level of the application stack. What's common is that at every layer, a distributed architecture is the new norm. From a monolithic client-server model, DevOps brings a distributed microservices model where the application is made up of many different services working together but built and managed independently from each other. While there is more complexity because of the proliferation of services, it brings much needed control over the performance and management of each individual service. Faults can be isolated at the service level and need not bring the entire application to a halt. Performance can be optimized as each service is treated as a first-class citizen and given individual attention.
Key to microservices architecture is adopting the cloud, and not just the cloud, but leveraging container instances in the cloud. While traditional apps were chained to hardware servers, modern cloud-native apps treat container instances as cattle, not pets. Even if a number of instances were to fail, they can be replaced with little effort and no additional cost. Further, networking becomes extremely important as the services need to communicate not just one-to-one but also many-to-many. This is why the container orchestration tool Kubernetes’ service mesh is a key challenge.
Managing the Customer Experience
Monitoring is essential to planning and managing the customer experience. Complex systems need even more monitoring. Cloud-native apps churn out much more data than traditional ones, and how an organization analyzes this data will make all the difference between success and failure. Monitoring when done right bridges the gap between technology and business teams. It enables software delivery metrics to be seen in light of business objectives. This is essential because the customer experience depends on the collaboration between business and software delivery teams.
A good starting point is to create a map of the typical customer journey. It needs to cover all touchpoints a customer could potentially have with the organization. From here, it's imperative to pick out the big wins in terms of customer experience. As a start, this could be critical steps like product search, order processing, and payments.
With complex application architecture, and a customer journey to match, you need monitoring that can factor in all the complexity and simplify it for analysis. Your monitoring tools should be cloud-native and container-aware. As your system changes, your monitoring tool should be able to automatically discover components that are added or removed. It should enable advanced troubleshooting by connecting data points from different parts of the system, and combining them to reveal the story between the numbers. It should provide actionable insight that is prescriptive and specific so that administrators can spend less time crunching numbers and spend more time using number data to make changes that improve the customer experience. CA APM is one such solution that equips you with the insight to design tomorrow's customer experiences. It can replicate and playback every step of an incident from the user’s perspective and give you a picture of application performance as it really is.
Digital disruption is a strategic challenge that enterprises and SMEs face today. Getting back into the race as a disruptor requires a transformation of every layer of the application stack— infrastructure, networking, and application. It also needs an accurate view of the customer journey from start to end. To manage distributed application architecture and the complex customer journey, you need a modern approach to application performance monitoring (APM). Tools like CA APM are enabling monitoring that is future-ready, giving you even more control over the end-to-end customer experience.