It should be pretty much understood now that the Software Defined Datacenter allows you to provide a lot of agility to your applications, resulting in a faster and more secure way to deploy and run your apps.
In short, infrastructure is very dynamic and boost the whole development chain.
That's great but the next step is leverage this super dynamic infrastructure across the software development lifecycle and in particularly at the different release management stage.
An application typically go from Dev to test to "whatevere-stage-make-sense-to-you" to Prod. In each one this stage a number of task happen. One very important task is to actually receive the infrastructure needed to run the application code (and the various artifacts). This task then needs to be coordinated with the other tasks (automated testing, external system integration, manual approval, manual tests, etc...). Receiving the appropriate infrastucture component is quite difficult because it's a mix of Virtual Machines, containers, Network routing, Load balancer, security, storage, software components, etc... etc... That's where the SDDC shine.
How do you leverage the software defined datacenter? Through vRealize Automation of course. How do you create such a release management "pipeline" containing all the stage and tasks? Through vRealize Codestream of course.
In the below video, I show a typical development lifecycle where the developper make a change, then trigger a pipeline which run the whole release management scenario.
The test stage include the deployment of a 3 Tiers architecture automatically created with all the software components installed, a code update to the latest version with Git and a number of tests
The results of these tests are analysed and once validated trigger the next stage: push the change to Prod
This prod stage includes the code update via Git and an update in JIRA and a CMDB.
That's it. The prod were updated in a security manner and, because it's all automated, it's possible to push to Prod new code several times a day with the confidence that Prod will not actually be "broken" by this change.
Few words on the application architecture:
The application architecture is available as a blueprint in vRealize Automation. It's 2 virtual machines: 1 Front End, 1 Back end: The Front end can be clustered so it needs a Load Balancer in front.
The application components are automatically installed and include a Tomcat + a Mysql. The application artifacts are the front end code itself and the Database configuration.
Finally, the whole application is automatically monitored for performance and capacity management by vRealize Operations through a XaaS call.