Case Study

Canadian Digital Service Leverages Docker to Provide Notifications to the Public

Industry: Government
Company size: More than 200 employees
Location: Ottawa, Ontario, Canada

Highlights

  • More than 136 million notifications sent using GC Notify, a notification service run on Docker.
  • Multiple daily app updates and deployment excellence powered by containerized workflows.
  • The containerized approach provides inherent security advantages to meet stringent governmental security standards.

Introduction

Transforming public service, the Canadian Digital Service journey

The Canadian Digital Service (CDS) was created to help change the way the government designs and delivers services for people in Canada. They help teams across governments adopt human-centered and iterative methods and tools that better meet people’s needs, reduce risk, lower costs, and ensure privacy, security, and accessibility. The CDS team adopted Docker, and as customers rely on both the open source product and Docker’s support to complete digital transformation initiatives.

CDS is a team of over 200 public servants, including approximately 30 developers, part of the Canadian government’s roughly 20,000 IT-focused jobs. CDS is part of Employment and Social Development Canada (ESDC), and their mandate is to work with departments and agencies to improve service experiences in the Government of Canada.

Key initiatives led by CDS include developing and implementing platform products; a set of common, open source tools developed to be easily set up, used, and built on by other teams across the government. GC Notify is one of these products- a service that enables public servants to send emails and SMS messages to clients, keeping them informed at every step

In developing these products, CDS confronted several challenges inherent in public sector innovation. These included navigating the complexities of integrating new technologies within existing bureaucratic frameworks, ensuring data security and privacy, and fostering a culture of agility and openness within traditionally risk-averse institutions.

The transformation efforts by CDS underscore the need for strategic decision-making, cross-functional collaboration, and leadership committed to driving change. Through its work, CDS demonstrates the potential of digital technologies to enhance the efficiency, accessibility, and user satisfaction of government services, thereby contributing to a more engaged and informed citizenry.

CDS’s approach to tech modernization reflects broader trends in the public sector and emphasizes the importance of user-centric design, data security, and iterative development. This case is a valuable example for other government entities looking to undertake similar digital innovation initiatives.

Company profile

About CDS

The Canadian Digital Service (CDS) is part of Employment and Social Development Canada (ESDC). CDS builds digital products that solve common service problems and enables departments with technical solutions in support of federal service priorities.

Challenges

Bridging the digital divide in government services

At the core, like most governments, the Canadian government faces the monumental task of updating and modernizing legacy systems that may lag behind modern digital standards. This technical disparity not only undermines the efficiency and reliability of public services but also hampers the government’s ability to innovate and meet the evolving digital needs of its citizens. The CDS team is there to provide assistance as they take on this challenge.

Complicating this tech overhaul is the paramount concern of security and privacy. In an age of increasingly sophisticated cyber threats, efforts to modernize are thus intricately balanced with the need to adhere to rigorous security standards, ensuring that data remains protected in an ever-evolving digital threat landscape.

Historically designed for stability and risk aversion, public sector culture can sometimes be at odds with the changes that digital transformation necessitates. Initiatives by CDS, such as forking GOV.UK Notify to stand up GC Notify — a platform enabling efficient government-to-public communication — exemplify the agency’s commitment to innovation and working in the open.

Solution

Embracing cloud native development for better portability

The adoption of Docker has been a significant step in overcoming these challenges. Docker allows CDS to push changes multiple times daily, test them quickly, and roll back when needed, providing a sane, repeatable deployment process. It enables defining everything as code, with the same container image used in development, staging, and production, with only environment variables changing, providing consistency. Docker speeds up onboarding new developers with tools like dev containers and GitHub Codespaces with Docker Compose files.

Furthermore, the adoption of Docker contributed significantly to addressing the overarching security concerns associated with digital services. Containers’ inherent isolation ensures a secure separation of applications, aligning with the public sector’s stringent data protection and privacy standards.

Key benefits

Icon 07 keybenefits

Enhanced efficiency and cost savings

By leveraging Docker, CDS optimized computing resources, as containers are less resource-intensive than traditional virtual machines. This optimization resulted in significant cost savings and more efficient allocation of technology resources, facilitating broader and more effective digital transformation initiatives.

Icon 03 keybenefits

Improved security and compliance

CDS's containerization approach introduced an additional layer of security, crucial for protecting sensitive government and citizen data. The ability to isolate applications within containers minimized potential vulnerabilities, ensuring compliance with rigorous security protocols and privacy standards essential in the public sector.

Icon 06 keybenefits

Cultural shift toward innovation: Implementing Docker and containerization supported an organizational culture shift

toward greater agility and innovation. Simplifying deploying and managing applications encouraged a more iterative and responsive approach to development within CDS. This cultural evolution is vital for fostering a mindset of continuous improvement and adapting to the rapid pace of digital change.

 

Docker and container technologies enabled CDS to encapsulate applications in self-contained environments, allowing it to update and deploy services consistently across various environments. This method was particularly effective in the rollout of GC Notify, a platform enabling efficient government-to-public communications. Docker containers allowed for quick iterations, testing, and deployment, contributing to the platform's success in sending out over 135 million notifications and enhancing the directness and timeliness of governmental communication.

Thanks to their agile development and self-service nature, a new notification service can be registered and send messages to the public within a day. However, most services will test out GC Notify and remain in trial mode for some time before becoming a live service. Pat Heard, CDS Site Reliability Engineer, notes that this is a process delay rather than a technical one.

This approach simplifies deployments for CDS’s GC Notify and GC Forms (an online form builder) by packaging them in containers. Using multi-stage builds with minimal base images minimizes the surface area for vulnerabilities. According to Heard, Docker itself “just works” and is very stable and reliable for them, with the dockerized parts of their systems causing no issues.

The deployment of Docker and containerization technologies helped CDS address the immediate technical challenges associated with public sector digital transformation and lay the groundwork for a more agile, secure, and innovative approach to delivering government services. Through this strategic initiative, CDS demonstrated the potential of containerization to revolutionize public sector IT infrastructure, setting a benchmark for digital excellence in government operations.

Outcomes and future

Bring digital success to governmental initiatives

The outcomes of CDS’s initiatives have been profoundly positive, marking a significant shift in the public’s interaction with government services. Notable achievements include launching a COVID-19 exposure notification app that prioritized privacy while supporting public health measures, and the development of platform products that help government teams reduce duplication and address common service needs.

One CDS initiative that exemplifies this transformative journey is GC Notify, forked from the open source code of the UK’s Notify service. . GC Notify represents a leap forward in government-to-citizen communication, enabling various government departments to send emails and SMS messages efficiently. This service addresses a seemingly simple but traditionally complex challenge within the government context: timely and direct communication with the public.

GC Notify, a cloud-based platform product, empowers government teams to inform the public through various processes, such as license applications, information requests, and benefits access. This digital notification system allows public servants to create reusable templates and send personalized email and text updates. As of April 2024, more than 50 departments and agencies have utilized GC Notify, resulting in more than 135 million notifications.

Before GC Notify, setting up such communication channels could be a protracted process, involving bureaucratic delays and technical hurdles. It could take up to 18 months to get a primary development environment up and running. GC Notify, however, streamlines this process dramatically. The service acts as a bridge for AWS services, coordinating the delivery of emails and SMS messages in a secure, reliable, and fast manner.

CDS used Docker to build a self-service platform for the entire Canadian government. Anyone with a Government of Canada email address can register an account via self-service, create a trial service, and send messages to their team for testing. The only involvement with CDS comes with the go-live request to make sure the service’s use case aligns with GC Notify’s intended purpose. If everything looks good with the go-live request, switching a trial service to live takes a few minutes.

The GC Notify service not only showcases the CDS’s ability to modernize and simplify government services but also highlights the focus on creating tools that are both powerful in their impact and inclusive in their reach. By enabling direct and efficient communication, GC Notify improves the government’s ability to inform and serve the public promptly, reflecting the overarching goal of the Canadian Digital Service to bring government services into the digital age with a user-first approach.

Looking ahead, CDS is poised to continue its pioneering work focused on meeting Canadians’ evolving needs. The path forward includes continuing to scale and iterate on platform products for public servants, establishing a modern, single sign-in portal for federal government services, and working with teams across government to deliver seamless, secure services to the public.

“Docker allows us to quickly push changes many times a day, test them in a sane way, and roll them back when they don't work. The Docker side is the easiest part of running GC Notify because it gives us all the goodness of Docker."

Pat Heard
Site Reliability Engineer, Canadian Digital Service

“Local development is all done in dev containers and GitHub code spaces. The same image is run as the same container all the way through, and we just change the environment variables as we go. There have been growing pains as we learn what works and what doesn't, but overall, it's very smooth.”

Pat Heard
Site Reliability Engineer, Canadian Digital Service

“When you ask me about a cool feature of Docker, I don't know what to say. It's like asking, 'What's a cool feature of my impact driver? I can put screws in really easily. It does a great job. That’s Docker. It just works and does exactly what it’s supposed to do.”

Pat Heard
Site Reliability Engineer, Canadian Digital Service

“When I initially found Docker, I was excited because somehow I’d become a YAML developer. I just take YAML, run things, and it's easy. I don't have to fuss about who changed what. It's right there in the commit history. I'll roll it back to the previous commit if it's not working. With Docker, everything is just buttery smooth."

Pat Heard
Site Reliability Engineer, Canadian Digital Service

Find a subscription that’s right for you

Contact an expert today to find the perfect balance of collaboration, security, and support with a Docker subscription.