University of British Columbia HART Accelerates Deployments with Koyeb
4 minIn the face of Canada’s housing crisis, the University of British Columbia’s Housing Assessment Resource Tools (HART) set out to make government census data more accessible. By developing more intuitive tools and offering valuable resources, HART plays a key role in providing essential information for governments, housing developers, and the public to make informed, data-driven decisions.
To focus on building these tools and delivering these resources, HART leverages Koyeb, a managed infrastructure platform, to seamlessly deploy their web applications and services on high-performance infrastructure near their end users.
Application Architecture
The HART website, a WordPress site that embeds the Housing Needs Assessment Dashboard, runs on Koyeb. The graph tool is a service written in Python, built with plotly and dash. Plotly is a graphing library that produces high-quality graphs. Dash is the popular Python framework for building machine learning and data science web apps. It's built on top of Plotly.js, React, and Flask.
To manage the data, HART uses SQLAlchemy. The team has 2 databases: one for 2016 census data and one for 2021 data, each storing around 8MB of data. All of the data for this service comes from public government census files and is exported as CSV files. Preparing the data for this service is a manual process in which the data is cleaned up with Pandas. The finalized dataset is saved as an SQLite file, and uploaded to the service running on Koyeb.
Best Home and Infrastructure for Running HART’s Services
HART chose Koyeb for its fast deployments, delivering cost-effective managed deployments on top-tier infrastructure. The GitHub integration and ability to deploy via a Dockerfile are awesome and greatly speed up our deployment times. Also, the interface is sleek and much cleaner than AWS.
Automatic Continuous Delivery and Seamless Deployments
The HART team seamlessly deploys their services by connecting their GitHub repositories to the Koyeb platform through the built-in GitHub integration. HART benefits from Koyeb's native continuous delivery pipeline, which automatically builds and deploys services whenever code changes are pushed to the connected Git repository. This effortless process ensures their updated services are efficiently deployed.
The HART team has a staging and production environment running on the platform. Before rolling out code changes to production, the HART team can test their changes in their staging environment. Once they are ready to push those changes live, they can confidently push them into production.
When pushing to production, the HART team deploys their services in the Koyeb platform’s Washington, D.C. region. Requests from their end users are always first routed to the nearest edge location, and if a cached response is not available, the request is then forwarded to the closest core location.
Automatic Build Processes via Native Buildpacks and Dockerfiles
Initially, HART used the Koyeb platform’s native buildpacks to build their Python services. Today, their services use Python version 12. To enforce this version consistently, they added a Dockerfile to their project to ensure all deployments use this Python version.
Monitoring Performances with Koyeb Metrics
The built-in metrics dashboard in the Koyeb platform provides the HART team with insights into their services' performances. The team can easily monitor the number of requests, response times, and error rates. This helps the team to understand how their services are performing and to identify potential issues.
Koyeb Features Highlighted
- Edge network
- Build from Dockerfile
- Continuous delivery via Git
- Deployments in Washington, D.C.
- Metrics
- Custom domains
- Teams
Ready to Deploy Worldwide in Minutes? 🚀 🌐
Want to deploy your full stack apps, databases, APIs, and workers worldwide in minutes? Sign up and deploy your first service for free.
If you want to learn about HART’s approaches to measuring housing needs, identifying well-located public land for non-profit housing, and preserving existing affordability, explore their website and take a look at their evaluation, tools, and resources.