What tools should I learn?
There are a wide variety of DevOps solutions in the market, each with different adoption, some include:
Puppet Enterprise is one of the DevOps tools that the engineers often rely on! This tool, supports immensely on management configuration and software development while making repeatable and rapid changes. Some of the Key features that are supported by Puppet Enterprise are
- Helps in continuous delivery
- Works with a common Tool chain
- Automatically involves the consistency of work environment
- Delegates works across virtual and physical machines
Getting Started in Puppet
Puppet Learning VM
Chef is a company & configuration management tool written in Ruby and Erlang. It uses a pure-Ruby, domain-specific language (DSL) for writing system configuration “recipes”. Chef is used to streamline the task of configuring and maintaining a company’s servers, and can integrate with cloud-based platforms such as Rackspace, Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, and Microsoft Azure to automatically provision and configure new machines. Chef has solutions for both small and large scale systems, with features and pricing for the respective ranges.
An overview of Chef & DevOps
Getting Started with Chef
Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs. Being designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all of your systems inter-relate, rather than just managing one system at a time.
Ansible Online Training
Jenkins is an award-winning application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs:
- Building/testing software projects continuously, just like CruiseControl or DamageControl. In a nutshell, Jenkins provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to get a fresh build. The automated, continuous build increases the productivity.
- Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Jenkins keeps those outputs and makes it easy for you to notice when something is wrong.
Jenkins – Meet Jenkins
Getting Started With Jenkins – Tutorial
Capistrano is a remote server automation tool. It supports the scripting and execution of arbitrary tasks, and includes a set of sane-default deployment workflows.
Capistrano can be used to:
- Reliably deploy web application to any number of machines simultaneously, in sequence or as a rolling set
- To automate audits of any number of machines (checking login logs, enumerating uptimes, and/or applying security patches)
- To script arbitrary workflows over SSH
- To automate common tasks in software teams.
- To drive infrastructure provisioning tools such as chef-solo, Ansibleor similar.
Capistrano is also very scriptable, and can be integrated with any other Ruby software to form part of a larger tool.
Getting Started with Capistrano