What helps make up 21st century data centers? In my last article, I focused on the automation aspect of the modern-day data center. My main point was that there is no right or wrong answer when it comes to choosing which automation engine to use in your environment. There are plenty of options available, and you should make your decision based on which solution makes the most sense for your environment and the systems that are running on it. You should also take advantage of other automation tools or engines that may be provided as part of another solution. Native functionality that is vendor-provided is a gift that should be opened and taken advantage of.
That said, for the rest of this article, when I mention automation in general, you should just consider that to be the automation of your choice. You fill in the blank. Having taken care of the automation aspect of the data center, we can now move on to the focus of this article: the tools that are needed or used in today’s 21st century data centers.
One of the most commonly used tools, especially in Microsoft shops, is Microsoft SharePoint. Microsoft SharePoint is a document repository and web content management system. SharePoint is used to store, track, and manage electronic documents and assets, integrating with the Microsoft Office suite of products. SharePoint not only manages most kinds of digital documents, but it also provides version control and management for the scripts and automation used in the environment.
Switching over to the open-source side of the world, one of the first tools of the trade that is worth taking a look at is Jenkins. Jenkins provides continuous integration services for software development. It is a server-based system running in a servlet container such as Apache Tomcat. It supports SCM tools including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase, and RTC, and it can execute Apache Ant and Apache Maven–based projects as well as arbitrary shell scripts and Windows batch commands. To fully understand what Jenkins brings to the table, you have to have an understanding of what integration services are all about, or more specifically, continuous integration (CI). CI is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day. Different people can be working on different parts of the same script or workflow, and Jenkins will merge the different updates together on a set schedule.
One area that Jenkins is missing is the version control aspect of automation development, and that is where Git fits into the picture. Git is a free and open-source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Following along the same lines as Jenkins, Git allows and encourages you to have multiple local branches that can be entirely independent of each other. Think of it like this: the different silos that are developing different parts of the automation can contribute to the overall project while the creation, merging, and deletion of those lines of development can literally just take seconds.
The last tool I’d like to mention is SCM-Manager. SCM-Manager is a virtual machine for software development that provides a ready-to-use infrastructure and automated workflows with several features that speed up the development of software and reduce administrative duties. Automated builds and code inspection, bug documentation out of the IDE, enhanced navigation, and easy use and permission management are just a few advantages of this appliance.
If you have gotten to the point at which you need some additional tools for automation in your environment, take a look at some of the open-source options that are available. A pretty solid community base helps support open-source projects. There are several options available, and what makes these tools something to consider is that they are designed to work with each other to help create an overall solution. They have the potential to add a lot of value to your environment and to help bring the tools of the 21st century data centers into it.