The issue is about our experience and partnerships with QS company, which owns three websites with millions of users.
Well, there could be a nice design and accessible features, but if the end-user can’t get the needed information fast, it’s a real problem.
But how to make sure, that site can be running fast if it’s a worldwide giant with a million users every day?
How can one domain hold that much information and what can the architect and development professionals do for that?
Even a small team of professional developers and architects can heal a website and make it more performant. The website continues to work and generate income while a team of professionals is working on its evolution.
This is a complex task, which can be compared to the one when completing an airplane that is already in the air. Of course, it would be much better to build a perfect site with all the features right away, but is that possible in the digital world that is constantly moving forward?
Solving the problems of an existing website by optimizing the architecture includes not only improving the functionality of the site and saving resources but also the search for architectural mistakes, one of which is the incorrect use of site caching.
To create new features on the site, we needed a solid foundation. If there is no coordinated system, if the hosting provider stops handling the data, then the site can stop working at any moment. It is very upsetting when worldwide sites are unavailable to users for several hours or even days. After all, every hour is thousands of users, and therefore a lot of business income can be lost.
To solve the problem, architects and programmers will have to:
- analyze the site system and find weak points in it;
- fix site caching misconfiguration errors;
- improve code quality and team efficiency;
- implement code review to eliminate system mistakes;
- contribute to QA process improvement;
- work closely with the development team to fine-tune the process and avoid mistakes in the future.
CI / CD for websites as an implementation of new features and functions on the working site.
Continuous Integration, Continuous Delivery, and Continuous Deployment bridge the gaps between development and operation activities and teams by enforcing automation in the building, testing, and deploying of applications. CI/CD services compile the incremental code changes made by developers, then link and package them into software deliverables.
Creating a system that allows managing servers is very important.
The Jenkins platform is suitable for server management.
Jenkins automatically updates code branches to the repository and runs tests. This is done automatically at the specified time.
Jenkins is an open-source Java program. It allows you to automate part of the software where human assistance is not required. At the same time, it provides the function of continuous integration. The aim is to increase early defect discovery, increase productivity, and provide faster release cycles. Jenkins cookbooks can be implemented with the code repository and available for edits by demand.
CI/CD could help a team of professional architects and programmers to make changes to the site and fix the code without harming the operation of the site. After all, the process of continuous integration and testing helps to quickly eliminate all malfunctions. So this is the opportunity to fix the plane in the air so that the passengers do not suspect any issues.
Drupal 9 upgrade
For the site to work smoothly and be safe for the users, you need to take care of updating the software.
Of course, to monitor the site, there are collection and analysis programs, and graphs such as Grafana, which can help to understand whether the servers are working normally.
But for sites with an audience of millions, it is very important to update the core in time. Currently, sites running on Drupal can update their data to the latest Version 9.
Important update steps for Drupal core upgrade (version 9):
- Removal of Drupal 8's deprecated APIs
- Removed deprecated/unused modules
- Follow the changes to core themes and theme APIs
- Fix backend (PHP) dependency changes
Knowledge transfer for the team using it
Even though all changes are designed to improve the quality of the site, development teams often resist them. This is because people always resist changes, even if these changes are for the better.
The new approach takes more time. And because of the desire to save time and do everything quickly, teams forget about the quality of the code and the website in general.
But teams of professional architects and developers use the best practices, which include code review and explanation.
In this system of changes – this is the most complex task.
Thus, by following the basic rules of working with sites, which include updating the core, fixing the cache, repairing architectural mistakes, and introducing best code practices plus reviews, there is an opportunity to solve the problem of the performance of the web application, even if this app serves millions of users every day. On a site with a strong structure and deployment system, it's easy to implement new features. It's a complex job, but it can be done even by small, but wise professional teams.