Modern information technology (IT) success requires the right investment in infrastructure and tooling. Beyond the tooling, however, the real benchmark for accomplishment lies in the successful development, deployment and operation of applications that power an organization. Ultimately the applications are what drive value to customers, partners and employees.
The challenge for IT becomes how to combine available technologies to empower development teams to do their work and successfully operate the resulting applications.
Thinking of the overall organizational IT capacity as an application environment that spans the various cloud locations, on-premises resources and technologies deployed seems daunting. However, it provides a very useful lens through which to look at long term IT strategy.
In a recent eBook we provide an overview of some of the top planning considerations that help enable success in planning for complex hybrid cloud environments. As an example, here are three of the eight key strategy areas we often see customers considering:
Design for self-service: As applications are deployed in more locations to form "building blocks" for other processes, it becomes critical to allow other teams to access them quickly. The less time individuals need to wait for access, and the lower the bar of technical know-how is, the more likely it is that reuse will happen. The ability for quick and easy re-use can affect application development productivity in three ways: 1) reducing the chance other teams will build a replica of the service in question,2) broadening the potential user-base of re-use of the system and 3) speeding up development by removing roadblocks.
Figure: How Self-Service are your IT Systems?
Have a product mindset: In the high-pressure, continuous operational environment for IT workers, it feels good to complete a list of projects. This approach makes sense for one-off issues or tasks, but in today’s IT environment, applications often need to become durable services on which other teams continually rely. Even though these systems are not customer-facing (and in many cases may seem mundane), applying a number of standard product management processes to them can improve their re-use and value to the company, not to mention the reliability of other systems. Having clear owners, tracking users and usage, publishing roadmaps and determining expected service levels all make using these systems a better experience for everyone.
Constrain the right things to enable freedom elsewhere: Constraints in an IT environment typically sound negative to developers and positive to operations teams that want to reign in wild behavior. Picking the right constraints, however, can be beneficial for both groups. Specifically choosing conventions for interface design and key elements of security, enables teams to make better assumptions about what to expect from every new system they encounter. This can enable more productivity by building up shared conventions. It can also improve system reliability by reducing the number of edge cases. While some rules may chafe certain projects, picking the right areas for constraints is potentially liberating in other areas (for example, allowing a new service to be built in a new development language).
The importance of each of the strategic considerations varies for each customer, but we hope that together they provide a useful framework for considering strategy that captures both the horizontal dimension of multiple cloud locations and the vertical dimension of making applications and infrastructure work seamlessly together.