Functional definition

Overview

AWS Blu Age DevOps Pipeline is a tool tailored for delivery teams, aimed at ensuring high-quality deliverables and achieving functional equivalence in modernization projects. This is done by providing an additional development environment layer to existing infrastructure. It enables all team members to automate building, analyzing, and testing modernized projects. The application is built and deployed, making it visible and ready for interaction. Analysis is conducted using tools such as AWS Blu Age Compare Tool, AWS Blu Age Data Migrator and other market-approved solutions. Finally, tests are run concurrently for rapid execution, leveraging scale-out capabilities, with resources promptly released afterward to avoid unnecessary utilization, ensuring a frugal approach.

Build and Deploy

The AWS Blu Age DevOps Pipeline automates the creation of a Docker image from the provided modernized application code and AWS Blu Age on EC2 runtime. This image is based on the official Tomcat image and is ready for deployment across different environments. The pipeline also integrates with SonarQube to ensure code quality and security throughout the build process. This capability accelerates the modernization journey by simplifying the deployment process and reducing manual intervention. The tool ensures that the application is containerized effectively, allowing for easy scaling, and management within the AWS ecosystem.

Notifications

To keep development teams informed, AWS Blu Age DevOps Pipeline integrates with Slack for build notifications. This feature ensures that stakeholders are promptly notified about the success or failure of the image build process for all environments. Such real-time notifications enhance collaboration and allow for quicker resolution of any issues that may arise during the build process.

Application Testing

Testing is a critical component of the DevOps pipeline, and AWS Blu Age DevOps Pipeline offers robust testing capabilities. The tool can automatically provision an environment and a container with the application to run various tests. It supports multiple testing frameworks, including Selenium, Playwright, and Groovy, ensuring comprehensive test coverage using JaCoCo. The automated test pipeline also executes database comparison tests to validate data integrity by using Blu Age Compare Tool, helping to ensure the functional equivalence of the modernized application and meet quality standards.

Maintain

Maintaining up-to-date infrastructure and dependencies is crucial for security, performance, and compliance. AWS Blu Age DevOps Pipeline includes features to ensure that your application environments remain current and secure:

  • Keep AMIs Up-to-Date: The pipeline includes automation to regularly update Amazon Machine Images (AMIs) used in the deployment process. This ensures that the latest patches and updates are applied on your EC2s, enhancing security and performance.
  • Keep Docker Images Up-to-Date: Users have the flexibility to choose the version of the Docker images they wish to use. While the tool does not automatically manage updates, it allows users to easily select and use different versions of Docker images, ensuring customization and control over the application runtime environment according to specific requirements.

    Key Features

  • Automated Build and Deployment: Streamlines the creation of a Tomcat Docker image from application code, ready for deployment.
  • Slack Integration: Provides real-time notifications on the success or failure of builds across all environments.
  • Comprehensive Testing: Supports automated testing with frameworks like Selenium, Playwright, and Groovy, ensuring thorough validation of the application.
  • Environment Provisioning: Automatically sets up the necessary environment and container for testing the application.
  • Scalability: Ensures the modernized application can be easily scaled and managed within the AWS ecosystem.

    Benefits

  • Efficiency: Reduces manual effort and accelerates the build and deployment process.
  • Reliability: Ensures consistent and reliable builds with real-time notifications and comprehensive testing.
  • Collaboration: Enhances team collaboration through Slack notifications, keeping everyone informed about the build status.
  • Quality Assurance: Provides robust testing capabilities to ensure the application meets quality standards.