Accelerated DevOps Implementation: The XP and AWS CodePipeline Integration Pattern.
June 28, 2020
The solution I offer to speed up DevOps implementation is, a design pattern: The XP and AWS CodePipeline Integration Pattern.
Avoiding the usual word salad surrounding DevOps, it builds on the belief that, « Implementing DevOps, is about setting up a work environment for software delivery structured around agile practices and CICD pipelines. »
The intent is to guide, reduce the complexity and facilitate the implementation.
The picture illustrates the XP and AWS CodePipeline Integration Pattern. Two building blocks make it up:
• The XP-based work organization (in blue)
• The CodePipeline-based CICD pipelines (in orange)
The XP-based work organization addresses the Software Delivery Operational Model; it combines XP principles, values, rules, roles, practices, and activities needed to responsively deliver high numbers of high-quality software releases.
The XP-based work organization facet provides implementation material including:
• Software delivery charter which structures the software delivery activity and the XP principles, rules, and values.
• RACI Matrix which clarifies assignments including customer, coach, developers, tracker, tester, and the doomsayer.
• Software delivery lifecycle which clarifies delivery phases and the roles involved, activities to carry out, and related CodePipeline tools.
• A comprehensive XP deployment training kit.
The actionable nature of the above material cuts in half the usual agile deployment time, effort, and cost.
The CodePipeline-based CICD pipeline aspect provides a variety of material that facilitate the implementation of the related AWS infrastructure, they include:
• A documented process for creating pipelines using the AWS CodePipeline console.
• A set of CloudFormation templates for creating CICD pipelines.
• A training kit for deploying and managing pipelines based on CodePipeline.
The following features cut by 60% the usual pipeline implementation time, effort, and cost:
• CodePipeline is a fully managed continuous delivery.
• Coordination of release phases, resource provisioning, configuration, and deployment are fully managed and automated.
• XP Iteration, Productionizing, and Maintenance phases are automated by CodePipeline.
• CodePipeline integrates with third-party services like GitHub, JUnit, Maven and Selenium to implement XP iterations phase.
Using Cloud Design Patterns like the XP and AWS CodePipeline Integration will help you get rid of the hassles of agile practices and CICD deployments.
Tags: Agile, Cloud, COVID19
How to Transform IT for the COVID-19 Business Context
May 12, 2020
Succeeding in the COVID-19 era takes more than deploying cloud computing; making sure your staff, processes, practices and tools meet the requirements of the context is necessary. However, to quickly and properly transform your IT, a transformation framework is needed; it provides the big picture that helps to pinpoint the performance drivers to improve.
The Complete ITaaS Delivery Model is an example of framework, it highlights five essential principles:
- The goal is to responsively deliver applications as well as digital products and services in line with market opportunities and guarantee superior customer experience.
- Organize the application management effort around a delivery pipeline that focuses on business priorities, speedy delivery, and superior customer experience.
- Stress work from home and proper tools to ensure social distancing and remove fear so as to keep high the IT staff productivity.
- Take advantage of cloud computing to cut costs, avoid resources shortage, speed up IT operations, and make IT agile and responsive.
- Use infrastructure as code to automate IT operations, speed up applications deployment, and make IT agile.
Here are three recommendations that'll take your IT to the next level:
- Connecting the business and IT to make sure priorities are delivered and revenue streams secured: deploy and train your business and IT staff to Scrum Agile Product Roadmap, Release Plan, and Product Backlog as the means to plan business needs.
- Speeding up apps delivery flow and responsively tackling market opportunities: implement a delivery pipeline thought to put together relevant business and IT staff and provide proven apps delivery processes, practices, and tools.
- Applying proven cloud architecture design patterns and automate apps deployment: in addition to investing in analytics, machine learning, and IoT, approach your cloud implementation as a virtual datacenter based on proven architecture design patterns and infrastructure as code templates and tools.
Keep in mind that expecting value from the sole IT tools won't help to stay in business; rather, embrace a vision that considers the human, process, tool and infrastructure factors as a whole.
Tags: Agile, Cloud, Digital Transformation