A modern business is constantly under pressure. Some pressures are predictable: a retailer knows when Christmas is going to happen. A commodities trader doesn’t know when the latest crisis will cause an adverse market reaction. Being both resilient to and able to take advantage of these pressures is key for successful businesses.
We all know the theory about cloud. The platform is agile, allowing services to be added, changed or removed to meet business demands. What is less well understood is how this happens in practice. For those of us used to the “enterprise” way of doing things, how do we need to change what we do to survive this pressure and harness it?
Take Wimbledon as an example. As we approach the final days of The Championships, it’s interesting to see how a brand ramps up its digital capability to engage fans across the globe. For a two-week period they need to rise above the noise of other broadcasters and content providers. Wimbledon uses IBM’s cognitive and cloud platform; ensuring its digital channels are the most engaging place to experience The Championships. It is the oldest of the four Grand Slam tennis tournaments and has a prestigious reputation to uphold. It is essential their global audience receives a digital experience that is second to none.
Enterprise application developers typically write applications that run on resilient but largely static systems. These systems have inherent capabilities to keep a service running. Failures are hidden using redundant hardware to keep application and data workloads running. Being free from worrying about system availability allows developers to focus efforts on application functionality to best meet business needs.
Enterprise applications moved to the cloud without modification may struggle to work well. They may be fine when everything is working but what about when it isn’t? Cloud provides many capabilities but assumes an application takes care of its own availability. This is a massive step away from the norm for an enterprise developer. To understand this we need to understand that not all errors are the same. Operational errors result from problems occurring ‘somewhere else’ that impact the program. For example, a call to a cloud service that doesn’t respond for some reason. The application has to figure out what happened and handle the error. Program errors are bugs in the code – stuff the programmer did wrong and “should” be fixing. There isn’t any way to handle these errors given that it is the code itself that is at fault. Where this gets blurred is that a failure to handle an operational error is itself a program error. The application calling the cloud service gets an error. Not handling this is a bug the developer has to fix.
Errors have knock-on effects. Inconsistent digital services have significant brand ramifications which organisations are keen to mitigate. The brand and reputational damage arising from a poorly-running website is significant. Attention spans are dwindling and the number of content providers is ever growing. This brings us back to Wimbledon and its conquest to transform almost into a media company. It has the reputation of providing the most up to date information and insight. If tennis fans become disillusioned with website performance or ease of use, they will switch to an alternate provider.
Unlike the resilient enterprise server, which masks operational errors from applications, in the cloud things are more ‘fluid’. Things come and go, or move. Services may restart. The cloud remains available but applications need to be smarter. Applications need to understand errors arising from changes and handle them appropriately. The developer mindset needs to change.
Organisations moving workloads to cloud often perceive it to be less reliable. Often though, what might appear as a “the cloud is broken” situation turns out to be a “your application is broken” one. Applications are often put into production without the requisite “hardening” to be resilient.
Wimbledon icons stepping onto court, are reminded of Rudyard Kipling’s famous line: ‘If you can meet with Triumph and Disaster, and treat those two imposters just the same’. You can almost liken it to this shift to cloud and the opportunities it brings with it. Cloud offer many capabilities making it ideal to help organisations thrive under pressure. However, surviving those additional pressures needs a different approach.