We had a Blue/Green deployment process. But migrations were stuck in RDS occasionally. That’s why we had a downtime. I’ve done my investigation regarding the possibility of implementing Zero Downtime Deployment with RDS.

Surprisingly enough AWS does not offer out of the box solution for such situation. So the only one approach I’ve come up with was using AWS DMS (Database Migration Service).

The idea is that we are creating the second RDS DB while deployment process is taking place, cloning the first RDS DB into the second one and doing ongoing replication. DMS is doing continuous replication via transactions…

As our project was advancing we realized the need to enforce a common set of guidelines and practices throughout our team. Today I’ll show to my readers how to make the life of their colleges a little bit harder (but only at the beginning hehe:p).

Configuring frontend(React) linting.

In order to do the frontend linting we need to install the following packages:

npm install eslint babel-eslint eslint-config-airbnb eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-react husky --save-dev

This command will install the essential packages to lint our modified files on every commit.

Then we need to add a couple of configs to our package.json file:


Ticket regarding webpack v3 upgrade was in our Jira for more than 2 years. I’ve tried to upgrade it to v4 earlier but it wasn’t possible due to the structure of our project.

What’s wrong with webpack 4?

Webpack v4 changed the chunking mechanism completely and dropped the support of shared modules from entry points. CommonChunkPlugin has been deprecated as well. And the new built-in implementation of chunking wasn’t suitable for our project structure because of shared modules.

So… a feature ticket had been raised: https://github.com/webpack/webpack/issues/6977. And based on the discussion there webpack 5 obtained dependOn property for entry point configuration which is allowing us…

Aleksandr Zakharov

Passionate Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store