Course Outline

Welcome to Dare DevOps, where you will learn how to take web applications from your developer’s machines to their users, effectively and efficiently. This course is broken into modules, and each module can be referred to as a course.
This is to accommodate those of you who are advanced learners, those that just need the practical usage of some of the technologies discussed here. So you can consider the whole platform, or each module a course. Talking about modules, there are 8 of them at the moment. More will be added later, depending on your suggestions.
Below is a list of the currently available modules and a brief introduction about each of them.

You are advised to watch them in the order that they appear except you are an advanced learner.

1, Set up and Configure a Local DevOps Lab

In this module, you are going to learn how to set up a local DevOps lab, on your personal computers. You are going to create an environment that consists of multiple virtual machines, both the servers and the desktops, that you need to practice the DevOps skills that you learn on this platform and even those skills that you picked from other platforms. The virtual machines that you will create are not different from those that you create in the cloud. The difference will be that you are not paying to use those in your environment.

2, Getting Started With Linux and Command-line

In this module, I will introduce you to the basics of working with the Linux command line, using the very common bash shell. I'll explain what the command line is, and how its major parts work. We'll take a look at working with files, and directories, and I'll explain how Linux protects files from unauthorized access, with permissions. I will show you some common commands, how to create and manage users on Linux, through the command line, and so forth.

3, Practical Git & GitHub for Code Management and Delivery

In this module, we are going to be learning how to work with Git, the source control management software, and GitHub, the most popular source code management platform. You are going to learn everything that you need to know, to work with Git and GitHub for your day to day activities, as a developer, an administrator, a team lead, or anyone, working on software code delivery and management. And doing so efficiently.

  • You will learn how to work on your personal projects and work in a team, in your organization, or contribute to open source projects.
  • You will get a good understanding of GitHub Pull requests, merging, Issues, and using Github as a collaboration tool.
  • You will learn how to use GitHub to enforce organisational policies, regarding working on your projects.
  • You will learn how to use Github as an effective communication tool, and so many other git stuff that you will be using daily at work.

4, Getting Started with AWS

In this module, you will learn

  • How to sign up for an AWS account,
  • How to familiarize yourself with the AWS console,
  • How to create and manage users and permissions on your AWS account,
  • How to create and manage users and permissions on your AWS account,
  • How to create and manage virtual machines, (EC2 instances), which is one of the biggest services, provided by Amazon Web Services.
This module is going to be our AWS foundation, on which we are going to build more complex courses and solutions, on this platform.

5, Getting Started with Jenkins for CICD

In software development and system administration, automation saves time and helps you work more efficiently. Jenkins is a program that you can use to manage all types of automation. including software builds, application testing, deployments and much more. In this module, you are going to

  • Get familiarized with the Jenkins interface.
  • You will install Jenkins, and learn how to work with, and manage Jenkins plugins.
  • You will then dive into creating, and configuring Jenkins pipelines
  • You will learn how to configure to send email notifications to you when there's pipeline failure,
  • We will work with a simple demo code, stored on Github, to set up a fully functional CICD pipeline, that gets triggered by a GitHub webhook
  • And more

6, Deploy a Django App & Set up a CICD Pipeline with Git GitHub & Jenkins

In this module, you are going to learn how to deploy a python Django application, and how to set up a fully functional CICD pipeline to automate the process of re-deployment. As a developer or a DevOps professional, there’s no way you can go far in your career without understanding the concepts that we’ll be talking about in this course. Even as a solo developer, working on your personal projects. You need to know how to deploy and re-deploy your applications efficiently. And to make the course practical and applicable, we are going to be working with a full-fledged Django application. That is because we understand that just echoing Hello world will not take you anywhere in your career

7, Deploy a Laravel Application With Jenkins CICD Pipeline

In this module, you will learn how to deploy a PHP / Laravel application, and how to set up a fully functional CICD pipeline to automate the process of re-deployment. As a developer or a DevOps professional, there’s no way you can go far in your career without understanding the concepts that we’ll be talking about in this course. Even as a solo developer, working on your personal projects. You need to know how to deploy and re-deploy your applications efficiently. And to make the course practical and applicable, we will work with a full-fledged Laravel application. We'll make the CICD system based on GitHub's Git workflow, which is one of the most popular workflows.

8, Using Docker for Development

In this module, you will learn the basics of Docker, and then dive into how Docker is applicable to our Django's polling project. You will learn how you can use Docker to speed up the dev's environment setup for the polling app.