Learning Path: Modern DevOps
4.2 (253 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,669 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Path: Modern DevOps to your Wishlist.

Add to Wishlist

Learning Path: Modern DevOps

Move into the modern DevOps world with Git, Docker, and Puppet
Bestselling
4.2 (253 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,669 students enrolled
Created by Packt Publishing
Last updated 8/2017
English
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 15 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Gain skills in order to add resilient services to your app or infrastructure by learning configuration management, continuous deployment, and other DevOps techniques
  • Employ the advantageous features of Git in your projects to optimize your workflow
  • Explore opportunities with Docker to achieve rapid application deployment, reliability, scalability, and portability across machines and clouds
  • Deploy and configure Puppet and learn advanced techniques in a medium to large organization
View Curriculum
Requirements
  • Prior system administration experience will be an added advantage.
Description

Ready to get more efficient and effective in overcoming day-to-day IT infrastructure challenges? Let’s take advantage of the DevOps revolution!

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

DevOps looks at software development in a whole new way. You can automate and build configurations for infrastructure servers and then address areas of automation, continuous deployment, containers, and monitoring. Git, Docker, and Puppet are the foremost tools in the modern DevOps world.

This Learning Path covers a deep dive into DevOps with the Mastering DevOps section. We then cover the basics of version control using Git with the Learning Git section. Further on, we move towards mastering containerization using Docker in the Mastering Docker section. Finally, we learn how to leverage Puppet to ease configuration management in our IT infrastructure.

We have designed this course keeping in mind what modern DevOps engineers require to fully utilize the resources in hand.

About The Author

This Learning Path is authored by some of the best in their fields.

Dave Mangot

Dave Mangot is the director of operations for Librato and Papertrail and an accomplished systems engineer with over 20 years of experience. He has led transformations of multiple companies both in operational maturity and in a deeper adherence to DevOps thinking.

Sam Slotsky

Sam Slotsky is a software engineer and saxophonist and is currently employed by Ackmann & Dickenson, Inc., Minneapolis, specializing in backend web applications, databases, and JavaScript.

Shrikrishna Holla

Shrikrishna Holla is a full-stack developer and entrepreneur based in Bengaluru. He builds and maintains sigalrm.io, a service that provides actionable alerts, allowing your engineers to take immediate remedial measures.

Thomas Uphill

Thomas Uphill is a long-time user of Puppet. He has presented Puppet tutorials at LOPSA-East, Cascada, and PuppetConf. He has also been a system administrator for over 20 years, working primarily with RedHat systems. He runs the Puppet User Group of Seattle (PUGS).

Who is the target audience?
  • This video targets system administrators, developers, and IT professionals who would like to employ DevOps techniques and best practices to manage IT infrastructures or would like to acquire the skills needed to work in DevOps teams. No prior knowledge of Git is required, although a fair idea of what Docker is all about is an advantage. This Learning Path assumes intermediate-level knowledge of Puppet.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
109 Lectures
15:01:08
+
Mastering DevOps
38 Lectures 05:47:29

This video will provide you an overview of entire course.

Preview 07:07

There is a lot of press about DevOps, but really what's in it for you? In this video, we show the results of the science behind the approach and start looking at software development in a whole new way.

Is DevOps for Me?
07:32

In Gene Kim's DevOps model of the three ways, the first way is about optimizing delivery of our software. In this video, we are exposed to systems thinking and ways we can improve our speed of delivery.

The First Way – Systems Thinking
08:54

Getting feedback on our improvement is the only way to know if the changes we make are having an effect. In this video, we examine the ways to get feedback and the benefits of collecting feedback.

The Second Way – Feedback Loops
08:37

The fastest and best way to move quickly is to continually experiment with new ideas, concepts and techniques. This video discusses how continually testing, probing, and analyzing lead to the highest performing teams.

The Third Way – Culture of Experimentation
08:51

The components of the three ways, used together, enable us to move faster, learn quicker, and improve more than ever in the past. The principle of Kaizen is the rationale for these improvements.

The Principle of Kaizen
05:56

In this video, we introduce the CAMS model of DevOps and start to examine why Culture was made the very first, and most important, component of the model.

CAMS – Culture
08:26

We'll explain why automation is a critical component in DevOps that allows us to get all of the benefits of the three ways in this video.

CAMS – Automation
06:14

Just like the second way where we need feedback, the Measurement part of the CAMS model complements the second way; we'll examine what you can measure and how to use that information to your advantage.

CAMS – Measurement
05:26

In this video, we'll briefly discuss the final component of the CAMS model—Sharing. There are examples of sharing built into DevOps continually; we'll discuss why.

CAMS – Sharing
08:12

A DevOps Software Development Life Cycle (SDLC) looks very different from a traditional SDLC. We examine how the DevOps one helps us achieve the goals of Gene Kim's three ways.

Traditional Versus DevOps SDLC
08:23

"You wrote it, you run it." What does that mean? In this video we look at the concept of service ownership and how everyone is responsible for how our software performs in production.

Service Ownership
08:43

Let's talk about hack events—not only how they are great fun to participate in, but also how to run one and why they are such a key component of the culture of many admired companies.

Hack Events
12:04

We take a look at destructive testing and how to incorporate it into the culture of your company in order to deliver high-quality software.

Destructive Testing
05:15

In many large companies, we achieve the goals of DevOps through cross functional teams. In many small companies, we act as one cross-functional team. We look at why it's such a powerful way to organize teams.

Cross-Functional Teams
05:20

This video will look at the reasons why automation is a necessary part of the maturity of a company. We'll talk about what the normal problems are and how automation empowers us.

Why Automate?
09:25

Now we fire up a virtual machine and write our first infrastructure code. We'll get introduced to the operating model of SaltStack and use it to configure our virtual machine.

Configuration Management with SaltStack
11:09

Being able to configure a single virtual machine—being able to control thousands of machines from a single location—is how we leverage automation to do things we could only dream of in the past. In this video, we learn how to do just that.

Configuration Management for Distributed Systems
07:19

Containers are one of the hottest topics in DevOps at the moment. Why? We will look at what came before, what's great about containers now, and how to choose between containers and configuration management.

What about Containers?
07:51

We've built and run a virtual machine using configuration management. In this video, we do the same for containers as we learn about Docker and build and run our first container.

Building and Running a Docker Container
08:19

We know that automation is important for DevOps, and Continuous Delivery is critical to being able to deploy quickly and satisfy the 1st way of DevOps. We look at how a proper continuous delivery pipeline is formed.

What is Continuous Delivery?
09:58

In this video, we are first introduced to Vagrant, which we'll use again and again throughout the course. We'll learn how easy it is to set up a test environment, and to control our virtual machine after we do.

Your First Test Environment
10:35

In this video, we go beyond the basics of Vagrant. We learn how to control multiple machines and set up a development environment that leverages both our favorite tools and multiple Vagrant virtual machines.

Configuring and Launching with Vagrant
12:47

Now that we know how to write some configuration management code and how to work with Vagrant virtual machines, we bring the two concepts together and learn how to automate the testing of our configuration management code.

Testing with Serverspec
09:26

We know what it takes to get our code to be ready for production with automation and testing. Now we look at some different methodologies for delivering software over the last line, into production.

Am I Ready for Production?
05:43

We know that in order to make improvements we need to be able to measure how far we've come. In this video, we look at different types of metrics you can collect, how to collect them, and how they can be used.

Measurement Concepts
10:53

Graphite is one of the most popular open metrics tools available. We'll set up our very first Graphite server, examine the components, and look at some of the ways we can use it to really understand our data.

A Tour of Graphite
12:11

Using the built in data from our example was a great way to get used to the Graphite system. In this video, we're going to go one level deeper and see ways in which we can programmatically submit real data to our metrics system. This will allow us to monitor anything we can measure.

Getting Your Data into Graphite
13:59

There are lots of different pieces of software that will allow us to collect metrics about our systems and applications with very little effort. We look at some popular and simple examples and how we can automate their installation using Puppet.

Monitoring Agent Examples
08:47

Being able to collect lots of data is great, but we can't sit and look at dashboards all day long. We'll configure a monitoring and alerting system to take our Graphite data and perform actions based on what it finds.

Actionable Data
14:41

Agile software development revolutionized the way software was developed, much like how DevOps revolutionizes the way it is delivered. We'll learn about the goals of agile and look at specific examples of its implementation.

Agile
13:49

We know that retrospectives are valuable ways to collect feedback. We dive even deeper into that concept as we discuss learning reviews, things to enable your success, and pitfalls we need to be cautious of.

Learning Reviews
11:32

Practicing ChatOps is one of the most fun and effective ways of Sharing in a DevOps culture. We'll talk about what makes ChatOps so powerful and then build our own Chatbot to really bring the concept home.

Chatbots
10:08

There are lots of other ways the most successful companies practice sharing. We look at a few different techniques you can experiment with to bring sharing deeper and wider into your organization.

Other Sharing Tools
10:44

We've learned over the duration of the course that DevOps is more than just Dev and Ops. We examine how you can bring other parts of the organization into the DevOps fold and enable the delivery of secure, high-quality software.

Security/Quality Engineering
09:26

Solving the problems presented by auditors and compliance can be some of the most challenging parts of our work in IT. In this video, we'll examine how, armed with our DevOps approach, we can use the things we've learned to make these problems much easier to solve.

Compliance
10:17

A company is more than just Dev, Ops, Security and compliance. It's a living, breathing ecosystem of many different departments and people, all working together towards the same goal. We take a look at how we can bring the entire system together.

Sales, Marketing, and Beyond
04:41

Peter Senge's idea of a Learning Organization shares many elements that we describe when talking about DevOps. We examine Peter's idea and present resources you can use to explore the areas of DevOps that interest you the most in greater depth.

Becoming a Learning Organization
08:49
+
Learning Git
14 Lectures 01:15:09

Get introduced to Git and learn how it can help developers work more efficiently.

Preview 02:40

Version control is very important to track changes when several people are working on a single project.

Git Version Control
03:58

Different team dynamics requires different collaboration techniques. Choose the workflow that suits your group.

Choosing a Workflow
04:08

Collaboration on changing content necessitates the ability to keep a history of modifications. Initialize your Git repository right away to begin tracking changes.

Initialization
03:57

After making changes, your project is in a working state, which you need to save before further modifications. Use "git commit" to check in this set of changes.

The First Commit
06:45

In order to collaborate, other team members need access to your repository. Add a link to an online remote repository where everyone's changes will be gathered.

Managing the Remotes
07:15

You need to be able to identify when changes were made to files and who made them. Use "git log" with various options to see the story of how your project was built.

Viewing the History
07:13

Keep your work streams clean and isolated. Make branches for each feature and let team members work with copies of the original repository.

Branching and Forking
05:30

Keep current with updates from other team members. Track and pull down updates from shared branches.

Synchronizing
08:03

Submission of work requires an approval process. Use a pull request as a means to discuss and approve reviewable changes.

Issuing Pull Requests
08:30

Small commits can cause noisy history and difficult conflict resolution. Use interactive rebasing to squash a range of commits into one.

Interactive Rebasing
05:57

You want to keep track of specific versions of your project, such as those used in deployments. Use the tagging feature to permanently mark any point in the project's history.

Tagging a Release
03:33

When collaborating, you need a quick insight into who added or removed code and why. Use the blame feature in forward and reverse order to discover where changes originated from.

Tracing Code
04:21

You've acquired substantial knowledge on a powerful versioning tool. Review the lessons learned and get some hands-on experience.

Where to Go Next?
03:19
+
Mastering Docker
25 Lectures 03:11:46

This video will provide you an overview of entire course.

Preview 04:00

The aim of this video is to talk about the underlying concepts of Docker. It is critical for us to know how the internals of Docker are laid out so that if we encounter problems whilst using Docker, we will be able to figure out exactly what went wrong and where.

Recollecting Docker Concepts
07:33

The aim of this video is to revisit some of the more useful Docker CLI commands.

Docker CLI Commands
10:48

Running setup commands in a running container and then committing it, although possible, is not an efficient solution. It also doesn’t lend itself very well to automation. So, we will look at automating the image creation process using Docker file and the Docker build command.

Scripting Primer
10:42

In this section and video, we will learn about Docker Compose. Compose is a tool for orchestrating multi-container Docker applications.

Composing Primer
10:08

We have set up diaspora enough number of times in various different ways in the last few videos. Let us apply this learning to make a deployment of diaspora on to an AWS instance

Deploying Composed Services
14:12

The aim of this video is to scale application services across multiple containers in a single host.

Single Host Scaling
03:58

The aim of this video is to discuss the default networking drivers available in Docker, and specifically the bridge network.

Bridge Networks
11:25

Discuss and get familiar with the multi-host networks completely.

Multi-host Networks
03:09

The aim of this video is to explore solutions to service discovery.

Service Discovery
08:26

In this video, we will be designing infrastructure for the next phase of our diaspora deployment.

Designing Infrastructure of the Social Network
08:04

Use Swarm to deploy diaspora on a cluster of Docker hosts.

Swarm Basics
14:53

Deploying a Swarm cluster on AWS.

Swarm on AWS
07:10

Discover the tools that give more power to operations, with a better ability to scale out. These tools are production ready, are battle tested, and are being used in production today at some of the biggest companies.

Introduction to Managed Cluster
06:13

Explore Kubernetes, Google’s cluster management tool that they use to back their container engine.

Kubernetes
08:54

We will be setting up Marathon and Mesos locally in a VM.

Marathon / Mesos
11:41

Discuss security considerations and possible attack vectors in a Docker deployment.

Attack Vectors
07:30

Explore Docker Bench for Security tool and use it for our Docker environment.

Docker Bench for Security
05:48

Deals with the issue of content security when transferring objects over an untrusted medium—the Internet.

Notary and Content Security
05:03

Discuss the options available to route logs—logging drivers.

Logging Drivers
05:05

Learn how to use volume plugins.

Volume Plugins
04:41

Discover how to extend Docker with the Network Plugins

Network Plugins
04:44

Discuss the best practices in a Docker environment.

Keeping the Garden Pruned
09:38

Discover the tools available to complement workflows in the Docker ecosystem.

Ecosystem Tools
04:25

We will look at Dockercraft.

Dockercraft
03:36
+
Mastering Puppet for Large Infrastructures
32 Lectures 04:46:44

This video provides an overview of the entire course.

Preview 02:36

Puppet is a configuration management tool; you use it to keep the configuration of your machines consistent. There are several terms used in a Puppet installation; we'll introduce those here.

Introducing Puppet and Terms Associated with Puppet
17:53

In this section, a detailed understanding of the different Puppet architectures will be provided, with emphasis on the difference between installation with Passenger and Puppet Server.

Puppet Code, Puppet Servers, and Environments
06:50

We will learn how to initialize a code repository for our project and how to create appropriate branches for the same to be used in development, builds and tests later.

More about Puppet Servers and Environments
07:15

We will learn to use r10k to manage module dependencies in our project and see how they can be useful to automate deployments in the MPLI Productions Puppet infrastructure.

Git Control Repositories and r10K
19:00

In this video, we will go through the typical installation of a PuppetServer machine in a standalone configuration. For convenience, we will refer to this machine as puppetca.

Creating a Puppet Server Machine from Scratch
10:15

In this video, we are going to have one puppetca and two puppet master machines. The puppetca will act as a load balancer for our configuration.

Expanding on Our Standalone Puppet CA Machine
09:28

In this video, we will modify our configuration to make the puppetca machine accessible directly.

Enterprise Configuration - Master of Master(MOM)
07:32

In this video, we will learn how to tweak parameters in the Puppet configuration files to increase performance in Puppet client runs and in storing and retrieving Puppet metadata.

Performance Tuning with Puppet Server
05:47

In this video, we will learn how to install and configure PuppetDB with a PostgreSQL database as the backend for better scalability in the MPLI Productions environment.

Understanding Storeconfigs and PuppetDB
16:19

In this video, we will introduce the concept of exported resources and show some usage examples.

Exported Resources
04:35

In this video, we will learn how to utilize the default dashboard available with PuppetDB and how it can be used to visualize infrastructure data for MPLI Productions.

PuppetDB's GUI
04:42

In this video, we will learn about the different API endpoints that PuppetDB provides and the type of information that we can utilize and manipulate from them.

PuppetDB's API
05:57

We will learn how to use already developed public modules and reuse them for tasks in MPLI productions.

Public Modules
19:52

We will learn to create custom facts based on internal requirements for MPLI productions and use them to develop modules.

Creating Our Own Custom Facts
08:27

We will learn how to go beyond the default types available with Puppet and write custom types for an MPLI Productions environment.

Running Our Own Custom Types
09:21

We will understand what Hiera is and how to use it for data management for an MPLI Productions Puppet environment.

Using Heira
12:28

We will configure mcollective on the Puppet client nodes in MPLI Productions so that we can run remote commands and modules on the nodes using the same.

Using the 'ensure => absent'
01:26

We will learn how to configure Puppet to enable reporting.

Setting Up Puppet for Reporting
05:42

We will learn how to install, configure and manage the Foreman dashboard and integrate the Puppet masters for MPLI Productions with it.

Foreman Reporter with Our Puppet Installation
07:06

We will learn how to configure various types of report processors for the dashboards and generate meaningful reports for the MPLI Productions infrastructure.

PuppetDB to Store Reports
03:30

We will learn how to identify and monitor Puppet events such as sync failures and raise alerts and notifications for them for MPLI Productions.

Using Report Processors to Monitor Systems
04:13

We will learn how to install puppet-lint and use it to perform DSL syntax tests on the puppet code we have written for MPLI Productions.

How to Check the Syntax of Our Code?
08:19

In this video, we will learn to install rspec-puppet and write unit tests.

Using rspec-puppet to Create Tests for Our Code
10:46

In this video, we will learn to install Beaker and write acceptance tests.

Beaker
07:12

We will learn to install Test Kitchen and bring all of the above mentioned tests together so that they can be run as a suite.

Test Kitchen
13:59

We will learn to use the tests that we have written and build the Puppet code on Jenkins to be merged with the master branch of the repository.

Jenkins
12:02

In this video, we will talk about the Puppet API and the Puppet CA API.

APIs
08:24

In this video, we will discuss SSL certificates and X509 SSL certificates.

SSL Certificates
10:15

In this video, we will discuss why does Puppet fail the first time then work fine the second or third time.

Metaparameters and Ordering
09:35

In this video, we will use Pry to interrupt the Puppet server and inspect the running process.

Using PRY to Inspect the Puppet Server
05:58

We will learn to understand and follow a few best practices to develop Puppet code and maintain the Puppet infrastructure in an efficient manner.

Puppet Best Practices
10:00
About the Instructor
Packt Publishing
3.9 Average rating
7,282 Reviews
51,859 Students
616 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.