THESE INCLUDE, BUT ARE NOT LIMITED TO:
- Reduce IT overhead costs by 30 to 40 percent.
- Help scale IT processes up and down as needed, optimising IT asset usage.
- Improve the overall flexibility of IT in meeting business needs, such as more frequent releases of business features.
- Increase the quality of service through the “self-healing” nature of the standard solutions; for example, by automatically allocating more storage to a database.
- Rehost: Commonly known as “lift and shift,” this option lets you migrate your existing applications to Azure quickly without the risks or costs of making code changes.
- Refactor: Refactoring is a cloud migration strategy that calls for only the minimum new code and configuration changes necessary to leverage Azure PaaS and take advantage of the cloud.
- Rearchitect: Sometimes called redesign or re-platform, this modernization approach extends an application’s code base to optimise the application architecture for cloud scale.
- Rebuild or Replace: This approach suggests starting from scratch using cloud native technologies (i.e., PaaS).
Moving towards modern DevOps practises
- Continuous Integration & Continuous Delivery (CI/CD): Continuous integration is a software development practise wherein developers can frequently merge code changes into the main code branch and employ automated testing to ensure that the code in the main branch is always stable.
- Version Control: Version control is the practise of managing code in versions, tracking revisions and changing history to make code easy to review and recover. This practise is usually implemented using version control systems like Git, which allows multiple developers to collaborate in authoring code.
- Configuration Management: Configuration management refers to managing the state of resources in a system, including servers, virtual machines, and databases. Using configuration management tools, teams can roll out changes in a controlled, systematic way, reducing the risks of modifying system configuration.
- Continuous Monitoring: Continuous monitoring means having full, real-time visibility into the performance and health of the entire application stack, from the underlying infrastructure running the application to higher-level software components. This visibility consists of the collection of telemetry and metadata as well as the setting of alerts for predefined conditions that warrant attention from an operator.