An important benefit that comes from creating a pattern library and embracing architecture as code is that application developers no longer need to care about the underlying plumbing. There is no need to worry about whether the application is running in a container or a VM or is it on-prem or off-prem. Instead, developers can focus on shipping code that drives business value and can trust that their apps are in fact providing the as advertised QoS.
There is a huge cost benefit as well. A large chunk of the IT costs for creating an enterprise application comes from building the underlying plumbing. With patterns, that cost is freed up and can be redirected to focus on higher-value work. By decoupling the application from the plumbing details, IT Operations has the flexibility to optimize workloads with little fear of breaking applications.
This is critical as enterprises migrate to the cloud, an enterprise-wide pattern library becomes an abstraction layer. As long as the pattern's capabilities are consistent across off-prem and on-prem, applications can be seamlessly moved around, enabling a true hybrid cloud.
Architecture as code is an inherent capability of Platform as a Service (PaaS), cloud management services, and the emerging container ecosystem. Though some enterprises have deployed these technologies, only a fraction of the enterprise applications have been successfully migrated. Many enterprise applications are still in production running on manually created snowflakes that are still causing fire drills. Regardless of whether an enterprise leverages the capabilities of an out-of-the-box PaaS, or their own architecture-as-code solution, patterns enable enterprises to embrace three simple principles:
- Keep it simple: Patterns eliminate much of the manual work, and fewer moving parts will lead to a simpler, more stable environment.
- Get out of the IT integration business: Patterns enable app teams to focus on shipping code that drives revenue and higher-value business outcomes. Mastering the art of configuring an operating system or integrating an application server with an enterprise service bus, provides no sustainable differentiation for the business.
- Eliminate the fire drills: Patterns enable speed, consistency, and repeatability across dev, test, and production. Senior technologists spend less time being pulled off of their work to debug the differences between snowflakes, and can spend more time focused on delivering higher-value business outcomes.
Sign up for CIO Asia eNewsletters.