This course is designed to give you an introduction to concepts related to the automatic management of infrastructure in the IT industry. Using tools like scripting languages, version control, configuration management systems, and monitoring solutions, this course will give you an introduction to automation in IT. It will have an emphasis on creating automation that’s both scalable and manageable. By the end of this course, you’ll be able to: * understand the fundamentals of programming using the Ruby language. * create basic automation scripts to perform system administration tasks. * use regular expressions to extract meaning from raw text. * manage code by using the version control system, Git. * develop and understand the benefits of tests for the scripts and automation they create. * deploy software using the Chef configuration management software and understand the principles of configuration management in the IT context. * track the health of technology systems through monitoring and become familiar with common monitoring concepts and practices Before taking this course, it's helpful to be familiar with the following concepts: - installation of software on a computer platform - basic computer network terminology and concepts - common system administrator tasks and responsibilities This course has been designed to be completed completely in-browser. You don’t have to install any software on your computer. However, supplemental readings and instructions are provided, where appropriate, if you want to install the software and tools that we discuss in order to experiment on your own systems. Except as otherwise noted, the contents on this site are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.