cutimage - Fotolia
When joined together, GitHub and the data center greatly assist the continued pursuit of increased efficiency and cost savings by revealing a trove of open source IT tools.
Open source code repository GitHub has had a profound impact on software, especially in the context of collaborative development. At the same time, modern data center technology has profoundly affected storage, networking and power consumption management, as well as security monitoring.
There are endless uses for GitHub around the data center. These two examples are good starting points for administrators to explore open source IT tools, via full collaboration or GitHub forking.
When to use GitHub forking for IT tools
As part of their usual data center systems monitoring tasks, Linux server administrators block secure shell (SSH) login attempts that threaten security. The open source product fail2ban provides a simple yet robust platform that allows admins to ban SSH connections from IP addresses that have excessive amounts of failed login attempts.
GitHub users already heavily contribute to fail2ban, but there are more ways to use the repository tailored to your data center needs. A system administrator can create a GitHub repository that mirrors the fail2ban GitHub page. The admin can then give access to this newly created GitHub page to fellow IT professionals at the company, and take suggestions on how to customize the open source IT tool for their specific needs. This is known as forking.
Get up to speed with Git and Git integration tools
- See how you would do on these sample GitHub and Git interview questions
- The five basic Git commands beginners need to master
- Undo a commit and manipulate commit history with this git reset --hard example
- Learn to git revert a commit with the bash shell
- Use the git cherry-pick command across Git branches
- Change the Git editor to Notepad++
- Where the Windows Git configuration files are stored
- Make continuous integration part of your DevOps journey with this Jenkins CI tutorial
So when should you fork versus contribute to the project? In some scenarios, the fail2ban code -- or that of other open source system management software -- requires some tweaking for the specific user, but without wholesale changes that would benefit the product's community repository. An administrator may want to use the open source repo as the starting point for their own IT monitoring or management project. Despite the community-contribution nature of open source, some IT shops in certain situations may want to keep their modifications in-house and not alert the entire community to the project. In these cases, download the code base from the tool's GitHub page to fork it, then control who accesses, creates or modifies it.
How to hybridize the IT infrastructure
With public cloud's growing enterprise use, data center administrators often become hybrid environment managers. Amazon Web Services (AWS), for example, might host test and dev virtual machines where the user spins up VMs on demand and even creates a network, paying for the CPU cycles rather than installing physical hardware. All of this is managed via Web browser.
There are open source IT tools familiar to data center administrators that extend into these public cloud environments. Puppet Labs is one of the companies attempting to aid AWS management via GitHub. Puppet Labs specializes in creating software modules that automate everyday tasks typically conducted by system administrators. System administrators can use the puppetlabs-aws module to access a variety of services such as resource auditing, data driven manifests and the creation of Virtual Private Clouds (VPC).
The modules allow system administrators to audit any changes in security groups, automatically generate resources based on previously seen traffic, and create/modify VPCs that mimic a traditional network.
All of these system management capabilities can be forked from GitHub and subsequently modified in accordance with the preferences of the data center administrator.
Learn more about the industry's most popular DevOps tools
If you want to become a DevOps engineer, you'll need to master a variety of DevOps tools. Here are some popular tutorials to get you closer to achieving DevOps mastery:
- A step-by-step Jenkins CI tutorial with examples
- Learn how to install and configure JFrog Artifactory and integrate Artifactory with Jenkins
- Learn how to use the SonarQube Maven plugin to inspect for code quality
- Test your job readiness with these Jenkins and DevOps interview questions
- Some tough, sample GitHub and Git interview questions
- Learn the benefits of continuous integration by working with these popular CI/CD tools