
Open source IT systems management is undergoing a renaissance. Adopters include global, household-name enterprises, as well as a groundswell of IT operations teams that are borrowing flexible, collaborative practices from the Agile software development movement.
Some open source IT systems management tools are familiar to most admins, with broad adoption -- think Nagios or the Elasticsearch, Logstash and Kibana stack. Others -- Docker is a prime example -- burst onto the scene recently and are shaking up IT deployments.
The reason to adopt open source systems management, rather than a proprietary tool set, has changed, according to Stephen Elliot, a vice president at research firm IDC. Five to 10 years ago, he said, enterprises chose open source because it was cheaper. "Now, [the open source tool] might be cheaper, but more importantly, [it] seems a little better in certain cases," he said. Open source tools can drive automation and new operating models better than proprietary tools can, potentially yielding a competitive advantage to the user.
Whether an IT shop chooses community software or proprietary offerings built on open source code, they benefit from integration capabilities and componentization, said Jay Lyman, research manager for cloud management and containers at 451 Research.
Arguably, there's more to gain with open source software where you can contribute to the product's roadmap, Lyman added.
Open source IT systems management mitigates vendor lock-in, but not every enterprise shop wants that.
"People like to use paid versions [of software tools] in enterprises because they have someone to go to if something goes wrong," said Dave Farley, independent consultant and co-author of the book Continuous Delivery: Reliable Software Releases through Build, Test and Deployment Automation. This doesn't mean the commercial product is better, Farley said, but the perception is it's worth more because you spent money on it.
Many of the tools described in this slideshow are about changing how IT operates. "The old way isn't good enough anymore," Elliot said. These system management tools bring in software-defined infrastructure, changes to quality or speed of IT.

Application deployments and updates can be a major hassle for IT operations teams. Open source continuous delivery tools help organizations change how they write, stage and release application code.
Continuous delivery gets developers and operations teams to achieve smaller releases more frequently. "What could go wrong? Not as much," said Kris Saxton, founder of Automation Logic, an IT services consultancy in London. Continuous delivery tools shorten the mean time to recovery when a production deployment doesn't behave as expected -- you can fix what broke much faster, he said, with simpler rollback plans.
Continuous integration and delivery (CI/CD) takes a mix of tools, such as Jenkins and Git, but it is not a defined tool set. "Tools are much, much, much less important than the ideas," said Dave Farley, independent consultant and authority on continuous delivery, noting that continuous delivery applies the scientific method to software delivery. Definable infrastructure, incremental changes, and rigorous production-like development and test methodologies combine to minimize IT systems management concerns.
Arguably the most well-known CI/CD tool is Jenkins, an open source automation server that defines pipelines for software build, test and deploy processes. Multiple tools and systems plug in to Jenkins' automation server. While Jenkins works well, "it's successful, in large part, because it's free," Farley said, not because it's notably better than commercial offerings, such as TeamCity CI or Bamboo from Atlassian. But because Jenkins uses Secure Socket Shell, it could introduce a security risk should an attacker gain access. While it remains an open source project, enterprises can purchase professionally supported and curated versions of the tool, such as CloudBees Jenkins Platform. Adopters should compare capabilities, such as pipeline and agent management, between products.
Git is a popular open source version-control system that maintains a repository of project code. It is distributed, meaning various contributors can share changes with the entire project or branch off from the main project. Git enables version control for application development and infrastructure as code (IAC).
Virtualized developer environments, such as Vagrant, add continuity to the provisioning process, even for complex enterprise system architectures. Because continuous delivery aims to optimize and automate the entire software lifecycle, including production, Farley said, every tool -- even your database -- is part of CI/CD. The pipeline could also include tools for IAC, automated delivery, configuration and container management, automated testing, compilation, artifact repositories, information radiators, production monitoring and more.

Ask any IT operations team member about improving efficiency in the application development and deployment process, and he or she will likely tell you automation is key. This is especially true for teams trying to keep pace with the speed of competitive business.
"The real need that [IT operations teams] are trying to address is to speed infrastructure management to keep up with developers and lines of business," said Jay Lyman, research manager for cloud management and containers at 451 Research. Relying on open source server orchestration and tools, such as OpenStack Heat, Capistrano and Spacewalk, gives IT teams the task automation and integration power they need -- and fast.
"In a way, [IT ops is] competing with Amazon Web Services," Lyman added. "They could either facilitate sanctioned use of AWS or other public clouds, or they can use a private cloud ... so they have control and assurances over the data and security." These server orchestration tools help teams move faster, while improving efficiency and IT management, and potentially lowering the VM-to-admin ratio.
The right tool for open source orchestration capabilities depends on which server you're operating. OpenStack Heat is a common infrastructure-as-a-service orchestration component and a critical piece of cloud framework OpenStack. If you're involved in an OpenStack cloud project, you'll need Heat templates for install, management and orchestration.
Enterprises working with Linux and Linux clusters will likely turn to Spacewalk systems management software.
Capistrano, an open source orchestration project not tied to any cloud vendor, provides server automation via scripts and tasks. "Capistrano is pervasive and often part of homegrown or ad hoc efforts toward automation in the enterprise," Lyman said. "With a lot of organizations, their first step is to get an open source software tool like Capistrano, or maybe [configuration management tools] Chef or Puppet, and start to automate their provisioning, configuration, and updating and patching on servers."
IT operations teams need to look back, as well as think ahead, before choosing open source configuration management or server orchestration tools. A tool must integrate with the processes, technologies and other tools currently in use.
IT teams should ask, "What is our future direction, what are our priorities as we look to the future?" Lyman said. Typically, the answers will revolve around containers, microservices, expansion into .NET applications or Java or Python, as well as a move to the internet of things.

Open source configuration management tools make managing servers at scale easier, less time-consuming and more repeatable.
Configuration management tools provide automation, cloud orchestration, and remote management and execution that give IT greater control over its entire infrastructure. Beyond standardizing configuration on servers, the tools can install and maintain packages, upgrade or deploy new servers and manage a cloud infrastructure.
Without configuration management tools, IT administrators would manually deploy each VM needed in an OpenStack, Amazon Web Services, VMware ESXi or other environment. Instead of logging into each server to manually patch it, a systems administrator can remotely patch thousands of servers at the same time. The same goes for removing a user from servers.
"All of your server configuration is going to stay the same and consistent across your environment," said Nitin Madhok, a systems developer and programmer on the infrastructure code team at Clemson University. "So, if you installed an application on one server, you could install that application on a dev, production, test or whatever environment it is in the same way, following the same steps."
Companies can immediately fix security vulnerabilities such as Heartbleed on thousands of user-facing servers in under five minutes. LinkedIn manages more than 70,000 servers and can make a change on all of them in under a minute.
Chef, Puppet, Ansible and Salt are four major open source configuration management tools -- each with distinct differences. Puppet and Chef are coded in Ruby, a less commonly known programming language among IT professionals. Salt and Ansible use the more common language, Python, and users only have to be familiar with YAML (yet another markup language) to operate them. Salt and Chef also use ZeroMQ protocol, which allows users to create complex communication systems with little effort.
Salt and Puppet use a daemon approach and must be installed on every server. This allows for a master-slave control architecture. Chef and Ansible are daemonless, so no software takes up resources on the VM to manage it. The open source tools do require open Port 22 on each VM, which could leave servers vulnerable to attack. Salt also has a Secure Socket Shell tool, called Salt SSH, which allows the user to configure it similarly to Ansible. Each of these open source configuration management tools also come in supported, purchased enterprise versions that offer additional modules or features.
With the advent of container-based virtualization, application-based configuration changes are abstracted into containers. Read on to see how open source container management is evolving.

Docker, the open source container management software, allows IT to deploy encapsulated application components above the operating system level.
"[The container format] is pretty wide open to what you put into it," said Jay Lyman, research manager for cloud and containers at 451 Research. Because there's a flexibility built into Docker, developers don't have to work with one specific platform or framework. Docker gives software containers an interface and keeps them separate from the operating system, a move which simplified and democratized deployment, he added.
Its lightweight, flexible and portable nature has companies, especially those operating at enterprise scale, interested.
Docker's container management software includes the orchestration tool Swarm. Orchestration tools give IT operations teams the power to manage multiple container apps and clusters at scale. Docker Swarm includes capabilities, such as the ability to track container metrics, events and logs, that IT teams have become accustomed to in IT systems management software from BMC Software, CA Technologies, Hewlett Packard Enterprise, IBM, ScienceLogic, SolarWinds, Zenoss, Nagios and others.
Docker Swarm isn't the only container management software available. Big names, including Google and Amazon Web Services, are boxing Docker in.
Kubernetes, Google's open source container software project, has received support from a number of big-name vendors, such as Red Hat, and has "a vibrant open source community behind it," Lyman said. Other container management tools include Mesosphere, CoreOS Tectonic and Amazon EC2 Container Service.
So, what's behind Docker's success? Despite its relative immaturity as a technology -- the software has been in use since 2013 -- its tie-in with cloud computing might give it an extra push in enterprise IT.
"A lot of organizations are expanding what they're doing in cloud computing, so it makes sense that they're looking at these types of container management and orchestration software providers to support them at scale -- with the types of security and compliance assurances they need," Lyman added.
But some enterprises mistakenly think of Docker as virtualization 2.0, with containers simply being the next generation of VMs. "I'll get questions from enterprises asking what containers have in the order of multi-tenant security that's like VMs," Lyman noted. "The answer is nothing -- yet. That's a work in progress." Expecting containers to work the same and require the same management as VMs can get operations managers into trouble.
A layer of orchestration above server configurations can abstract these differences and handle the complex machinery of modern applications.

Service orchestration brings application code from development onto IT resources with highly automated and intelligent steps that reduce the chance of human error or limitations of manual processes.
Service orchestration software encapsulates pieces of an application and directs them to operate together. This level of abstraction requires flexible, reconfigurable IT infrastructure controlled with policies -- not manually configured. It works with other systems management tools, such as configuration management and developer environment virtualization, to deploy complex distributed applications. Infrastructure as code and service orchestration can control public cloud resources, as well as private cloud servers. It's one piece of the puzzle for organizations adopting a DevOps methodology.
"The more we move toward cloud services -- the more we move toward infrastructure as code -- the more DevOps makes sense," said James Sandlin, DevOps lead at eBay Inc., based in San Jose, Calif., speaking at a Meetup group in Portland, Ore.
Juju is an open source modeling and orchestration tool for deploying applications on cloud resources. It provides automated scaling and application management for instances, regardless of the number of servers underlying the services. The tool, which encapsulates services in Juju Charms that follow prescribed models, was developed by Ubuntu Linux provider Canonical and is offered free as part of its suite for cloud management.
Another popular open source service orchestration option is Terraform, which oversees infrastructure as code builds and changes, bridging different platforms such as public and private cloud environments. Interdependencies of services running on the infrastructure pose a key challenge for IT operations teams when transitioning from monolithic to distributed application architectures that may scale in different ways, depending on usage. Organizations can use Terraform to automate a Google Kubernetes cluster setup, for example, manage the state of storage in Amazon Web Services deployed infrastructure or graph dependencies between resources. In addition to the community version, the tool is offered in HashiCorp's Atlas, a commercial package of software that also includes Vagrant and Packer.
Beyond provisioning and changing infrastructure for applications, IT systems management moves into monitoring and analytics.

Open source monitoring tools give IT teams the power to monitor infrastructure, networking, applications and all other aspects of IT.
Two major open source system monitoring tools, Nagios and Zabbix, function pretty similarly.
As the name implies, monitoring tools don't have automatic remediation capabilities to fix the problems they detect. They do, however, make keeping an eye on applications and infrastructure far less tedious.
Infrastructure monitoring systems communicate with the various pieces of an IT deployment via protocols, such as HTTP and Simple Network Management Protocol (SNMP). For example, through HTTP, an open source monitoring tool examines the performance of the organization's website for specific trends. Through SNMP, another tool monitors a server and messages the IT ops team when a disk approaches full or when a VM fails.
"When I look at tools, I look at what is being used across the industry and what tools are being used by the big companies, because they have the same challenges as us," said Nitin Madhok, a systems developer and programmer on the infrastructure code team at Clemson University. Despite similar functionality, Nagios and Zabbix aren't identical.
To set up Nagios, "you can just spin up a server and install Nagios and be done with it," Madhok said. Zabbix is more difficult to get started, he said, with a harder user interface to manage. The tools also differ in features and OS support, as well as documentation. Nagios can only be installed on a Linux OS and doesn't come with charting or graphing, although its high customizability allows for third-party plug-ins to make up for the missing functionality. Zabbix, on the other hand, supports all OSes and comes with more features, such as charting and graphing, built in.
The Clemson University IT team uses a combination of open source and commercial infrastructure monitoring tools. "We use open source tools for monitoring -- Zabbix, Nagios, Icinga 2 -- as well as CA Spectrum," Madhok said. However, the team is moving off of the commercial offering from CA Technologies due to high price and limited functionality. And while they haven't opted to run Icinga 2, which offers real-time open source system monitoring, in the production deployment as of yet, the distributed design with load balancing capability is appealing.
"We plan to use all these tools together, so we could build a robust monitoring system that would solve most of the issues," Madhok said.

Open source log management tools collect and analyze system logs to aid everything from application updates to network and security optimization and IT performance. Everyone can use logs.
Open source log monitoring and management tools like Graylog, or the ELK stack of Elasticsearch, Logstash and Kibana, provide IT pros insights into their environments, offering performance data about what server in which location powered on or off, how many users logged in, when intrusion attempts were made on servers and other events.
The ELK stack's three different open source projects work together. Logstash is a highly configurable daemon installed on a VM or a bare-metal server. It allows you to specify what logs to collect, the type of logs and to which server the logs should be sent. The destination server runs Elasticsearch, which aggregates and stores those logs. Kibana is an open source log analyzer, which makes logs searchable and turns log data into charts, graphs and trendlines to reveal trends and patterns. Graylog offers similar features, but is powered by Elasticsearch and the open source document database MongoDB.
Log management tools deliver analysis and monitoring in complex IT infrastructures. For example, at Clemson University, the infrastructure code team uses the ELK stack to manage VMware ESX virtualization server logs. "When the storage went down, it would create a lot of errors on the ESX servers," said Nitin Madhok, a systems developer and programmer on the infrastructure code team there. He easily set up a dashboard using the three open source log management tools to show how many times in a month his ESX server experienced errors and charted those events based on when errors occurred.
In another example, an IT ops team working with a database server can pinpoint issues happening to the server based on frequency and time.
There are fewer differences between the ELK stack and Graylog than there are between open source tools and proprietary commercial log management tools. A commercial version of ELK stack from Elastic includes more features that organizations and enterprises need, Madhok noted. User management is only available in the supported commercial edition of Kibana, and the community version of Logstash creates indexes every day that the administrator must manually delete. Graylog addresses some of the drawbacks of the ELK stack, as it offers more features, such as user management, for free. While free is appealing, make sure open source tools meet compliance guidelines and security auditing requirements for your company.
Depending on how large your environment is, you may want to consider third-party tools in addition to the open source log management software to ease administration and remediation tasks.
"One person doing ELK stack by themselves is not something the university wants," Madhok said. Because of the limited manpower, Madhok purchased Splunk licenses to fill the gaps of ELK stack, but found them expensive. Splunk Enterprise is priced based on maximum daily aggregate volume of uncompressed data indexed, with the cost per gigabyte ranging from hundreds to thousands of dollars, depending on the plan.
Sometimes, open source software requires more involvement and more labor than commercially packaged software, said Jay Lyman, research manager for cloud management and containers at 451 Research. That roadblock has been winnowed away as open source adoption hits a maturity level that began with dabblers a decade ago. Those early adopters helped develop talent in-house and are now managing open source tool teams, said Stephen Elliot, vice president of research at IDC.
Today, corporate is accepting open source more than ever, and these open source tools enable new organizational and team structures. Investing time and energy into learning the most popular open source system management tools could pay off in new opportunities.