How to: Development: Deploy new code / Install add-ons

If you want to upload the new version on the website, or new add-ons and some modifications, you need to keep in mind the several rules

  1. Don’t do any release at Friday. There is a high risk that you can’t get fast support from your developers at weekends, for example. [1]
  2. Don’t do code/add-on deploy at the end of the workday. There is a high risk that you can’t get a hold on the problem at night :(
  3. Do a code/add-on install at the time within website minimum users load time of day. It will help make the tests, regenerate cache [2] without tests on real customers, who don’t return on your website in case of error.

Also, for the best release without downtime we recommend

  • Get a development/test environment, separated from the live website/server. [3] [4]
  • Implement CI/CD processes to your development workflow. [5]

CS-Cart cache regenerating issue

In case of install/reinstall/delete any add-on in CS-Cart, the core force cleaning up the cache (or, for example, if you have cleaned up the cache from the admin panel manually). This is ok, but if a website is live and has a lot of online customers at the changes time, it will make issues for the website stability and it can lead to website unavailability.

Let me explain what happens:

  1. Add-on was installed/reinstalled/deleted by administrator or developer; or cache was cleaned up from the admin panel manually
  2. The cache was cleared by CS-Cart core and a customers stay without CS-Cart cache [6] (which needed for the CS-Cart working process)
  3. All customers start creating the cache simultaneously, which creates the queue and locking for them. Also, here creates a lot of queries to the database, which can lead to long answers or database unavailability.
  4. The customers see long answers to the website or closing page (error/blank page)

CS-Cart thumbnails regenerating process

In case of cleaning the thumbnails, the server will create new thumbnails for every product (sometimes here a lot of images) and in case opening the category page or search results the thumbnails will generate massively that can lead to excessive server load and possible website unavailability.

We can recommend cleaning the thumbnails only at the minimum load time (like night) and only in case the high need. And “warm-up the cache/thumbnails” [2] after cleaning for generating the new one.

If you like to live dangerously

If there’s no way to convince you to give up Friday releases, we have only one advice for you – set up a proper monitoring system. It will tell you when the store is down, or when something’s wrong with resources utilization.

The one we use for AWS Cloud hosting clients monitors almost two hundred parameters of the servers 24/7/365 and alarms us for problems. Thanks to log files we know exactly what happens on every server and can quickly find the cause of the problem, fix it or roll back to backup, for example. The system also watches for security issues – suspicious activities or accesses. You can call us overprotective, but we have another monitoring system that watches the primary monitoring system.


[1]We Say No to Friday Releases
[2](1, 2) Open the main page of your website, pages of categories, some products from the main page, do a search, and a test checkout. Make several actions like a real customer :)
[3]Why we recommend having separate “development” and “production” environments
[4]How make your project more secure: Development on the production websites
[5]DevOps Will Help Your Business Develop if Done Correctly
[6]Cache at the CS-Cart is it pre-generated blocks of PHP code

---
If you have a problem, need assistance with tweaks or a free consultation, if you just want to discuss your project with experts and estimate the outcome, if you're looking for a solution that reinforces your online business, we will help. Email us.