
This video will give you an overview about the course.
DevOps is a philosophy more than a set of tools or a procedure. In this video, we will look at DevOps and corporations.
• Understand the DevOps concept
This video brushes through the traditional release management concept. We will also see the cost of fixing buys as well. The other main part of this video deals with modern release management where we will have a look at Agile development and communication.
• Study the traditional release management system
• Understand the importance of Agile development and communication
Microservices are a big trend nowadays. It is a small software components that allow companies to manage their systems on vertical slices of functionality. In this video, we will see DevOps organizational alignment.
• Understand microservices and DevOps Organizational alignment
Let’s start off with an overview of Microsoft Azure Service.
• Take a look at app services
• Learn about data and storage services
• Create resource group
In this video we will see what makes DevOps distinct and what does deploying on Azure offer.
• Learn what DevOps does
• See how Azure DevOps solutions deliver software
Now that we’ve got introduced to Azure, let’s create a virtual machine.
• Sign in to Azure and create resources
• Download the template URL
This video will show us cluster creation in Azure.
• Take a look at cluster and server certificate
• Create Service Fabric cluster
• Inspect your cluster
This video will take you through new concepts of Docker. It will explain the architecture of Docker. We will also take a look at Docker client.
• Install Docker
• Implement Docker Internals example
• Pull and run Docker images
In this video, we will use Dockerfiles to provide better way of building images in Docker.
• Understand the Dockerfile example
A registry is basically a software that allows us to store and distribute Docker images. This video explains two types registry: Public registry and Private registry.
• Create a repository using Public registry
• Understand the advantages of Private registry
Networking is an important part of Docker. In this video, you will see different types of network as well. You will also see user-defined networks.
• Understand different networks with example
• Deploy busybox on Docker server
• Create user-defined networks
Docker facilitates a tool called docker-compose that can spawn a full ecosystem of containers.
• Look at the working of Docker Compose
This video will explain the software development life cycle objectives. We will also talk about different types of tests.
• Study the working of SDLC cycle
• Understand the testing types
This video talks about two traditional CI servers: Bamboo and Jenkins. Bamboo is a proprietary CI server that is developed by Atlassian. Jenkins is also modular, which enables developers to write plugins to extend functionalities. We will also secrets management in Jenkins.
• Set up a job in Bamboo
• Set a fully functional Jenkins job
• Create secrets in Jenkins
In this video, we will see modern CI server: Drone CI. Drone is probably the newest CI server in the market. Drone is built around the concept of containers. Everything in Drone is a container.
• Install Drone using docker-compose
• Run builds in Drone
• Implement pipeline in Drone
Azure CLI 2.0 is Microsoft's cross-platform command line experience for managing Azure resources. In this video, we’ll see how to install it.
Terraform is a product developed by HashiCorp. HashiCorp is a company with a strong focus on DevOps tools. Let’s take a look at it in detail.
• Create a resource with Terraform
• Learn to modify infrastructure with example
In this video, we will look at some server provision software: Chef, Puppet and Ansible. Chef is a very interesting software that follows the bastion host principle to run configurations on our servers.
• Understand the three actors of Chef : Server, Workstation and Nodes
• Look at the differences between Chef and Puppet
This video is all about Ansible. We will see how to configure Ansible.
• Create a VM
• Create an Ansible configuration file
This video will explain Ansible variables and templates. Variables are the most simple of the potential customizations. Templates are another powerful tool from Ansible. In this video, we will see flow control and roles as well.
• Define values with variables
• Create template with Nginx configuration
This video will give you an overview of the course.
The aim of this video is to discuss different perspectives of software development, from basic software engineering to its tools, patterns, strategies, and frameworks up to the modern software.
Discuss different models and a little about their implementations and role in the software development lifecycle
Highlight the features of common SDLCs and then discuss how complexity grows in a traditional software development process
Get a quick overview of Agile flow and its requirements
Discuss why we need to take a step ahead from Agile to DevOps.
Discuss the relationship between the developer and operations teams
Explore how DevOps bridges the gaps and how automation makes the flow smoother by taking maximum control of the ongoing process
Oversee and talk about the responsibilities that a DevOps team should possess in order to have the real ownership
Potentially, we’ll see what CI/CD is and the misconceptions related to its role in this whole DevOps chain.
Learn about the base line where Dev and Ops meet and the actual concept behind it
Discuss the continuous nature of DevOps flow and how much it impacts the overall process
Address actual outcomes and role functionality of these two major phases (CI/CD), and the code-level benefits of being in the DevOps chain
From start to the end, learn the entire flow that needs to be followed and how this cycle makes the things less frictional.
Learn about the different phases and the given eases and benefits of each of these phases
Study the concept of DevOps and SRE engineers
Get to know what DevOps is for developers and how they should consider playing their role for it
There are many different cloud platforms that support DevOps practices, but you need to choose wisely which one ideally suits your requirements.
Understand why Microsoft Azure could provide a suitable cloud platform to offer the needed services and tools
Highlight the different features offered by Microsoft Azure to make the DevOps implementations easy and scalable
Discuss a few other reliable tools that make Azure a more powerful option, that is, VSTS
What is it about and what does it offer to make things organized and updated within the team?
It offers a cloud-based solution of Visual Studio team foundation services
Explore the role of VSTS throughout the course
Learn how efficiently it works with Azure and provide connectivity to it
The aim of this video is to learn how VSTS works in integration with Azure.
Learn what VSTS offers as a service: endpoint connectivity, user accounts, Azure AD, and so on
Discuss Azure AD, the principles that help us to access other resources for the DevOps pipeline, and overall development
Take a look at how the ‘DevOps Project’ helps a team to commit, build, release, and do analytics using VSTS
Learn what it supports, and how it opens the path to use many other third-party open source tools and services.
Know how Azure supports the idea of working with open source tools and technologies
Learn why Microsoft loves open source and became an open source contributor, and where Azure stands in it
Azure DevOps project is not a typical DevOps project. It’s a platform that provides ease to go along with all the steps included in DevOps implementations, but on the other hand, it has some limitations. They need to be considered beforehand.
Understand what the considerable limitations are when we decide to work with a DevOps project
Jot down a list of scenarios and questions on which you should consider your needs and requirements
Discuss the role of Azure DevOps, VSTS, and App Service from different types of actions involved in the DevOps lifecycle
The aim of this video is to discuss multiple considerable things while creating an account.
Talk about how to make a selection of runtime
Discuss how to select a VSTS account as per the app’ needs
Understand the terms to create an Azure App Service
Learn how to access the DevOps dashboard and the features we need to get familiar with.
Discuss all of the accessible information at a dashboard
Learn about reporting of the version control system, repository information, and so on shown on the dashboard
Learn how error messages work in analytics and how we can see the site traffic from the dashboard
The aim of this video is to discuss version control in VSTS (Visual Studio Team Services) and how to use it for building and managing our applications.
Discuss properties like number of allowed repositories, their accessibility, and so on.
Look into the user account and security settings. Target other topics like REST APIs, GIT commands, and online code editors.
Highlight some of the possible limitations: storage, import, export options, and supported large filesystem by GIT.
This video is a demonstration of how we can configure the continuous integration pipeline or edit the pipeline that is already created by Microsoft Azure for us.
Learn how to add tasks and agents in the pool, and create and utilize the variable for our CI pipeline
Explore how to set triggers and why exactly we need them
Specify the build artifacts, specify the retentions, and look for the history and summary settings as well
We discuss why exactly we need to test our application and what the right steps to test our application functionality and expected behavior would be.
Discuss why VSTS keeps testing applications
Know the tools and scripting languages used by DevOps pipelines
Learn what would happen in case of failure, to whom the alerts will be sent, and so on
In this video, we walk though some hidden gems of a DevOps project, such as the release environment, staging with best practices, and supported tools by VSTS (FTP, PowerShell, VM deployment, and so on).
The build pipelines were created and configured the release settings
Discuss the practical insight of the phases like integration, testing, and deployment
Discuss Azure support for deployment slots
Learn how we can include more agents (especially the Azure Virtual Machine), the need for it, and how we can improve the performance using these virtual machines.
Learn what packages and products we can install on these virtual machines, and how we can download the installer for this
Discuss the benefits of using these agents and the different types of cross-platform agents
Explore the account settings
There are some necessary settings and configurations to understand in order to get the expected behavior while working with Azure App Service. We’ll go through all the settings in this video.
Explore environment variables and learn how to set them
Discuss the privacy and policy settings, and how we can store passwords and connection strings securely
Get to know how we can set different alerts and render the default pages at times when our site is down
The concept of deployment slots is an advanced topic, provided by Azure for ease while deploying and maintaining our applications over the Azure portal.
Learn the benefits of having deployment slots
Know how we get the endpoint in the same service and same subscription for the other instances of our application
Discuss how we can manage the load without missing the traffic
Create a test environment and also learn about other settings such as instance scaling and API integration.
Explore how deployment slots can be used as the production environment
Discuss how your application will behave at times when new changes will be pushed
Test the working of REST APIs and their requests
This is the concept: our users will not face downtime issues because we have already set and tested the overall functionality after committing the code in the deployment slots directly.
Learn the deployment slots and how we test overall app functionality
Discuss how downtime affects user experience when there are updates in the code
Learn how there will be no downtime and no user request that will be missed on swapping the IPs of production and testing slots
Branches are created in order to keep our main branch clean. Separate branches can have code about which we’re not 100% sure to proceed with. So, the benefit of these branches is maintaining the track and builds separately.
Create a subbranch and then commit the code in it
Merge these branches with the master branch if our team decides to proceed with these changes
We’ve talked about CI in the starting sections. Now we’ll see how we can implement it and create the build environment to have the CI applied on it. Which is one of the major go-to steps in the DevOps cycle.
Decide on either to import the build definition or to create a new one
Select the template and then add tasks in it
Set variables and configure other settings so that our build will listen to all the changes onward
We’ve talked about deployment in the starting videos. Now in this video, we will talk about how we set up the release environment and set it up properly.
Create an empty release environment
Select either a template for pre-configurations and dependencies, or our custom libraries
Select artifact to get the build results in order to proceed and start the build
In this video, we learn to commit the code using GIT commands from the command line. We understand different commands and their usage.
Initialize the repositories and add code
Commit the changes locally
Push the changes to remote repository
In this video we’ll analyze our repository after we have committed the code.
Learn which build has been triggered and who has triggered this build
Know what changes have occurred in our release environment
Navigate to the home page with all the latest changes
The aim of this video is to learn how to set alerts.
Learn to send a notification
Explore role-based alerts
Discuss team-bases alerts and how to configure them
For the monitoring and all the insights, such as traffic load, timely requests, success, error codes, and so on, we need to have a monitoring tool. For this purpose, we’ll use Microsoft’s own library, which is Application Insights.
Download Application Insights using npm and install it
After installing the package using npm, we’ll import it using ‘require’
Use Application Insights to report and track all the traffic and happenings on our site
Learn how monitoring works and how you can visualize the stats, requests, and all trends based on different activities and actions.
Examine the wider view, where we can analyze each request with its return code and status
Discuss the options using which we can fix issues and errors before our users will encounter them
Examine the useful stats and properties that we can view from our application dashboard and how these can be useful for us
The aim of this video is to learn how we can fix the code issues and the useful options for patching. These issues will be fixed after analyzing the code properly.
After analyzing the root cause, optimize and fix the code
Discuss the possible solutions for the issues found
Test the performance of the code
Alerts are extremely useful for small as well as large teams. We can configure them to track any type of behavior or event in order to tackle issues and dynamically change tracks, quickly and smartly.
Learn how we can put different conditions to make rules and define the time and frequency constraints
Demonstrate how to make alert groups in order to combine multiple alerts and rules
Set the email notifications for different roles
This video will give you the summary of the course.
You might have come across slow development cycles due to traditional infrastructure management processes. DevOps project gives you provision on your Azure resources: Application Insights integration, Git Code Repository, and a setup to provide a continuous delivery pipeline. The project helps to deploy applications, add test environment to validate your production, manage the code flow and high quality. Moreover, monitor your progress with proper tracking of the project backlog and other applications. If you’re looking to automate your operations to deliver reliable code & software faster with Azure DevOps then is the perfect Course for you!
This comprehensive 2-in-1 course takes a step-by-step practical approach to automating builds and delivering software more reliably with DevOps projects on Azure. Initially, you’ll acquire a deeper insight into implementing DevOps. You’ll understand how containerization technologies work as well as execute tests across your applications with continuous integration. Moving further, you’ll work with DevOps for modern-day application lifecycle management and automate your apps on the Azure Cloud platform. Finally, you’ll configure a full CI/CD pipeline for any Azure app using the language and app framework you want.
Towards the end of this course, you'll automate your operations with Azure DevOps to deliver software faster and more reliably with DevOps projects on Azure.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, DevOps Fundamentals with Azure, covers learning to automate builds to deploy and deliver code faster and more often. This course will show you how to speed up the release cycle of your IT systems. With a set of automation tools, an orchestration platform, and a few processes, you will do more with fewer resources and become more engaged in the business process. Exploring Azure, you’ll learn various solution architectures with continuous integration and continuous deployment pipeline that push your changes automatically to the cloud, allowing you to deliver value faster to your customers.
The second course, Hands-On DevOps on Azure, covers delivering software faster and more reliably with DevOps projects on Azure. In this course, you will delve into the DevOps support on Microsoft Azure and investigate about the teams that can migrate their existing DevOps solutions to Microsoft Azure, using Azure DevOps project. By the end of this course, you will be an expert in testing, deploying, and monitoring your applications with Azure.
Towards the end of this course, you'll automate your operations with Azure DevOps to deliver software faster and more reliably with DevOps projects on Azure.
About the Authors
David Gonzalez is an enthusiastic engineer and author of a book called Developing Microservices with Node.js (microservices don't work without platform automation). He is a Google Developer Expert (a nomination from Google to certain experts in several areas) in Kubernetes (GKE), who enjoys being pushed out of his comfort zone in order to sharpen his skills. Java, Node.js, Python, and DevOps—as well as a holistic approach to security—are part of the skill set that has helped him deliver value across different start-ups and corporations. Nowadays, he is a consultant at nearForm, enabling companies to deliver the best possible solution to their IT problems or proposals, as well as an avid speaker at conferences such as Rebel Con and Google I/O Extended, among others.
Afzaal Ahmad Zeeshan is a computer programmer from Rabwah, Pakistan, and likes .NET Core for regular everyday development. He is an expert with Cloud, Mobile, and API development. Afzaal has experience with the Azure platform and likes to build cross-platform libraries/software with .NET Core. Twice he has been awarded Microsoft MVP status for his work in the field of software development, twice CodeProject MVP status for technical writing and mentoring, and 3 times C# Corner MVP status in the same field.
Iqra Ali is a software engineer at MIXIT-Technologies USA and an author at CodeProject and CSharpCorner, and she is from Karachi, Pakistan. She spends most of her time contributing to open source world and authoring technical articles. Iqra is an expert .NET developer and has worked on several .NET and DevOps related projects in her professional career. In her spare time, she spends time contributing on CSharpCorner and other alike platforms, helping others in the open communities.