Application Lifecycle Management (ALM) describes the management of software application development and its three main phases -- requirements, development, and operations. Application development is managed from beginning to end in ALM, from development to deployment and decommissioning.
ALM is not specific to the DevOps and Agile approach, so any organization can implement it in whatever software development environment they use, such as CenturyLink Cloud, Amazon Web Services (AWS), or something else. But, ALM complements DevOps in unique ways.
ALM and DevOps
DevOps is a combination of software development and IT operations; its practice emphasizes collaboration between developers, analysts, engineers, and other IT professionals when developing and automating software and applications. It also emphasizes iterative development as a way to create a fast turnaround time for deployment.
At CenturyLink, our teams use this continuous integration and continuous deployment (CI/CD) approach, where the focus is on releasing a "base" or "beta" application, then continuously releasing features as they’re developed. Each release goes through quality assurance (QA) and testing. We use different tools to automate testing, builds, and releases, such as Jenkins, Github, Chef, etc., as automation is integral to DevOps.
ALM supports the DevOps approach and Agile model by providing a universal platform with centralized visibility into the application and the entire development process. Specifically, the ALM framework provides a methodology for developers and engineers to control and record iterative development.
Rapidly-changing requirements in IT development require systems that allow teams to have access to the infrastructure and the means to quickly view it at different stages across different providers. At CenturyLink, we use Cloud Application Manager to facilitate ALM by allowing teams to view all their cloud resources from a single interface.
What Cloud Application Manager Does for DevOps
This cloud management functionality frees teams to innovate and create by reducing the time they spend managing the ALM process. Tasks like spinning up servers and other maintenance tasks that take up staff time can be automated so teams can focus on developing new features and discovering new ways to innovate in the market. With Managed Services Anywhere as a key component, Cloud Application Manager is a complete feature set for automating ALM – scaling, updating, migrating, managing – for rapid deployment and efficient, governed/standardized application deployment models.
Cloud Application Manager supports a CI/CD approach, and ALM must also support CI/CD since our DevOps is modeled on a continuous deployment scale. Cloud Application Manager enables our teams to do their own provisioning, control cloud consumption, manage workloads from one page, and view, implement, and change cloud usage and amount spent on cloud resources.
For example, it provides a view into your infrastructure by showing the type and location of each VM, which can then be provisioned (resource management) and configured (configuration management).
Cloud Application Manager can manage direct deployments and automate the frequency of deployments, an important aspect for a DevOps ALM. It also integrates across clouds, so that all resources can be viewed in one space, reducing provisioning time through the ability to automate.
Using Cloud Application Manager for ALM can enhance your DevOps strategy through automation of cloud deployments and management across platforms, allowing teams to focus on innovation. Ultimately, it provides a centralized visibility into the lifecycle process, an important aspect in DevOps transparency and collaboration.