In a previous post my colleague Thomas discussed the different stages on the application journey to cloud. Today, we’ll look at some of the application delivery challenges you may encounter on that journey, particularly in a Hybrid IT environment, and how you can overcome them.
Manual, slow, error-prone processes
Few enterprises have fully automated application release processes. DevOps toolchains often grow organically, not strategically. Not all the tools may work together. Some may be used for tasks they were not originally designed to handle – for example, you may be using continuous integration or configuration management tools for release orchestration.
This requires extensive use of scripting and manual integration—often the fastest approach in a simple IT environment, but which simply cannot scale to multi-cloud, nor reduce the risk of human error.
Governance is compromised
To meet evolving customer requirements, business units have jumped on the cloud bandwagon to increase agility—often without IT‘s agreement. This leads to “shadow IT” running alongside corporate-approved IT, causing governance and compliance problems.
Concern about vendor lock-in
Businesses worry about becoming locked into a specific cloud vendor, unable to transfer workloads if needed, given the difficulty of moving applications between clouds. Such uncertainty is a limiting factor as enterprises plan their cloud journey.
Lack of standardization and repeatability
Development (and operations) expertise in a specific application is often limited to those that work on it. There are few—if any—common processes or centralized repositories of software and expertise. All good—until those developers leave the company taking their knowledge with them.
Employees lack expertise
It can be a real challenge to find the expertise to master the multiple cloud platforms. DevOps staff often spend significant cycles learning different cloud infrastructures and tools, instead of designing and releasing new features and applications.
Little insight into existing applications
Existing data centre servers are often opaque “black boxes” providing no visibility into their software components. Beyond governance problems, this also makes it difficult to bring existing applications into a new cloud strategy beyond a simple “lift and shift”.
Clearing the barriers from your path
It’s little wonder then that many organisations struggle on their cloud journey. Simply rehosting applications in the cloud doesn’t solve these issues—merely shifts them to a new environment. And bringing existing applications into newer, agile DevOps processes seems like a pipe dream.
However, by taking a holistic approach to planning then implementing application delivery and management processes and tooling, you can find the balance of agility and control that you expect from Hybrid IT.
Platform neutrality and codified deployments for no lock-in
This means de-coupling the application from underlying infrastructure to avoid lock in to a specific environment. Modelling application deployments “as code” in a platform-neutral format means they can run in a consistent, repeatable way on any cloud.
Modelling also lets you standardise applications and repositories, building software expertise into a re-usable format—independent of the developers who actually wrote the code—and avoids having to employ or train an army of experts in different cloud infrastructures and tools.
End-to-end automation and autonomics
Partially automated processes already confer efficiency and reliability benefits. However, to automate application release processes end-to-end—from build to ongoing self-monitoring and management in the cloud—you will need to look at your entire tool chain to identify manual processes and bottlenecks then integrate appropriate new tools to increase automation and autonomy.
Self-service, enterprise-ready tools to enable innovation
Instead of repurposing existing tools, or relying on those which lack enterprise functionality (reliability, scalability, security etc.), choose fully-supported, enterprise-ready tools which integrate easily into your existing environment using APIs. Aim to provide developers with self-service IT, freeing up their time to innovate new features and applications that meet your customer needs.
Visibility and transparency for governance and compliance
To meet governance, audit and compliance requirements, you need to retire “black box” servers for good. Look for tools which provide complete visibility into your workload, down to individual components and files, as well as the ability to document and enforce application delivery through centralized repositories and common processes.
As you plan and implement these ideas, it will quickly become apparent that, as far as cloud is concerned, the proverbial journey is as important as the destination. You will be able to define the best infrastructure location for your applications depending on business goals—then re-define it again and again as your goals change, re-iterating each time to balance agility and control as required.
Looking to improve your application delivery processes? Find out how FUJITSU Software UForge AppCenter can help.