Azure Devops for Continuous Delivery
- Drupal, is a platform for web content management across global enterprises and governments. It is flexible and highly scalable.
- Continuous Delivery is a development practice where code changes automatically built, tested, and released to production.
- It expands upon Continuous Integration by deploying all code changes to a testing/production environment after the build stage.
Continuous Integration Key features
- Build Automation
- Deployment Automation
- Daily Commits
- Unit and Kernel tests
- Checking Drupal Code standards
- Updating Database
- Generating Reports
Common challenge for enabling Drupal on Azure
- To make the Software Release Process automated by Continuous Deployment to Microsoft Azure Production.
- The primary task to use Drupal on Cloud as compared to traditional physical servers.
Best solution for Continuous Delivery PipelineContinuous Delivery flow in Production Environment involves -
- Make Merge Request for release to Master Branch.
- Admin approves Merge Request.
- Checkout made to the Master Branch.
- Pull the Latest Code in the Workplace.
- Migrate Database to Update.
- Restart Apache Service.
- Deploy new code successfully on the Production environment.
Adopting DevOps for Drupal Development
Adoption of DevOps for Drupal Development
- Perform small updates frequently to assist teams and address bugs at a faster pace.
- Microservices Architecture for faster innovation and decoupling.
- Leverages Continuous Integration and Continuous Delivery.
- Configuration Management and Infrastructure as a Code.
- Performance tracking through monitoring and logging of the workflow.
- Automated Functionality Tests to verify critical functionalities.
TAO of Microservices in Drupal Development
- Scalability at granular levels
- Autonomous Deployment and Development
- Fault Isolation
- Enhances individual deployment
- Follows pre-defined strategy
- Domain Driven Design to model services
- Ensures data privacy to each Microservice
- Eliminates manual configuration changes
- Groups multiple functions into a single unit
- Assigns different team for each Microservice