When the subject of the Internet of Things (IoT) arises, all-too-often it’s around forward-looking statements such as budgets and market share, number of devices, and the multitude of use cases. However, the topic of the complexities in the backend systems, third party calls, and exactly how taxing this will be on the IT operations department isn’t getting much spotlight.
Back in May, Jeffrey Kaplan of THINKstrategies attempted to kick-off this conversation with APMdigest. But why hasn’t this been a catalyst for a real conversation around how IoT will exponentially increase the complexity of application environments? As IoT begins to gain more and more ground, are we ready? Will CIOs understand the preparation needed to be fully prepared?
The rise of complex environments
20 years ago, the backend environments were relatively simple — user requests enter the system via a PC, traverse an internal network, maybe go through a messaging queue, relay to the database, and back. Any issue could be diagnosed and resolved in a methodical way and troubleshooting usually followed the lines of is it the network connection? Is it the server? Is it the database? Or is it the user? These environments created a plethora of 1st generation monitoring tools that focused on the network or servers only, and in some cases just carried out simple Ping checks!
However, with the rise of cloud environments, Agile release cycles, more and more devices, and just the overall technology landscape innovating at lightspeed, these environments grew into complex, distributed spiderwebbed systems. Don’t believe? Check out a real environment for an online retail company below:
Any performance issue here and without a proper monitoring tool it’ll be like looking for a needle in a haystack.
Now, let’s add IoT into this and the environment becomes 10x more complex. Visibility of applications, third-party apps, and API calls is vital to ensure user experience.
Simple IoT use cases
Take a simple IoT use case where a person has a wearable, walks into a coffee shop and that triggers their regular order. A pretty straight forward example, however, it would involve a lot of backend systems communicating in real-time to deliver a seamless user experience. The wearable and geolocation would need to connect to the in-store network, which triggers a call to the customer account info to check status, preferences etc. and then brings the order to the baristas POS system. The call would also need to go into the payment backend system to make sure the person was charged correctly. A simple use cases like this triggers a very complex asynchronous transaction that becomes a nightmare to monitor end-to-end.
Key to providing this personalized service is software and if, at any point, the associated applications have a performance issue then customer experience is ruined. The result; the customer visits a different coffee shop next time and probably vents their frustration on social networks. This impacts the coffee shop’s revenue and damages their brand. Think about this situation unfolding during the rush to work and you can understand how IoT complexity can cripple a business. Therefore no business with IoT services can afford any performance issues.
Performance isn’t an after-thought
The above example was simply a convenience scenario meant to save a few minutes. With the rise of IoT, more and more devices will be connected and rely on critical, or even life-dependent, devices. Healthcare has several IoT use cases. If there’s any sort of performance issue the consequences are way more severe than someone not receiving their coffee.
AppDynamics and preventing IoT issues
At AppDynamics, we have seen the rise of interest in regards to IoT services. Our customers in industries such as automotive and retail are focusing on how IoT can enhance the services they provide to customers and how sensors plus software can enhance employee experience. IoT increases software complexity with microservice architecture, asynchronous transactions and cloud delivery. On top of this, because IoT is all about delivering enhanced experience, then understanding how these services are utilized, which features are most important and delivering most value is critical. Therefore Application Intelligence is vital to any company, serious about IoT. For more information please see here.