Monday, August 13, 2012

VMware vFabric Blog: tc Server Best Practices with RPM Install

VMware vFabric Blog: tc Server Best Practices with RPM Install:
Screen shot 2012-08-10 at 6.12.34 PMWikipedia defines a best practice as:

A method or technique that has consistently shown results superior to
those achieved with other means, and that is used as a benchmark. In
addition, a "best" practice can evolve to become better as improvements
are discovered. Best practice is considered by some as a business
buzzword, used to describe the process of developing and following a
standard way of doing things that multiple organizations can use.

With vFabric tc Server, we are building several conventions and other techniques into the software to form a core set of best practices. With this new installation method for tc Server, we are going beyond copying files. These steps implement a set of conventions designed to enhance the manageability, consistency, and security of a tc Server installation. For sysadmins, it isn’t a cure for “on the job insanity,” but it helps.
While my VMworld session will go into greater detail on overall best practices for tc Server, (APP-CAP1676, tc Server Best Practices for Security, Stability, and Sanity), this post provides some background on how the RPM Installation of vFabric tc Server works and facilitates runtime best practices.


Background


VMware vFabric tc Server was created to merge the best of both worlds by adding enterprise-level deployment and administration functionality to the lightweight runtime of the Apache Tomcat application server. To that end, tc Server includes scripts and other tools to simplify deployment and maintenance. For example, it includes templates to encapsulate standard configuration elements, making it simple to deploy multiple, identical tc Server instances.



Going to VMworld in San Francisco?


Check out these vFabric sessions that will also cover the new operating model of CloudOps and D
Register for VMworld!
Click Here

Register for Session (APP-CAP1676 - TC Server – Best practices around security, manageability and stability):
Click Here

Register for Session (APP-CAP2860 - EM4J):
Click Here

Register for Session (APP-CAP2743 - System Integrators (SI’s) panel (Consilium1, Logicalis, etc.)):
Click Here

Follow all vFabric updates at VMworld on Twitter:
Click Here


The option to install tc Server on Linux with RPM and YUM is a recently added feature that further simplifies administration. Previous versions of tc Server were “installed” by simply unpacking an archive file. This made each individual administrator responsible for adhering to conventions, such as what user id tc Server should be run as, or what directory tc Server should be installed into. When the installation process enforces deployment and runtime conventions, administrators make fewer mistakes and are free to concentrate on other tasks.
This article describes the actions performed by the RPM installation (besides copying the tc Server files onto the target system). In addition, we point out various conventions involved so they can be better understood and potentially adopted for tc Server on platforms lacking the option of installation via RPM.


RPM Install Actions


The RPM installation of tc Server performs the following actions.
1. Automatically downloads latest appropriate version
The first step in the RPM installation of tc Server is to add a software repository to your system by installing an rpm located on the VMware web site. This way you do not need to locate or download any files specific to the target system. Once this is done, you can use the yum command to search for available vFabric software, and install the desired package(s). Selection and downloading of the correct rpm file for the software is done for you.
2. Create vfabric group
The RPM installation creates the Linux user group vfabric. This group is used as a common group for files installed as part any of the vFabric software packages, such as GemFire, or Hyperic.
3. Create tcserver user
The RPM installation creates the Linux user tcserver in the vfabric group. tc Server should be run as this user, rather than root, as a matter of security.
4. Create directory for tc Server instances
The RPM installation creates the directory /var/opt/vmware/vfabric- tc-server-standard, which is owned by the user tcserver with group attribute vfabric. This directory is intended to be used as target directory for creating tc Server instances. The directory /opt/vmware/vfabric-tc- server-standard and its subdirectories, where the tc runtime software is installed, are owned by root and hence are not suitable for the creation of tcServer instances, since the tcserver user can not write to them.
5. Create bash completion files for tcruntime scripts
As part of the installation files are created in the directory /etc/ bash_completion.d, one for the script tcruntime-ctl.sh and one for tcruntime-instance.sh. These completion files enable the bash shell to provide intelligent completion of command options and arguments for those scripts.


QuickStart Script


Although, it’s not part of the RPM install, it’s worth pointing the new convenience script added to tc Server. The latest releases of vFabric tc Server provide a new script, quickstart/createInstance.sh, which simplifies the creation of an initial tc Server instance. It’s mentioned here as another way in which the developers of tc Server continue to improve the usability and convenience of the product.


Conclusion


We hope these conventions and techniques help you improve the management, consistency, and security of your tc Server installations. We certainly appreciate any feedback or thoughts in the comments below. If you are going to VMworld, I hope you have an opportunity to attend my session which goes broader and deeper into tc Server best practices (APP-CAP1676, tc Server Best Practices for Security, Stability, and Sanity).


Screen shot 2012-08-10 at 6.28.14 PM

About the Author: Channing Benson, currently a Java and vFabric Solutions Architect at VMware, has over 20 years of experience in the computer industry. Throughout his tenure, he has helped customers adopt and master developing technologies, starting with X11/Motif on Unix-based workstations, cross-Unix porting, C language optimization, and Linux development and performance tuning. While working at HP, he contributed to the FOSSology Open Source project. Channing has been a Java programmer/architect since it’s genesis in 1995, working primarily to help customers and independent software vendors optimize their programs for the latest available platforms, from EJBs and J2EE to Spring on lightweight containers like Tomcat and tc Server, and now cloud hosts like Cloud Foundry and high performance data grids like GemFire.

No comments:

Post a Comment