I’ve been working with a lot of organizations that are in full-swing with their “digital transformation” initiatives. They’re doing virtualization, cloud, better security, and focusing on improved user mobility. From there, you can throw in a bunch of other market trending words like AI, machine learning, and you’ve got some pretty impressive things down on paper.
Sound familiar? It’s quite possible that you’re in your own process to "digitize" your organization.
However, a major challenge over these years has been fragmentation behind the actual digital journey. Sure, there are places within your infrastructure that can be optimized to deliver some amazing new services. But, no one really talks about those hard to digitize apps, services, databases, and even legacy cloud solutions. Yes, I said legacy cloud.
Recently, I’ve had the chance to dive into the DevOps world and really begin to explore the capabilities that this model can provide. First of all, more organizations than you think are already investing in DevOps teams and processes. In fact, Forrester is calling 2018 "The Year of Enterprise DevOps" confirming that 50% of organizations are implementing DevOps already.
So, we know that DevOps can deliver a lot of business benefits, and we know that they can help modernize a lot of processes and services. However, the biggest challenge and struggle in finding benefits from DevOps initiatives is the uncertainty into how to approach DevOps in the first place.
“DevOps challenges conventional IT thinking with its lack of a standard definition and approach, its constant evolution, and its requirement for acceptance and management of risk,” says George Spafford, research director at Gartner. “This imprecise target state has caused many IT organizations to hesitate in implementing a DevOps strategy.”
Here's the other major trend to remember, according to another Gartner study, 31% of CEOs stated that product improvement and technology are their biggest-rising priorities. In fact, their report indicates that about twice as many CEOs are intent on building up in-house technology and digital capabilities as those planning on outsourcing it.
Know what can help make all of this possible? DevOps.
Let’s bring this down into the real-world for a bit with a few of examples and thoughts.
Working with a legacy application. Applications can be complicated parts of the business. Especially if they were once custom-designed and then never really updated. So, let’s pretend you have a legacy application. You’ve been stuck with this app for a while, and yes, it still "works". But, you’re exceedingly limited in where you can integrate this app and even limited with how you can deliver corresponding services. So, what do you do? Scrap the whole thing and start over? Look for proprietary solutions that may be super costly? Or, maybe you work with your existing application to help bring it into a more digital state.
DevOps can do some interesting things here. First of all, good DevOps architects won’t just tell you to rip out and replace everything (unless that’s absolutely needed, of course). Rather, they’ll try to understand the layers of the application and break it apart as needed. Application abstraction is a part of DevOps that aims to understand code, services, backend processes, user interaction, data sets, data interaction, and databases. So, a set of custom-made APIs can help pull data from the application and begin to stream it into a new process or new application development processes. DevOps teams can actually make your application upgrade process a parallel procedure; no need for ‘rip and replace.’
If you’ve ever done a virtualization upgrade or project, you’ll know how this works. Basically, you’ll stage a VM, migrate services, desktops or apps, and then start testing it with users. Remember, in DevOps, this process is pretty similar. That is, there’s a staging process, testing process, and of course deployment as well. If you have a legacy application or service, work with a good DevOps team to help you abstract that application, understand all of the underlying components and how you can go through an iterative, non-disruptive, upgrade.
Leveraging new types of compute and resource models. Ever hear of serverless compute? No? Definitely check it out. Basically, serverless capabilities allow developers to use the exact amount of compute resources for the job. So, whenever there is a pre-defined "event"’ that might trigger the code, the serverless platform will then execute the task. The cool part is that the developer can simply except the results without having to tell the infrastructure how many times these events have to run. Lots of big platforms are delivering serverless capabilities as well, like AWS, Azure, and GCP. A great way to push into becoming a digital entity is to actually leverage systems that let you work with resources in their most optimal state. Again, the cool part here is that developers leverage only the resources they need for the app or microservice being developed. It’s the utility consumption of cloud resources when creating applications.
These new development models allow you to create powerful applications and microservices to help your organization stay really agile.
Focusing on business-specific initiatives. The only way you’ll successfully become a digital entity is if you truly unify your technology processes with your business. In fact, success comes to those organizations that actually understand the real business benefits they hope to achieve from working with DevOps. That is, don’t just do DevOps for the sake of doing DevOps. Sure, you can improve release dates and deploy things faster. But if you’re not aligned with the business and are unable to get business justification for these projects, you’re operating as a siloed technology entity. That really doesn’t help anyone. Continuous innovation comes from direct alignment between business and technology.
The world of DevOps is vast and ever-expanding. You don’t have to be an expert to start asking the right questions to understand where DevOps can fit in with your organization. In fact, application, DevOps, and even cloud architects can help take your legacy components and architect a strategy to digitize that platform.
The entire point here is to see the bigger picture and know that becoming a digital entity also means creating new and advanced competitive capabilities. Just because your application still works, doesn’t mean it’s bringing you any value. If you’re deathly afraid of making even minor changes to your app, maybe it’s time to think about an upgrade or a way you can better deploy those services.