Companies today are faced with frequent market shifts and changing business models that require prompt responses. To keep up and adapt, rapid innovation in the areas of software delivery and emerging platforms is necessary. At the same time, traditional applications and the system audit capability need to be maintained and evolved with a high degree of reliability.
The core of any successful response is effective collaboration and consistent quality. Whether or not the pressures are coming from mobile devices, social media, big data, cloud technology, or simply cost reduction, two things are clear:
- First, companies need best of breed application lifecycle management tools
- Second, software deployment processes need to become leaner and more agile.
This article describes how to rapidly deploy software delivery and lifecycle tools for a project using cloud technologies.
Overview of technologies
IBM Pure Application System
IBM®PureApplication™ System provides a way to virtualize, dispense, optimize, and monitor applications and software in the cloud. IBM PureApplication System ships as an integrated system including hardware, Cloud Management Software, and content. It delivers a standardized cloud application platform in a box.
The now-famous Software Design Patterns book by the Gang of Four (Design Patterns: Elements of Reusable Object-Oriented Software, cited in Resources) established Patterns as a reusable, repeatable part of Software Engineering. One of the key differentiating elements of PureApplication System and other IBM Smart Cloud offerings is the delivery of usable Software Patterns. Software Patterns are pre-defined application architectures, and required platform services, that are deployed and managed by the system according to a set of policies. Using IBM Pure Application Systems patterns, you can build highly usable solutions that incorporate many integrated virtual machines, software components and configuration elements. Simply put, patterns enable you to deliver complex solutions in a single deployable unit.
IBM Collaborative Lifecycle Management
The Rational solution for Collaborative Lifecycle Management (CLM) provides requirements management, quality management, testing, change and configuration management, project planning and tracking. CLM includes IBM® Rational Team Concert™, IBM® Rational® Requirements Composer, and IBM® Rational® Quality Manager. CLM will manage complexity, improve software quality, speed delivery, reduce costs, and increase collaboration across the entire team.
IBM Rational Application Developer
IBM® Rational® Application Developer is a powerful integrated development environment (IDE) built on Eclipse open source software. It accelerates the development and deployment of Java, Java Enterprise Edition (Java EE), Web 2.0, mobile, OSGi, portal, and service-oriented architecture (SOA) applications. IBM® WebSphere® developers frequently use Rational Application Developer to create Java applications.
As the previous section described, Rational software has a powerful suite of tools available to help collaborate and deliver a project. However, they have a set of challenges that make it difficult to easily leverage the benefits that CLM or Rational Application Developer provide.
Data centers are too costly to provision and maintain
Obtaining and provisioning infrastructure for the development, test and hosting of an application traditionally has taken far too long and has been too expensive. This has driven the growth of both Virtualization and Cloud. Companies are increasingly looking towards Private Cloud solutions due to data security concerns on Public Clouds. Virtualization technologies don't provide the Software as a Service (SaaS), Platform as a Service (PaaS) and monitoring necessary to meet the demands.
Traditional installation and configuration is complex
One of the reasons for the necessity for SaaS is that deploying enterprise middleware solutions is hard. Take the CLM topology shown in Figure 1 as an example:
Figure 1. Typical CLM topology
This topology includes the deployment of a WebSphere Application Server, DB2 database, configuration with LDAP repositories, registration with License Servers and the set up of a Reverse Proxy Server. These aren't easy tasks. Historically, when organizations had fewer projects and dedicated middleware teams available, this was not a problem. However, in today's environment, deploying an enterprise-ready ALM solution needs to be simple.
Traditional licensing is too rigid and expensive
Software licenses can be expensive. Free-to-use software can have its own costs in terms of productivity. Closely managing access to software through approval processes is also expensive and too slow given the need for innovation and the changing roles that individuals experience.
The "Pay as you go" model offered in public cloud environments are attractive from both cost savings and accessibility perspectives. Private cloud environments need an equivalent solution
To help address these challenges, IBM has released a catalog of patterns for IBM PureApplication System, called IBM Software Delivery and Lifecycle Patterns The initial catalog includes these three patterns:
- Virtual System Pattern for Collaborative Lifecycle Management
- Virtual System Pattern for Rational Application Developer
- Shared Service for Rational License Key Server
Virtual system pattern for CLM
As you would expect the Virtual System Pattern for CLM deploys a fully configured multi-tier topology for IBM Collaborative Lifecycle Management. The Pattern installs the Red Hat® Enterprise Linux® Operating System, WebSphere Application Server, IBM® DB2® database, and the CLM applications. It can be configured with or without LDAP for a user Registry, configures a Reverse Proxy Server to allow for flexibility down the road in terms of deployment size, installs and configures Rational Team Concert, Rational Quality Manager and Rational Requirements Composer, and is tuned and configured based upon best practices discovered through test.
Input for deployment is minimal and consists of just a few parameters for admin passwords and user registry preferences. It takes approximately 1 minute to configure the deployment and about one hour to deploy a fully functioning Collaborative Lifecycle Solution.
The Money that Matters sample project is also installed, configured, and a link is added to the console. This sample project helps you see the value of the CLM solution
Virtual system pattern for Rational Application Developer
Where the CLM Virtual System Pattern is a Server based topology, the Rational Application Developer Pattern is a Virtual Desktop. A deployed pattern includes the RedHat Enterprise Linux Operating System, Rational Application Developer, a Rational Team Concert Client, and Virtual Network Computing (VNC) for remote connection to the instance, a local installation of WebSphere Application Server for testing purposes and the Cloud Toolkit for developer applications that run on the cloud. A deployment of the Virtual Desktop Instance takes about 15 minutes. There is also the option of configuring the Virtual Desktop to automatically connect to a running Rational Team Concert Server by providing the URI and user credentials. Enable SSH tunneling for encryption in the . connection to enhance the security of the Virtual Desktop.
Access to the deployed instances
Because the topologies are Virtual System Patterns you have full access to the underlying Virtual Machine as well as to the Jazz™ Team Server and WebSphere administrative consoles. To help facilitate access to the applications and the admin console links are placed on the deployed instances. VNC access to the machines is set up, and a link is provided. The Pattern can be configured to allow VNC in the open, or to enforce VNC connections be tunneled through a secure SSH connection, as shown in Figure 2.
Figure 2. Console links after deployment of CLM Virtual System pattern
Shared service for Rational License Key Server
A shared service is a special type of Pattern that provides common services that can be leveraged by other deployments in the cloud environment. The caching service is a good example of a shared service. . Rational License Key Server is delivered as a shared service in IBM® Software Delivery and Lifecycle Patterns. . License key server administers user-based licenses for Rational Software. This allows deployments of the Rational Application Developer virtual system pattern or the CLM virtual system pattern to lookup the license server at the time of deployment, then automatically check out a license from a shared license pool. This means that after the deployment of a pattern, a valid license is already installed and ready to use. The license administrator maintains and monitors a single pool of licenses and does not need distribute them for each deployment. You can deploy the software when needed.. This lets you have a valid license immediately, instead of searching for a license, or using a trial.
Rational token licenses
The licensing story gets even better. Making purchasing choices for software is hard. There are so many questions - what to buy, how much to buy. Even when to buy is no simple matter. Rational software and the Rational License Key Server support tokens. A token is like a floating user license that can be used for multiple products. Another way of thinking about this is that a token is like a single licensing currency. You purchase a set of tokens and then use them interchangeably between products. You maintain a single pool of tokens and when someone is logged in and using a particular piece of software a set of tokens is checked out. When that person logs out, those tokens are then returned back to the pool of tokens. Rational tokens are about as close as you can get to a flexible "pay as you go" system within a private cloud environment.
Rational token licensing is a great solution. Licenses are only checked out when they are in use. Tokens float across users, time and tools which allows you to use the software you need, when you need it. You can leverage a single pool of licenses between teams in multiple geographic locations, matching the flexibility and agility offered by Cloud platforms. By default, IBM Software Delivery and Lifecycle Patterns include an evaluation set of tokens so that you can experience how flexible and valuable this type of licensing is. However, you are still free to use existing licenses or floating user licenses with the RLKS shared service or even an external license server. The choice is yours.
The Software Delivery and Lifecycle Patterns allow you to quickly deploy IBM Collaborative Lifecycle Management server-based solutions and practitioner desktop tools such as Rational Application Developer. The applications can be deployed and configured together quickly. Use of Rational tokens and a shared service for Rational License Key Server allows licenses to be allocated from a highly shared pool dynamically. The combination of private cloud based deployments and this licensing model are a great advantage if you're looking for infrastructure and provisioning processes to be faster and more flexible.
Find more information on ibm.com about:
- Explore the IBM PureCentre portal where you'll find all the patterns available for PureApplication systems.
- See the introduction to IBM PureApplication System on developerWorks, then read these articles:
- For technical details and help, visit the IBM Software Delivery and Lifecycle Patterns information center.
- Visit the IBM Software Delivery and Lifecycle Patterns page in the PureSystems Centre
- Learn best watching videos? You'll find these videos (and more) hosted on YouTube:
- Getting started: IBM Rational Integrated Development Environments 8.5.1 on the IBM SmartCloud Enterprise
- Development and test with IBM SmartCloud services
- IBM SmartCloud Enterprise
- Tour the IBM PureApplication System with IBM fellow and Chief Architect, Jason McGee
- IBM PureSystems expert series: Patterns overview
- See the Private Cloud deployment wiki on jazz.net, then read these deployment articles:
- Looking for deployment best practices and design? Visit the jazz.net Collaboration Wiki.
- Explore the Rational software area on developerWorks for technical resources, best practices, and information about Rational collaborative and integrated solutions for software and systems delivery.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, anytime, and many of the Getting Started ones are free.
Get products and technologies
- Download a free trial version of Rational software.
- Evaluate IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment.
- Join the conversations about PureSystems
- Check the Rational software forums to ask questions and participate in discussions.
- Get connected with your peers and keep up on the latest information in the Rational community.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.
- Rate or review Rational software. It's quick and easy.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. Find out what makes a good developerWorks article and how to proceed.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.