Strategies for reverting changes in production

Carlos Solís

Carlos Solís

Writing code is a complex task that, despite having quality control systems and peer reviews, always carries the risk of an error reaching production. It is crucial to have effective strategies to avoid these issues and clear methods to revert errors when they occur.

In this article, we will explain how to prevent errors from reaching production and how to revert errors that manage to escape.

1. Create a Multi-Review Workflow

Peer review is an essential strategy to minimize code errors. Implementing a multi-review workflow means establishing a system where several people can examine changes. This approach allows potential issues to be detected before they reach production.

First, ensure that your team is well-trained in code review. All developers should be familiar with best practices and coding standards. Additionally, assign specific reviewers for different parts of the code. This way, each segment of code receives a detailed and specialized review.

Moreover, use tools that facilitate code review, such as version control systems and code review platforms. These tools allow reviewers to suggest changes, leave comments, and approve modifications before they are integrated into the main code. It is also important to assign responsible parties for the publication, ensuring that all reviews and suggestions have been addressed before giving the final approval.

2. Implement a Version Control System

A version control system is essential for managing changes efficiently and with peace of mind. This system provides traceability, meaning that every modification in the code is visible and can be tracked.

With an adequate version control system, you can revert any unwanted changes. If an error goes unnoticed during reviews and reaches production, the version control system will allow you to quickly identify the cause of the problem and revert the code to a stable version.

Git is one of the most popular and robust version control tools. Using Git allows you to create branches for new features or bug fixes, test those changes in isolation, and then merge them with the main branch only when they are ready and approved. Additionally, Git maintains a complete history of all changes, making it easy to revert to previous versions of the code if necessary.

3. Establish an Error Mitigation System

A robust error mitigation system must include procedures for both detecting and correcting errors. Additionally, it should provide a quick and efficient way to revert problematic changes and return to a stable version of the code.

One of the key aspects of this system is automation. Implement continuous integration and deployment (CI/CD) pipelines that include automated tests. These tests should cover both individual units of code and the complete system integration. This way, any error can be detected immediately during the integration process, before the code reaches production.

Furthermore, it is essential to have a clear and well-documented procedure for reverting changes in production. This includes having regular backups of the database and the entire system, as well as the ability to perform quick rollbacks. If a serious error is detected in production, you should be able to revert the changes to a previously tested and stable version, minimizing the impact on users.

How to Revert Changes in Modyo

In Modyo, you can apply the entire mentioned workflow with different tools, all available in both the content sections and the widgets and pages. This ensures that both your frontend code and content are always protected.

1. Team Review

The Team Review function in Modyo allows you to set up a change workflow where every modification must be approved by other team members. This ensures that each change is reviewed by multiple eyes before being implemented. You can configure this function so that specific users must approve the changes, ensuring rigorous quality control.

2. Difference Control

In Modyo, using our versioning tools, you can examine in detail which modifications have been included. We use a visual system similar to GitHub, making it easy for any developer to recognize the differences. This difference control allows developers to understand exactly what changes are being made and how they will affect the overall system.

3. Reset and Rollback

Modyo offers robust options for handling errors. You can revert the editable version of any change before it reaches production. In case an error reaches production, you can perform a rollback to return to a stable publication of your content. This process is quick and efficient, minimizing downtime and ensuring that users always have access to a functional version of the system.

Now you know how to minimize risks and efficiently manage any errors that may arise in your projects with Modyo. A proactive and well-structured approach not only improves code quality but also increases confidence in your development and deployment processes.


Photo by Pawel Czerwinski on Unsplash

Other Developer Tips

Channels
Carlos Solís

Carlos Solís

Customize your UI in Modyo with Modular CSS

Customizing the look and feel of your Modyo application is essential for creating unique digital experiences.

Liquid
Felipe Meyer

Felipe Meyer

Using Liquid on Modyo

Liquid is an open source template language created by Shopify and written in Ruby. At Modyo we use this language to add dynamic capabilities to our digital channels.

Tutorial
Carlos Solís

Carlos Solís

How to use reCaptcha on Modyo

In today's digital world, safeguarding websites against spam and malicious automated access is more crucial than ever and reCAPTCHA has become an essential tool in this effort.