Products

Does your business need to implement lower cost measures for deploying software?

By Bob Donovan

Is your business searching for more efficient methods to reduce deployment costs? Are you trying to meet market challenges with the desire to apply new software updates more frequently yet struggling with resources to complete the work in a timely manner and with quality? Are you looking to become more agile so that you can speed up the cycle of deploying software and deploying Teamcenter patches? Are you looking to enable DevOps and CI/CD with your Teamcenter environments and searching for the best options for utilizing more efficient methodologies?

Deployment Center 3.1 has risen to meet that challenge and is the answer you are looking for. Deployment Center 3.1 is a huge leap forward in cost savings capabilities that enables the implementation of Dev Ops methodologies with your Teamcenter environments.  The key to this is the introduction of a new command line tool called โ€œQuick Deployโ€ that empowers you to script deploy tasks such as installs, patching, upgrades, and deploying software.

Quick Deploy is a command line utility that takes an XML file as input and operates with a Deployment Center to generate intelligent deploy scripts. These intelligent scripts have all the necessary information about how to carry out the deploy tasks specified in the XML file.

The value to your business is that Quick Deploy provides a low cost and efficient tool for you to replace tasks that were formerly time-consuming, costly, resource-intensive, slow, and inefficient.

Creating new Teamcenter environments

As an example of how to apply the benefits of Quick Deploy, let us say that you need new Teamcenter development or test environments. You need to pull someone away from the important work that they are performing to spend time setting up these new Teamcenter environments. This person must ensure that the environment is set up accurately to match specifications. The correct software and versions must be chosen, the correct applications must be set, the correct ports must be specified, and the servers should be set up precisely. To perform these tasks will require manual steps and will take concentration to ensure the environment is accurately set up.  Often the details of each step are recorded in documents so that the person performing this task can follow these steps as a checklist.  However, working from a document to manually execute steps is an inefficient method for installing new Teamcenter environments, as now there are more efficient ways to do this.

Using Deployment Center 3.1 and Quick Deploy you can script this deploy task such that no manual steps are needed. You can create a Quick Deploy XML file that contains all the software, versions, applications, and ports so that when Quick Deploy is executed, a new environment is created that is accurate to the specification. The process is repeatable such that for each new environment that is needed, you can rerun the script to create the next environment. The result, new environments are created with the highest efficiency, with no manual steps, and with the lowest costs.

Automating custom software deploys

Let us highlight another example. In this example, you would like to automate deploying your custom software to your environments. You have custom BMIDE templates, administration data files to import, compiled libraries to deploy to all the servers, custom RAC plugins that must be installed into the RAC client, and custom Active Workspace extensions. You need a repeatable process that can build this custom software into a software package and deploy the package to any environment and have all the artifacts deployed to the correct locations within the server and clients. A task like this requires a lot of custom tools to be built, and is very time consuming, and is very easy to make mistakes.

Using Deployment Center 3.1 and Quick Deploy this task can be scripted with ease.  Since the Deployment Center is aware of your environment and the location of the servers and clients, Quick Deploy can generate an intelligent script that will automatically deploy all your artifacts to the correct location. As a result, you achieve the ability to deploy at will, with low costs, no manual steps, and accurate deploys. And the process is repeatable in that the same automation can be used to deploy the custom software to any environment.

Upgrade Testing

As a final use case, I wanted to highlight another high-cost use case. Upgrade testing is where you practice upgrading copies of the production environment to ensure the actual upgrade will be successful.  Typically, the practice upgrades are performed in advance of the actual upgrade, and the practices are repeated until satisfactory results are achieved. A single practice upgrade involves first setting up a new Teamcenter environment that matches the settings that are in the production environment. To set up the environment you will install each software one at a time with the TEM.  First, you install Foundation, then Active Workspace, then custom software, and then any other purchased software. You also need to ensure the same features are selected in this Test environment that is selected in the Production environment. Then you may export your production database and import the database copy into this test environment. Then you execute the upgrade to the next major release to ensure it works without issues. This is a very manually intensive process. For each practice upgrade, the test environment must be set up consistently to match the production environment: software, versions, applications, servers.

Using Deployment Center 3.1 and Quick Deploy the entire practice upgrade can be scripted. Imagine that instead of spending hours manually performing the install and then the upgrade, you could instead click a button and Quick Deploy performs the install and then the upgrade with full automation, no manual steps. You only need to review the results. This kind of automation is easy to set up with Quick Deploy and the value to your business is savings in time, costs, and resources.

Deploy Automation

All the above examples and more can be scripted using Quick Deploy. In addition, if you combine Quick Deploy with a Dev Ops tool, you can easily achieve full deploy automation. This means that the entire process is orchestrated by the Dev Ops tool. For example, to fully automate new installs of Teamcenter environments, a Dev Ops pipeline can be easily written to orchestra executing Quick Deploy to generate intelligent scripts, then the orchestration copies the generated script to the target machine and executes it to complete the install.

Imagine the savings in costs by being able to click a button to have a new environment created, or click a button to have an environment patched, or upgraded, or to have software deployed. With tools like Quick Deploy you can easily achieve CI/CD and Dev Ops type goals with Teamcenter and Deployment Center

Free Sample Code for Deploy Automation

Building deploy automation is easy and to prove it, we are providing free samples. These examples are provided to teach you how to build deploy automation using Quick Deploy so that your organization can quickly ramp up to utilizing these new cost-savings tools offered by the Deployment Center. These free samples demonstrate how to build the following types of deploy automation:

  1. Install new environment
  2. Upgrade or patch testing
  3. Upgrade or patch an environment
  4. Deploying Custom software

Each sample contains Jenkins source code and an instructional video. Each video walks through the source code to show you how to orchestra a sequence of steps using Quick Deploy to achieve the deployment task. These videos and sample code will enable you to rapidly build your own deploy automation to achieve company initiatives using an agile methodology.

Supported Dev Ops Tools

What Dev ops tools are supported by Quick Deploy? Quick Deploy and Deployment Center were designed to work with the Dev Ops tools of your choice. The command line utilities provided by Deployment Center can be easily integrated with any tool such as:

  • Ansible
  • Axure
  • Bamboo
  • Chef
  • Git Lab
  • Jenkins
  • Etc.

The samples mentioned above are written using Jenkins. Therefore, if you use Jenkins, you can easily copy the samples and adjust them to use within your infrastructure. If you are using another Dev Ops type tool, you can study the example code to understand the sequencing and then use these ideas to build deploy automation with the Dev Ops tool of your choice.

Deployment Center 3.1 Instructional Videos

These samples mentioned above are a part of a new suite of instructional videos created for Deployment Center 3.1. There are videos to teach you the fundamentals of Quick Deploy so that you can learn the basics of building automated deploy tasks. Then building on that knowledge, the Deploy Automation videos show you how to integrate Quick deploy with Jenkins to fully automate deployment tasks. The entire video series can be found at the following location:

GTAC Product Support Site –> Downloads –> Teamcenter and Rapid Start –> Full Products –> Deployment Center -> 3.1 –> DeploymentCenter_3.1_Instructional_Videos.zip **(Customer-Only Access)**

Below is a listing of the video titles.

  • Is the Deployment Center ready for your environments
  • New Deployment Center installation steps
  • New Deployment Center upgrade steps
  • How to add extra repositories to the Deployment Center
  • Software Scanning Improvements
  • How to delete software from the repository
  • Cleaning up junk files in the software repository
  • Where to find the Getting Started training videos
  • Mass Client Deploy
  • Quick Deploy Overview
  • Quick Deploy – Setup
  • Quick Deploy – Installing a new environment
  • Quick Deploy – How to build configuration files
  • Quick Deploy – Global Parameters
  • Quick Deploy – How to install Foundation and Active Workspace simultaneously
  • Quick Deploy – How to install J2EE or .NET environments
  • Quick Deploy – Adding optional applications
  • Quick Deploy – Adding optional clients
  • Quick Deploy – Adding optional components
  • Quick Deploy – How to install Foundation, Active Workspace, and custom software simultaneously
  • Quick Deploy – How to install other software with Foundation and Active Workspace
  • Quick Deploy – How to add the next custom software version
  • Quick Deploy – How to patch an environment
  • Quick Deploy – How to upgrade an environment
  • Quick Deploy – How to import an environment and set the required parameters
  • Quick Deploy – How to scan and set required parameters and perform deploy tasks
  • Quick Deploy – How to encrypt passwords
  • Deploy Automation Overview
  • Deploy Automation – Install new environments
  • Deploy Automation – Upgrade and Patch Testing
  • Deploy Automation – Patching or Upgrading environments
  • Deploy Automation – Custom Software Deploys

Summary

After watching these videos and reviewing the examples, you will be able to quickly build deploy automation for your Teamcenter environments to support your company objectives for agile development, Dev Ops, CI/CD in the most cost-efficient manner. The benefit to your organization is that you will be able to implement new Teamcenter programs sooner,  develop, build and release software more rapidly, incorporate Teamcenter patches earlier, perform upgrades with lower costs, and move products to market faster.

Have you read our other blogs surrounding Deployment Center? Check them out for more information.

Bob Donovan (Teamcenter Product Manager) is available to present the benefits of the Deployment Center, Quick Deploy and Deploy Automation to your company. Please contact: bob.donovan@siemens.com

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/teamcenter/does-your-business-need-to-implement-lower-cost-measures-for-deploying-software/