Architecture for Deployable Systems
Explore how to architect software systems for easy deployment by focusing on versioning strategies and containerization. Understand how planning for evolving application versions and packaging ensures successful, downtime-free releases in production environments.
We'll cover the following...
Deploying software systems is a task of DevOps and CI/CD processes. Interestingly, it is easier to deliver some programs to the hosting environment than others. What makes the difference? Besides the configuration of deployment pipelines, the architecture of applications also affects results. Therefore, I want to discuss a couple of topics in this lesson that you need to consider when architecting software. These points will either enable or hinder your ability to quickly and adequately deploy applications.
Versioning
An application needs to evolve in versions as a cohesive unit that includes both code and the corresponding database. You should install or uninstall a version when necessary to go to the next or previous working snapshot.
To achieve this objective, you must plan for the evolution path of the ...