Created
March 31, 2023 09:54
-
-
Save wilfi/a4455e02751cf3dcd9eefcd5d249ddf8 to your computer and use it in GitHub Desktop.
SDLC - Best practices with Drupal based application
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In this session I’ll be covering some | |
of the best practices for software | |
development with Drupal keeping in | |
scope the below cycles | |
1. Implementation strategy | |
2. Development | |
3. Maintenance & Contingency | |
Under Implementation strategy I’ll talk | |
about | |
Getting raw requirements of a project | |
and how to architect it with Drupal and | |
its module ecosystem. I’ll cover about | |
the importance of using Profiles & | |
Distributions, the migration strategy, | |
FE vs BE timeline and Multi-customer | |
scenarios. | |
Will deep dive into Multi customer | |
scenarios with the below 3 options | |
1. Single codebase, single database | |
2. Single codebase, separate databases | |
3. Separate codebase, separate | |
databases | |
I’ll try to related decoupled | |
architecture with these scenarios as | |
its one of | |
the main use case where customer will | |
be having multiple channels and single | |
source of truth. | |
Under Development I’ll talk about | |
1. The importance of having a | |
Development environment which is | |
consistent | |
across the dev team. Will give a brief | |
overview of some of the best in class | |
dev setup like Lando, DDev, VirtualBox, | |
Docker, DrupalVM, Acqua BLT etc | |
2. Then I’ll go through the importance | |
of version control and composer managed | |
project and best practices with version | |
control. | |
3. Then I’ll talk about why the | |
development style shouldn’t be | |
compromised | |
inorder to achieve extensibility. Will | |
cover few scenarios about when to build | |
a patch vs when to add a new issue on | |
module issue queue vs when to extend | |
the | |
module’s functionality in custom | |
module. | |
4. Then I’ll cover best practices while | |
dealing with database queries and why | |
developers don’t have to deal with the | |
details of physical design of the | |
database. | |
5. Then I’ll talk about best practices | |
while the project is in QA and why some | |
of the projects can’t go past QA. I’ll | |
explain the concept of Continuous | |
integration and will take Jenkins as an | |
example. I’ll also brush upon Release | |
(continuous delivery) and will share | |
the strategy before performing any | |
updates | |
or upgrade on prod environment. | |
Under Maintenance & Contingency I’ll | |
talk about | |
How the website can be kept up to date | |
and DR plan. | |
1. I’ll cover the cron jobs and what | |
are the usual automated tasks Drupal | |
will | |
run like search index, feeds import | |
etc. Will explain what is a poorman’s | |
cron | |
vs an actual server triggered cron job. | |
2. Finally I’ll cover the activity | |
needed for disaster recovery like | |
taking | |
regular backups, automated snapshots, | |
hosting in multiple regions/ zones etc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment