UW-IT teams plan approach to container-based applications

August 5, 2019

Container technology has had a significant impact on automating software delivery practices. As Docker and Kubernetes have become de facto container standards, automated pipeline tools have emerged that can result in increased speed and reliability of application release and operation. Vendors, including Amazon, Microsoft, and Google, now provide managed Kubernetes services that simplify the complexity of running container clusters.

In response to the opportunities presented by container technology, the EA team worked with UW-IT application and infrastructure teams to develop a discovery project. In an eleven week period from May to July, 2018, teams from across UW-IT participated in a project to assess the viability of leveraging container-based applications (CBAs) in the organization.

In partnership with the UW-IT PMO, the EA team ran weekly three hour working meetings to develop an assessment framework and review research on application containers conducted by project team members.

The outputs of the project are a reference architecture and a whitepaper.

TheĀ reference architecture provides recommendations to application teams considering CBAs and shared services teams considering how best to enable CBAs regarding:

  • Scenarios in which CBAs are recommended
  • Team readiness, roles, and responsibilities for using CBAs
  • Effective and safe configuration of container clusters (such as accounts, clusters, pods, services, and networking)
  • Design of container based applications in different scenarios
  • Use of an effective pipeline for changes to applications and clusters

TheĀ whitepaper recommends a roadmap for opportunistic adoption of container based applications (CBAs) by UW-IT on behalf of the UW. That roadmap consists of three phases:

  • In Phase I (Early Adoption), we expect that a handful of application teams will adopt CBAs, relying on their own learning and the recommended reference architecture, with minimal change to shared services.
  • In Phase II (Invest in Expertise), UW-IT should support increased adoption of CBAs through training, consultation, and some growth in shared services.
  • In Phase III (Containers as a Service), UW-IT should develop an infrastructure shared service that enables teams with limited expertise in infrastructure to run applications, enabling the widest adoption.