Government agencies have diverse hosting options for modern web applications. Choices range from traditional on-premise servers to cloud-based solutions. In British Columbia (BC) and Alberta (AB), there are two primary choices for cloud hosting: private and public clouds.
What is a public cloud?
In a public cloud model, a third-party cloud service provider offers computing resources (like virtual machines, applications, and storage) to the public. Customers choose what resources they want to use and only pay for that usage. This model outsources ownership, operation, and maintenance of the underlying hardware and software to the service provider.
Public cloud for government
Government teams must carefully consider security, data privacy, and procurement when using public clouds. Smaller teams might find meeting these requirements particularly challenging. To simplify the process, governments often designate secure spaces within public cloud environments that adhere to their strict standards.
In BC and AB, the government manages modified Amazon Web Services (AWS) spaces. These environments offer the flexibility of the public cloud while ensuring data retention, security, and privacy compliance. This provides government teams with a secure and easy-to-use cloud solution.
What is a private cloud?
A private cloud is a cloud computing setup designed exclusively for use by a single organization. It can be located within the organization's own data center or managed off-site by a third-party provider. Unlike public clouds, private clouds operate on a dedicated network, offering exclusive infrastructure and services.
Private cloud for government
Government agencies often favor private clouds for their superior control over data and infrastructure. This makes them ideal for sensitive operations with strict security, privacy, and regulatory requirements. The exclusivity of resources allows governments to customize their IT environments for a high degree of security and privacy.
BC and AB rely on Red Hat’s OpenShift as their private cloud platform, streamlining application deployment. OpenShift's container-based approach simplifies development, scaling, and management. Application management is self-service, empowering teams to deploy quickly and enhance service delivery. OXD's work on BC's Online Divorce Assistant Application (created on OpenShift) demonstrates how this technology can be used to simplify complex processes for citizens.
While governments manage the platform itself, this model frees application teams to focus solely on development and optimization, accelerating service delivery within these provinces.
Choosing between private and public clouds
The right choice depends on your project's specific needs. Key considerations include:
Security
Both public and private clouds offer secure environments. The BC government's public cloud spaces meet “Protected B” standards, while their private clouds offer even greater isolation, making them ideal for highly sensitive data such as those classified as “Protected C”.
Performance
Both cloud types support scalability; public clouds excel in high-performance needs due to their extensive scalability. Private clouds, on the other hand, are limited by scalability and performance of the underlying infrastructure managed by the government. However, our recent load tests on BC's OpenShift environment show that it can handle substantial traffic, making it ideal for most government applications.
Integration
Public clouds like AWS or Azure struggle with direct connections and slow performance to internal government services. Our tests showed communications between services hosted in AWS East and services hosted on government data centers in the West took six-times longer than services hosted in the same region. In BC, the recommended approach is private cloud hosting, which is designed to facilitate a seamless direct connection to internal services hosted on government data centres.
Features
Public clouds offer a wider variety of services, such as serverless functions, which might not be available on private clouds. If your project requires diverse functionalities, public clouds should be considered in the decision-making process.
Team expertise
Consider the skills of your team when choosing private or public clouds. For example, in BC, the platform team not only manages OpenShift but also provides comprehensive 24/7 support, educational workshops, and proactive app monitoring. This vastly simplifies user requirements compared to public clouds like AWS, where teams would need more specialized and comprehensive training.
Operational capabilities
With private cloud, the government handles most of the underlying infrastructure and platform software, simplifying management for teams. Teams deploying to a public cloud need to manage all the resources they utilize, which can be operationally more demanding.
Budget
The public cloud operates on a pay-per-use model that can escalate costs for government teams. The private cloud may offer more advantageous cost models for teams. For example, BC's private cloud, powered by OpenShift, is an excellent choice since it’s free for government teams.
Disaster recovery (DR)
Private cloud typically includes a specific DR cluster with geographic redundancy and automated failover. Replicating the same level of DR on AWS or other public cloud requires a further level of expertise on the team, and substantially increases costs.
Choosing the best cloud strategy for government
The choice between private and public clouds in government is about finding the perfect fit. Consider security, scalability, required features, your team's expertise, operational ease, and budget. Private clouds excel in security and control, making them ideal for sensitive data and applications. Public clouds shine with scalability and diverse services, good for larger teams and less sensitive, high-demand applications.