vRealize Code Stream

vRealize Application Services is about modeling an application and automating its provisioning. vRCS is about modeling an application release process. The two are complementary: Code Stream relies on integrations with virtual reality as a service (vRAAS), scripts, Puppet, and so on to deploy code. Code Stream allows us to codify or model the entire release process and promotion of builds across stages and/or environments (functional testing, load testing, systems integration testing, staging, and finally production). This includes not just triggering application deployment (via scripts or other tools) but triggering tests and looking at test results before deciding to promote a build to the next stage.

It also supports creating manual tasks in a stage for operations that are not automated today. It's really a process orchestration tool rather than an app deployment or provisioning solution. Code Stream allows us to trigger the deployment of individual artifacts (.jar, .war, config files, and so on) as opposed to vRAAS, which forces us to redeploy the entire stack, including the underlying machine. One Code Stream appliance can handle about 100 concurrent pipeline executions. Puppet, Chef, and other configuration management tools are not direct competitors to Code Stream. These tools are often used to configure and deploy software, but Code Stream is all about modeling a release process. The core value of Code Stream is really to tie configuration management and infrastructure provisioning, as well as continuous integration and testing and approval systems together to automate the entire release process.

There are a number of technical advantages of this:

  • Code Stream can automate and accelerate the life cycle of any type of software. This includes applications (traditional and cloud-native), as well as infrastructure and IT content (blueprints, workflows, scripts, templates, and so on).
  • Code Stream does not prescribe a certain type of release model or toolset. It can model the release process for companies who are just starting out and put a majority of manual tasks to a 100% automated release model. Therefore, it adapts to an organization's maturity level and allows them to gradually move toward a more automated model.
  • Code Stream allows teams to provision and deploy code to private as well as public clouds. Code Stream can take advantage of vRA's converged blueprint or work with other provisioning solutions such as Cloud Foundry. 
  • VMware offers the best full-stack and completely integrated solution from the foundational SDDC to the management/provisioning layer with vRA, and finally release automation capabilities with Code Stream. So, while all products can be used independently (no vendor lock-in), when used together, customers have an unmatched platform to help them become more agile.

We can install Code Stream without vRA as there is definitely value in deploying both products to get benefits from a fully integrated solution for provisioning automation and release automation. Code Stream supports two deployment models:

  • Standalone, where only the Code Stream functionality is enabled on the virtual appliance. Admins can then optionally configure Code Stream to provision machines via an external vRA appliance.
  • Unified, where both the Code Stream and vRA functionality is enabled on the same appliance. vRA also requires a separate Windows server for IaaS functionality. This configuration is not a supported configuration for production.

Jenkins is a build automation tool that promotes CI, a development practice that requires developers to integrate code into a shared source code repository such as Git several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. At the heart of any CI tool is the job that automates a build and build-related activities such as a test that is run pre or post-build.

Release Automation tools such as Code Stream focus on modeling and automating the broader release process, all the way to production, which typically integrates CI and additional categories of tools such as provisioning, change management, and monitoring, and often, people do this for some manual tasks and/or approvals. Companies often use release automation tools to work toward CD, a practice where every good build is potentially pushed to production. CD is a superset of CI, involving more tools and more teams—not just development but operations and release teams as well. At the heart of a release automation or CD tool is the pipeline that models a process, including business constructs such as approvals.

Jenkins is an extensible tool and can be customized to go beyond doing basic builds and testing to orchestrate other activities toward the release process. We can customize vRO workflows to do some of what vRA does, but at some point we end up writing so much logic that the workflow-based solution becomes hard to maintain over time. The same can happen with custom solutions on top of Jenkins: they may work initially but get harder to manage over time, especially as you try to manage more applications. That's the typical drawback of a build versus buy approach. Jenkins Enterprise has a pipeline component to achieve release automation. It's still lacking key capabilities such as manual tasks and approvals and easy passing of variables from one step to the next in the pipeline, which are typically offered by top release automation vendors.

Code Stream is only available as a standalone product because of the following reasons:

  • It does not comply with all the requirements and expected capabilities of suites such as vCloud or vRealize. For instance, it does not support localization, HA, or unattended installation.
  • It needs to evolve rapidly and follow a more frequent release cadence than existing suites.
  • It shares some common services with vRA, but it can be deployed without vRA so that release engineers or DevOps teams who don't use vRA can still have a lightweight continuous delivery solution.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.105.124