A consistent cloud development and deployment model
Problem
To build enterprise class solutions that leverage virtualization and cloud computing technologies, an organization’s existing solution development lifecycle (SDLC) must be aligned to an automated cloud deployment lifecycle, which supports repeatable processes, dynamic provisioning and capabilities to meter and charge-back resource consumption.
Solution
Define the organization’s cloud software development and deployment lifecycle model (CDLC). Typically, this should include the cloud activities to be performed during the phases of design, testing and quality assurance (QA), staging, production and post production. Identify automation tools to support CDLC phases. Implement templates to standardize for consistency, repeatability, and reproducibility. Align the existing project management and SDLC phases to CDLC.
Application
- Repeatable, reproducible cloud targeted application development and deployment
- Consumption-based metering and billing of infrastructure, applications and services
Impacts
- Alignment between various IT SDLC processes and CDLC
- Complexity of business solutions may require close collaboration between teams
- Solution level metering and billing could become tricky. CDLC activities may direct more attention towards optimizing cost rather than the quality of the business solutions
Anti-Patterns
- Traditional SDLC interlaced with project management controls
- Non-repeatable customized cloud deployment process on a project-by-project basis, most often by siloed teams
Related Patterns
- VM Blueprinting Pattern
- Platform VM Pattern
- Application Virtualization Pattern
- VM Factory Pattern
- Stateless VM Pattern
References
- Opscode Chef
- Puppet
- rPath
- ControlTier
- Func, Fabric, Jumpstart, Kickstart
- Eucalyptus, Xen, VMware
MomentumSI Solutions
- MomentumSI Platform Engineering Maturity Model (PEMM)



