Region
Australian Flag
AU
New Zealand Flag
NZ

Continuous Deployment: Embrace Automation

The Traditional Deployment Tango

Historically, application deployment was akin to a carefully choreographed dance involving numerous steps:

  1. Building the Package: The code is compiled into a deployable package.
  2. Signing the Package: The package is signed to ensure its integrity and origin.
  3. Routing Traffic: Users are temporarily diverted to a secondary service to maintain availability.
  4. Stopping the Service: The primary service is halted to apply updates.
  5. Installing the Package: The new package is deployed onto the server.
  6. Starting the Service: The updated service goes live, and users are rerouted back.

SQL deployment followed a similarly meticulous process, including the creation of databases, schemas, and the execution of data pipelines. This manual method was not only time-consuming but also placed immense pressure on the deploying personnel, leaving no room for leisurely chip munching or leisure watching.

The Pain of Manual Deployment

Manual deployment was fraught with challenges:

  • Labor Intensive: Copying, pasting, and executing scripts across environments was tedious.
  • Sole Responsibility: The deployment burden often fell on a single individual, making the process risky and stressful.
  • Last-Minute Issues: Problems frequently surfaced just before hitting production, derailing timelines.
  • No Time for Downtime: The intense focus required meant no time for relaxation or entertainment.

The Rise of Automated Deployment

Enter automated deployment, a game-changer that revolutionizes the deployment process:

  • One-Click Deployment: Deploy with the ease of a single click, freeing up time for other important deliverables.
  • Shift Left Approach: Responsibility is shared across the team, ensuring continuous deployment throughout stages.
  • Proactive Issue Detection: Early warning systems identify potential deployment snags before they escalate.
  • Automated Testing and Feedback: Continuous integration and delivery pipelines facilitate automated testing, offering real-time feedback on code quality and facilitating more frequent releases.

Tooling Up for Success

The transition to automated deployment is supported by robust tools:

  • Flyway & Liquibase: Both offer community editions, with commercial versions providing additional features like rollback capabilities and advanced scripting options. Flyway, in particular, is favoured for its minimal impact on existing SQL scripts and straightforward file renaming approach.
  • Comprehensive Ecosystem: Integration with Maven for dependency management, Git for version control, Azure Data Factory for data pipelines, and Azure DevOps for continuous deployment creates a cohesive and efficient deployment pipeline.

Why Flyway?

Flyway is chosen for its simplicity and minimal disruption:

  • Minimal Script Changes: Existing SQL scripts require little to no modification.
  • Simple File Renaming: A Python script can easily rename files to meet Flyway’s conventions.
  • Changelog Tracking: Flyway’s changelog mechanism ensures reliable tracking and application of database changes.

Navigating Challenges

Adopting automated deployment isn’t without its hurdles:

  • Technical Know-How: Familiarity with Java, Maven, and Azure DevOps is essential.
  • Security Concerns: Be ready to liaise with security teams to ensure compliance.
  • YML Complexity: While YML files can be intricate, they are manageable with the right expertise.

Conclusion

The shift towards automated deployment heralds a new era where developers can confidently deploy changes with minimal hassle, ensuring both software quality and personal downtime. So go ahead, embrace the future of deployment, and enjoy your leisure time to the fullest.                           

For Information on the above topic please check our youtube video and contact Altis if you have any further questions.

Share

Facebook
Twitter
LinkedIn
WhatsApp

Leave a Reply

Your email address will not be published. Required fields are marked *

We use cookies to improve your experience and support our mission.
Read more about it here. By using our sites, you agree to our use of cookies