What is Netlify and Why Did We Start Using It?
Netlify is a platform for web developers and designers that offers hosting and serverless backend services for web applications. At Azavea, we use it to build, deploy, and scale some of our web-based projects, particularly where we do not need a backend or data persistent service. We first started using Netlify when we were looking for a lightweight and performant alternative to our complex technology stack typically consisting of a database, front-end and back-end tools, and more. So far in the projects where we have used it, our clients have been particularly pleased by our applications, commenting on the responsiveness and strong visual appeal.
Here we will outline the specific benefits of using Netlify and where we have applied it. In doing so, we hope to highlight where it can add value and help fellow developers and designers understand when Netlify is a good fit for a project.
Azavea’s Top Use Cases for Netlify
As a geospatial software company that builds custom, state-of-the-art tools, we frequently consider what platforms will allow us to effectively display geospatial data. Many of our projects center around processing and presenting data in a user-friendly web application. Below we highlight the specific circumstances in which Netlify can simplify the build process for our software engineers. We will walk through each of these use cases and provide an example of one of our own projects the Gender Equality at Home platform that we built for Meta and Ladysmith.
Process Static Data
We frequently build applications that process data and then produce a report or display the data on a map. For some projects, the data we use is fairly static, meaning that it is updated relatively infrequently and is not associated with user accounts. In these projects, the application can be run entirely on Netlify. However, If the data were not static and we had to focus more on processing dynamic data, Netlify would not be included in our typical workflow. When we are working with dynamic data, we must integrate with a back-end application and database along with the front-end application. Here, we typically use Django with a PostgreSQL database.
For the Gender Equality at Home platform, we took data gathered from a survey conducted by Meta to get a better understanding of how COVID-19 has impacted progress towards gender equality, and more generally to capture household gender dynamics around the world on an annual basis. As this data was fairly static and only updated once a year, it made sense for us to use Netlify to build and host the platform since this project did not require a backend web server.
Focus on Data Presentation
For projects where engineers are mainly focused on data presentation and visualization, as opposed to integrating an application with a database, we can use Netlify as a push-button for deployment so we can focus on the visualization. As mentioned above, there are some projects where we do not need to connect to a complex database or backend web server. Instead, we need to focus more on building strong presentations of static data. In this case, Netlify is a great tool to use to simplify our infrastructure and the deployment process. Simplifying the operational side allows engineers and designers to spend more time working on data visualization: the main goal in many of our projects.
In regard to the Gender Equality at Home platform, we were asked to visualize a complex dataset gathered from the survey conducted by Meta. These visualizations would then be used to inform gender equality research and policy advocacy. It was therefore critical that the visualizations allowed users to easily derive insight from the data. Much of the work in this project concerned representing the data in charts and Netlify allowed us to dedicate the time that we needed to the graphical representation.
Build a Significant Front-end Piece
In our iterative process, we meet regularly with our clients to review work. Following these reviews, we often need to make front-end changes quickly. Netlify handles this well as their Deploy Preview feature automatically creates a preview for each pull request. This feature allows reviewers to view the pull request exactly as it would behave in production. Therefore, the reviewer does not need to run the branch locally to see the results of a code change. We did not need to build the Gender Equality at Home platform locally to view changes from a pull request or deploy the application to see it running in a production-equivalent environment. Typically, to review a pull request, we would pull down the code, run the application locally, and only then be able to review the changes. With Netlify Deploy Preview, we can simply click and view, allowing us to implement changes substantially faster. This also empowers non-developer stakeholders, such as designers, project managers, and even end-users, to participate in the development process by offering feedback on the previews.
Other Use Cases for Netlify
In addition to being an excellent static site host, Netlify also offers the ability to run select back-end code on-demand via Netlify Functions. We look forward to finding the right client project to explore this feature, which allows for more complex architecture and interactivity than static sites while maintaining the simplicity of deployment infrastructure. As we continue to build modern web applications for our clients, we will explore how else we can use Netlify to bring value to our team as well as the client.
We hope this will be useful to fellow engineers assessing whether or not to use Netlify to host their web-based applications. We plan to use Netlify in future projects that fit the criteria discussed throughout this blog post, and recommend it to our peers in the tech for good community.