This document summarizes the change management process used to migrate apps developed for the MyUW uPortal product portal from development through testing and into production. It includes important information on the timeline and communication steps.
The MyUW portal serves over one million unique logins each month. In addition to constant uptime, our users have come to expect an intuitive and valuable user experience. The MyUW Service team uses a robust change management process to ensure these outcomes. The MyUW uPortal change management process migrates applications developed for the portal through the development, integration, testing, acceptance, and deployment phases of the Systems Development Life Cycle. The process relies upon documentation and repeatability to ensure consistency in a multi-tenant system. Our campus partners actively participate in this collaborative process and play a key role in maintaining the high quality of the service. This process enables MyUW to update frequently without interruption to the service.
We work collectively to minimize the risk of an outage or a regression during the migration of changes. Key aspects of the process are submission of Migration Requests, active testing and verification, and notification of approval. The process is designed to be reliable and repeatable. Shortcutting parts of the process can lead to problems that not only affect the application being migrated, but other tenants hosted within MyUW uPortal.
The MyUW uPortal Infrastructure Team maintains four tiers of server environments to support the change management process: TEST, QA, PROD STAGE, and PROD. Much of the development can be done independently in local development environments. Developers can test their applications in a shared TEST environment by committing their changes into source control. The Infrastructure Team sets up continuous deployment automation during the bootstrapping step for new applications. When the developer is satisfied with the state of an application on TEST, they can begin the process of migrating to QA.
Developers indicate code is ready for testing and verification by submitting a JIRA Migration Request and moving the ticket to ‘Approved for QA’. The MyUW uPortal Infrastructure Team will address the ticket on an as-available basis. Changes can typically be staged to QA within two business days. To expedite this process, the developer is encouraged to submit GitLab Merge Requests for QA and PROD in their project’s overlay repository. The developer should include links to these Merge Requests within the Migration Request ticket. Developers can track their Migration Request on the Migration Board.
Once deployed to QA, the developer is responsible for testing and verifying expected behavior. If the change may affect the the way the application interacts with the portal (or other tenants), the developer is encouraged request assistance from the Infrastructure team in assessing the impact of the change. When the quality of the change has been verified, the developer can move the Migration Request ticket to ‘Approved for PROD.’
Migrating the code to the QA tier is a test drive of the process that will move it to production. After a Migration Request is approved, the MyUW Infrastructure Team will stage the change in the Production Staging environment. Similar to the QA migration, the developer is responsible for testing and verifying behavior in Production Staging. If no problems are found in the staging environment, the change will be included within the next scheduled production deployment.
The MyUW Service Team schedules production deployments during a routine Tuesday morning service window between 5AM to 7AM. These deployments are performed without an interruption in the service’s availability by using a Blue-Green deployment strategy. If at any point during the deployment, the new release is found to be problematic, the deploy is aborted and the servers remain on (or are rolled back to) the last known good configuration. Migration Requests should also capture any back-out plans specific to the change being migrated. Developers should approve a Migration Request to production the week prior to the anticipated deployment date. Emergency changes on tighter timelines are possible, but should be rare and exceptional. Migrations that do not leverage the testing opportunities within the change management process increase the risk of a flawed execution.
The MyUW Service Team prefers as much notice as possible about new applications being developed for MyUW uPortal, with initial deployment dates being specified at least three weeks in advance. The MyUW uPortal Infrastructure Team requires this time to be able to incorporate the bootstrapping work into its routine workflow. This time should also be used to prepare the Help Desk to support the new application.
Both the MyUW Service Team and uPortal Infrastructure Team continue to work on improvements to the change management process and the service overall. We welcome feedback on how improvements that make it easier for you to develop, deploy, and manage apps in MyUW uPortal.
If you have questions or need more detailed information about MyUW change management within our uPortal product portal, send an email to MyUW@office365.wisc.edu.