breadcumb

DEPLOYMENT AUTOMATION

Deployment Automation is the process of provisioning the application artifacts and configurations to the operating environments across the system development lifecycle. It entails a combination of application deployment automation, environment modeling, and workflow orchestration to achieve rapid delivery of application features in a reliable and orderly manner.

development automation
  • Define and execute a consistent and repeatable process.
  • Amplify feedback and improve team communication.
  • Improve overall release deployment quality.
  • Accelerate the delivery of application features to production.

Models

In this diagram, given the items on the left, implementing Deployment Automation will result in the items on the right.

A typical release process is shown in the diagram below. This will vary slightly based upon team structure and organization focus.

 

deployment

 

timeline

Key Metrics

Number-of

 

Number of Features/User Stories per Build

indicates the number of changes being implemented and maps to business value being created.

Frequency

Frequency of Deployments

indicates the overall output and activity of the project.

Failed Deployments

Percentage of Failed Deployments

impacts the overall team output due to rework.

Time to Fulfill

Time to Fulfill Environment Provisioning Request

redirects resources from application and business feature development and impacts time required for each release.

Average Deployment Time

Average Deployment Time

impacts the available time for deployments.

Red Flag Areas

  • Lack of Source Code Tool Expertise
    is a barrier to frequent code commits. This often leads to complicated integration issues and inhibits overall team visibility of the code base.
  • Embedded System and/or Application Configurations
    often require complicated code changes to account for specific environment configurations and may introduce complex code merges for different target environments.
  • Infrequent Check-ins of Configurations
    lead to misconfigured environments and tribal knowledge of environment requirements.
  • Inconsistent Environments
    increase deployment tasks and introduce instability into environments due to variations in topology and configurations.
  • Excessive Notifications
    result in team members ignoring important alerts.
  • Long-running Deployments
    prevent rapid feedback and create potential bottlenecks.
  • Infrequent Deployments
    lead to the outdated system provisioning procedures and environment definitions, which ultimately impact the overall system stability.

Key Roles


System Administrator

Responsible for preparing and modeling the target environments and deploying the application into each of them
image-6


Build Engineer

Responsible for defining the release requirements and supporting the application deployment
 


Developer

Responsible for taking business requirement and implementing in software code
 

Service Engagements

AEM's assessment-derived solutions are tailored to your needs. We work with you to define the right offerings required to build a solid foundation based on DevOps principles. The time and scope will vary based on your needs, but representative offerings based on previous client engagements are shown below.

Expert Consulting

Mentoring and Implementation and Consulting Services

Work collaboratively with AEM experts to mentor and provide expert consulting for automating your application release and deployment process.

Accelerators

Release Deployment Pipeline Implementation Pilot

In this hands-on guided lab, participants define and automate a process for deploying applications into Dev, Test, and Production environments.

Application Container Implementation Pilot

Leverage application containers to deploy and manage their application release.

Workshops

Release Automation Best Practices

Learn best practices for automating the deployment of applications into environments across the software lifecycle.

Container Implementation Strategies

Learn the basics of application containers and their importance in the release and deployment process.

Why AEM?

Delivering faster...

By implementing application build & release pipelines into the Department of Education's non-production environments, AEM streamlined the process for 11 applications and reduced required time by one man-week per month.

With less...

After AEM helped a major publishing company implement a complete release management pipeline, they were able to manage the release of over 100 microservices applications with a release management team of only three people.