Developing apps for the cloud to fuel faster releases
Wednesday, August 15, 2018
Developing apps for the cloud can help DevOps get software releases out faster, but throttling the need for speed will help keep good user experiences.
Businesses are moving faster than ever to deliver new software updates to their users, in order to ensure that their products and services are always aligned with expectations and continuously delivering top-notch customer experiences. They have to move quickly because that’s what customers expect, thanks to companies like Amazon, who reportedly delivers new updates virtually every second. When the bar is that high, it’s clear why so many organizations think that they’re facing an uphill battle that they could potentially lose.
Already, companies today release an average of three updates per working hour, and 104 over a single week. But, despite that pace, the vast majority of organizations (89 percent) expect they’ll need to deploy updates even faster than that going forward. That’s all according to new research from Dynatrace, which illustrates not only the ever-growing need for speed that businesses are chasing for their software update release strategy, but the risks that this chase can inadvertently pose to the customer experience - ironically, the very reason that enterprises are so invested in speed in the first place.
The path to more speed means developing for the cloud
Chasing that need for speed means first laying the groundwork for an infrastructure that enables greater agility. For most businesses, that means developing applications for the cloud - specifically, hybrid- and multi-cloud environments. Migrating and rearchitecting legacy applications into more flexible and agile containers and microservices in the cloud opens the door for enterprises to ramp up the pace of their software updates.
This is easier said than done, of course. A majority of the CIOs who are overseeing these transition efforts have called out identifying whether or not app performance is affected by the cloud, understanding whether that app is even suited to the cloud and actually re-engineering those apps for the cloud as key hurdles that need to be cleared when moving services to the cloud. You’re not flicking a switch; we’re talking about a major restructuring of how your IT infrastructure works.
Building an agile infrastructure can’t be a siloed effort, either. It must be paired with a culture change happening throughout the organization. Not making a concerted effort to break down the siloes around IT teams, and doing so in tandem with making these investments into innovation speed, can result in overlapping projects and conflicting processes, which create a lot of unnecessary internal disarray - and, ultimately, negatively impacts the user experience, too.
The DevOps dilemma
This culture change is key because IT naturally builds up siloes around different functions and teams, and a lack of collaboration across the development and operations teams can be enormously counterproductive. When teams are misaligned on goals and processes like this, it can create a lot of hiccups in the production pipeline - for instance, forcing new code to be passed back and forth between the dev and ops sides, delaying a new software update and, consequently, frustrating customers who are expecting a timelier release.
Implementing a DevOps culture can bridge this gap between teams, facilitating closer collaboration and leading a process change that lays the groundwork for speedier innovation. But, it’s not without its roadblocks, either. While more than two-thirds of CIOs are already implementing, or have implemented, this DevOps culture, even more (about three-quarters) also said that their DevOps efforts were undermined by a lack of shared toolsets and data. When different IT teams are starting out from different baselines like this, it can be difficult if not virtually impossible for IT to land on a single view of the truth.
Democratizing information to get IT on the same page
At the heart of this DevOps culture needs to be a spirit of democratizing information, leveraging digital experience management insights and real-time data collected by AI in order to diagnose performance issues. By democratizing this information across the entire team, everyone - regardless of previous siloes - will have equal access to the same data, the same tools and, ultimately, the same single view of the truth. If DevOps can empower everyone in IT to speak the same language, that allows the whole team to move forward in tandem with each other.
And, once everyone is on the same page, you boost your likelihood of pushing out quick and successful software updates, keeping app costs down, and reducing the likelihood of needing to patch faulty releases that did more harm than good. Recall last year’s WhatsApp outage, where many of the messaging app’s 1.2 billion users had difficulty receiving or sending messages. Given that WhatsApp delivers new updates every couple of days in order to accommodate frequent code changes, the culprit behind that outage was likely an update that was supposed to improve, not break, the app’s functionality. The last thing you want is to push out an update that breaks your service and angers your users.
This kind of situation is exactly why close to three-quarters of CIOs said that this need for speed in digital innovation may put the customer experience at risk. And, it’s exactly why these same CIOs are prioritizing a DevOps culture that can promote collaboration, democratize information and get out ahead of the possibility of a new update breaking everything else - including that customer experience - in the process.
That’s also why we see so many CIOs increasingly turning to automation and AI, which are key tools for, among other things, democratizing this flow of information. Introducing AI-controlled automation into the DevOps pipeline frees up teams across the organization so that they can focus their time and attention more innovation and less on simply pushing out builds. AI also empowers the organization to access data from a single source - that single view of the truth - to make better decisions faster and reduce the risk of bad builds creating poor customer experiences.
Threading the needle between speed and the customer experience
At the end of the day, the need for speed can’t be avoided. It’s what all our users want, and the businesses who can’t keep up with that pace will get left behind by those who can. What can be helped, though, is how we integrate this need for speed into how our IT teams function. Just slamming your foot on the gas and trying to ramp up your production and release pipelines as if you’re going from zero to 60 is a recipe for disaster. It doesn’t matter how fast you are if the only thing you’re first for is in angering customers with broken updates.
This is a tricky balancing act, but a doable one. A combination of the cloud and DevOps - creating process changes both in your IT infrastructure and your IT culture - is the key to successfully threading that needle between accelerating the pace of digital innovation and doing so without hurting the user experience in the process.
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more