This research is part of five reports looking at the alignment of business and technology within a Digital Business Platform. Other reports will focus on Digital Feedback Loops, how the API is the Product, Rapidly Building and Deploying Applications, Automated Deployments, and Controlling the Operational COGS.]
Premise: “Handcrafted”, “artisanal”, “finely aged with time” are all phrases that have their place describing furniture or food or an evening bourbon, but they should not describe the mindset of how an IT organization deploys and maintains the environment for a Digital Business Platform (DBP). For any digital product to be successful, businesses must vigilantly strive to minimize the burden of the undifferentiated heavy lifting that routinely buries traditional IT applications.
Just as Honda and Toyota were able to use lean manufacturing and highly automated processes to leapfrog the US Big Three in the 1980s, so too have the cloud native companies been able to disrupt long standing industries by leveraging automation as a core tenant of their business processes. And as IT organizations are being pushed to help their companies fight back against disruptive startups, they must understand that the same manual operations of the past will not work as they move into digital product delivery.
Successful cloud-native companies have adopted an automation-first mindset. In addition to reducing costs now, automation drives a mindset that prioritizes programmability of all aspects (infrastructure, operations, APIs) of the Digital Business Platform, thereby ensuring future agility and automation options. Within every platform, high levels of automation deliver five core capabilities:
- Ability to reduce time to market. By simplifying the setup of both infrastructure and application environments, companies can get application into the marketplace faster, lowering their Idea to Execution Time (I2ET).
- Deploying more applications or features. By reducing the friction between development and production, companies can get more new features into their digital products.
- Reducing complexity of the overall platform. Instead of relying on complex manual operations and cross-functional tasks, more aspects of the end-to-end deployment can be standardized and automated.
- Expanding the ability to scale the platform. As applications gain greater usage in the market, the need to scale can be unplanned or unexpected. Manual operations are very difficult to rapidly scale up — or down — in response to uncertain business demand. By having an automation framework in place, as well as access to both private and public cloud resources, applications can be scaled out to new environments quickly and with limited risk to the business.
- Integrate better security and compliance controls. As security boundaries evolve and compliance regulations get more complex, the use of automation can reduce complexity by defining exact, repeatable, documented processes that can be transferred to any areas of the business or any cloud platform. In most cases, highly automated environments will be more secure and better align to regulations than manually configured environments.
Adopting an Automation-Centric Mindset
For application developers, test-driven development is an emerging approach that ties together creation of application function and tests for system-level features. This allows new software to be tested in an automated manner, as part of Continuous Integration / Continuous Delivery (CI/CD) systems. The operations reflection of this trend is called infrastructure as code. This means that instead of manually configuring and maintaining production infrastructure for applications, configurations are created and maintained as executable code that is maintained and tested in the same way as applications. This allows production infrastructure to be deployed using the same automation tools (e.g. Jenkins, GitHub, Chef, Puppet, Ansible, SaltStack, Docker) that are used for applications.
Cloud native applications are best handled with using this multi-function automation approach, which should span all teams impacting the application. According to the 2015 DevOps Survey, the impact on business productivity from high-performing teams (vs. low-performing teams) using high levels of automation are staggering.
Preparing for the Unplanned or Unexpected
One of the core elements of a DBP is the ability to handle unplanned or unexpected business opportunities. New applications often are driven by the business’s goal to experiment with new ideas. While market analysis and data feedback loops can help improve the success of these experiments, they can have variable levels of market success or rejection. In the best-case scenario, ideas, through the experimentation process, will be wildly successful and significantly impact the business. But during ramp-ups or ramp-downs of ideas, the market continues to expect a consistent application experience; load balancing or end-to-end security don’t get the day off because they’re trying something new. Automation provides the means to sustain core operating policies in infrastructure domains that require consistency, even as the business makes changes elsewhere.
Automation is about More than Reducing Costs
Far too often, IT organizations look at automation projects as a way to reduce costs, often by juxtaposing “cost to acquire automation tooling” vs. “cost of replaceable resource salary”. This approach would be understandable if the value of automation was limited only to reducing the costs of performing the specific task under consideration. But the reality is that automation can be beneficial to the business in many additional ways beyond just cost reduction.
- Reducing human errors which leads to application downtime or poor customer experience.
- Reducing human errors which can lead to exposed security threats and loss of critical corporate information.
- Creating environments which can be tested and reproduced on-demand, to simulate market situations or validate compliance status.
- Creating environments in a repeatable manner to remove dependencies on a specific individual or group within a workflow, potentially creating a more worker-friendly environment (e,g. reduce the stress of taking time away from work).
VIDEO: Richard Haigh, Operations Manager for Paddy Power Betfair, discusses how his organizations is embedded compliance requirements into their development and testing pipelines to create auditable and repeatable environments, or as he calls it, “… as Code“, where everything is automated.