User Tools

Site Tools


mixed_pages:products_ict_devops_ms_course
  DevOps Practices and Principles
  Infrastructure as Code
  Continuous Integration and Continuous Deployment
  Configuration Management
  Testing in Continuous Delivery Pipelines
  Database Integration in Continuous Delivery Environments
  Application Monitoring
  Architecting Apps
  

Course 1: DevOps Practices and Principles

  DevOps core values, principles and practices
  How to deploy to IaaS and PaaS environments in Microsoft Azure using ARM templates, Desired State Configuration (DSC) and other deployment tools
  Build and deploy applications automatically to Dev, Test and Production environments 
  Continuous learning from production to improve and scale business results. 
  Unit tests, Integration tests, load tests, UI tests and test driven-development
  Data retention strategies, exposure control strategies, and hypothesis-driven development.

Course Syllabus Skip Syllabus Description This course contains the following content

  Module 0: Course Overview:
      Welcome
      Course Overview
      Pre-Course Survey
  Module 1: DevOps Fundamentals
      Overview
      Why DevOps
      Sustainable DevOps
      Compliance and security in DevOps
      Change Agents and the DevOps Journey
      Supplemental learning
      Review Questions
  Module 2: Deploy and Configure Standardized Environments
      Overview
      Environments in IaaS/PaaS and with Containers
      ARM Templates and Desired State Configuration
      Supplemental learning
      Review Questions
  Module 3: Build and Deploy Automatically to Production Often and Consistently
      Overview
      Automated Builds
      Automated Deployments
      Package Management and Containers
      Lab: Continuous Integration and Continuous Deployment
      Supplemental learning
      Review Questions
  Module 4: Test Automatically Before and In Production
      Overview
      DevOps Testing Concepts
      Continuous Testing
      Lab: Testing in Production
      Supplemental learning
      Review Questions
  Module 5:Continuous Learning from Production to Improve and Scale Business results
      Overview
      Application Performance Monitoring
      Exposure Strategies
      Hypothesis-Driven Development
      Lab: Application Performance Monitoring
      Supplemental learning
      Review Questions
  Final Exam
      Introduction to DevOps Practices: Final Exam
      Post-Course Survey

Course 2: Infrastructure as Code

In this course, you will gain the knowledge and skills to be able to deliver stable environments rapidly, reliably and at scale, avoiding manual configuration of environments and enforcing consistency, by representing your environments as code.

The course will cover areas such as:

  Azure Automation
  ARM templates
  Desired State Configuration (DSC)
  DevTest labs
  Chef deployments in Azure
  Puppet deployments in Azure

As well as other automation scenarios, tools and options.

What you'll learn

  How to configure and implement Azure Automation accounts and security
  How to create and run an Automation Windows PowerShell workflow-based textual Runbooks to provision and de-provision an environment
  Understand Desired State Configuration (DSC) and how to create a DSC configuration file, import it into the automation account and compile it.
  How to onboard Azure VMs for Automation DSC
  How to generate an Azure Resource Manager (ARM) template based on an existing resource group and apply an ARM template that removes all resources in a resource group
  How to create an ARM template by using Visual Studio.
  How to implement Chef and Puppet deployments in Azure
  How to use Chef to configure Azure DevTest Lab VMs
  How to configure Continuous Integration and Continuous Deployment of Azure SQL Database using Visual Studio Team Services (VSTS) and Visual Studio.

Hide Course Syllabus Course Syllabus Skip Syllabus Description

  Module 0:
      Course introduction
      Introduction to DevOps and Infrastructure as Code (IaC)
  Module 1: Azure Automation
      Objectives:
      Infrastructure as Code and Automation
      Automation Accounts
      Automation Security
      Runbook Assets
      Runbook Basics
      PowerShell Workflows
      Practical Exercises
      Review Questions
      Summary
  Module 2: Desired State Configuration (DSC)
      Objectives
      DSC in DevOps
      Automation DSC
      Implementing Automation DSC
      Practical Exercises
      Review Questions
      Summary
  Module 3: ARM Templates
      Objectives
      ARM Templates
      Implementing ARM Templates
      ARM templates and Visual Studio
      Logging, Troubleshooting and Diagnostics
      Provisioning and Configuring  Environments with Azure DevTest Labs
      Practical Exercises
      Review Questions
      Summary
  Module 4:Azure IaaS and PaaS, Environment Configuration and Deployment, and Optimization
      Objectives
      Environments in IaaS, PaaS and Containers
      Environment and Configuration Deployment Pipelines
      Environment and Configuration Deployment Pipelines with OSS
      Practical Exercises
      Review Questions
      Summary
  Module 5: Final Exam
      Validated Lab
      Final Exam (Graded)
  Post Course Survey
      Post-Course Survey

Course 3: Continuous Integration and Continuous Deployment

This course is part of the Microsoft Professional Program in DevOps.

This course provides knowledge and skills to implement the DevOps practices of Continuous Integration and Continuous Deployment with Visual Studio Team Services (VSTS) and Microsoft Azure.

The course will provide knowledge of continuous integration builds, automated testing and continuous delivery and deployment build, test, and release to the next level by understanding how they function within a DevOps development environment.

The course will also cover how VSTS integrates with third party and OSS tools, such as Git and Jenkins,

The course is intended for IT Professionals who are interested in crossing over into development territory towards the goal of establishing a DevOps culture, and Developers who want to learn more about the development processes of DevOps in order to extend upon Agile processes for rapid delivery.

Students curious about DevOps practices as a culture shift, but do not have extensive experience with VSTS or Microsoft Azure, should be able to follow the procedural and expository explanations of continuous integration and continuous delivery. What you'll learn

  Configure Git and TFVC version control options for Continuous Integration
  How to manage Technical Debt and the sources and impact of it. 
  How to create a continuous integration build using VSTS
  Package Management Integration options such as NuGet, SemVer, GitVersion and others.
  Agents and Pipelines, including how to release pipelines 
  Continuous Delivery and Release Management strategies
  Integrating automated testing into your release pipelines using Selenium, Coded UI Testing, Microsoft Test Manager
  Understand the various availability and performance testing options
  Automated provisioning and de-provisioning of infrastructure and databases D
  Deployment groups, feature flags and recovery automation
  Database deployment in release pipelines
  Continuous deployment with Jenkins and VSTS

Hide Course Syllabus Course Syllabus Skip Syllabus Description

  Module 0: Welcome to Continuous Integration and Continuous Deployment
      Course Overview
      Before Starting This Course
      Pre-Course Survey
  Module 1 | Continuous Integration
      Continuous Integration
      Pipelines and Agents
      Technical Debt
      Module 1 Review Questions (Ungraded)
  Module 2 | Package Management
      Package Management
      Module 2 Review Questions (Ungraded) current section
  Module 3 | Continuous Delivery
      Release Pipelines
      Environments and Tasks
      Test Automation
      Advanced Delivery
      Module 3 Review Questions (Ungraded)
  Module 4 | Continuous Deployment
      Continuous Deployment
      Advanced Continuous Deployment
      Module 4 Review Questions (Ungraded)
  Module 5 | Practice Labs
      Practice Labs
  Final Exam (Graded)
      Final Exam(Graded)
      Post-Course Survey

Course 4: Configuration Management for Containerized Delivery

This course is part of the Microsoft Professional Program in DevOps.

Containers can run on your local machine but the real power lies in the fact that these exact same containers can also run in production, giving you a very nice and consistent way of bringing software to production.

In production environments containers run on a set of machines managed by cluster orchestration software, and this course will show you how you can create, deploy and configure your containerized applications on Microsoft Azure using Azure Container Service (ACS) and Azure Service Fabric. (ASF)

The course will cover management and operation of your container cluster, teaching how to configure the cluster, and how to manage them so that you have constant insights into how your application is doing in production, and how you can scale up and down based on demand, and deploy containers without having any downtime.

You will learn how a cluster works, how to set it up and how you can manage your production environments. Then you will learn how to deploy your containers in a cluster using continuous delivery infrastructure like Visual Studio Team Services (VSTS). What you'll learn

  Create container images
  Manage multiple containers using tools like Docker
  How to set up a production cluster to host your containers
  Deploy containerized applications to different orchestrators that are available in Azure Container Service (ACS) i.e. DC/OS, Docker swarm and Kubernetes
  How to scale up the clusters, manage data and set up monitoring to proactively keep track of the clusters health and its deployed applications
  Create, monitor and manage a Service Fabric cluster.
  Manage and maintain Azure hosted clusters and containers in a better way.
  Deploy containerized applications to one of the available cluster container solutions, using continuous delivery pipelines.
  Manage these clusters in production scenarios.

Hide Course Syllabus Course Syllabus Skip Syllabus Description

  Module 0 | Course Introduction
      Welcome current section
      Course Resources
  Module 1 | Containerization
      What is Containerization
      Containers and Docker
      Linux and Windows Containers
      Where can you host containers?
      DevOps and Containers
      Continuous Delivery Pipeline and Containers
      Module Summary
      Review Questions
      Practical Exercises
  Module 2 | Azure Container Services
      Introduction to Azure Container Services (ACS)
      Creating and configuring ACS clusters
      Running Multiple Containers
      Configuring monitoring and logging
      Scaling
      Deployment
      Module Summary
      Review Questions
      Practical EXercises
  Module 3 | Service Fabric
      Introduction to Azure Service Fabric (ASF)
      Creating a Cluster
      Programming Models
      Configure monitoring and logging
      Scaling
      Deployment
      Dealing with Data
      Module Summary
      Review Questions
      Practical Exercises
  Module 4 | Cross cutting concerns
      Introduction
      Patch Management
      Security Concerns
      Design for Failure
      Review Questions
      Practical Exercises
  Final Exam
      Final Exam
  Post-Course Survey
      Post-Course Survey

Course 5: DevOps Testing

In this course, you will learn about different test types, usage scenarios and the benefits of a Test-Driven development approach.

We will cover best practices around the usage of Unit, API (Integration), Performance, Functional, Acceptance, Automated (Coded) UI and Exploratory testing.

You will learn how to create and analyze these tests using various tools such as Visual Studio Team Services (VSTS), Visual Studio, Application Insights and third-party frameworks such as Selenium What you'll learn

  Understand various testing types and usage scenarios
  Test-Driven development and it’s benefits
  How to create and implement Unit tests and the elements of a good test 
  How to create basic API tests (or Integration tests)
  Performance testing and how to create a performance test using Visual Studio and Visual Studio team services (VSTS)
  How to analyze performance test results using Application Insights
  Exploratory testing in the context of visual Studio and Microsoft Test Manager

Hide Course Syllabus Course Syllabus Skip Syllabus Description

  Module 0: Start Here
      Welcome to the course!
      Course Overview
      Pre-Course Survey
  Module 1: Testing Overview
      Introduction
      Types of Tests
      Value of Automated Testing in DevOps
      Test-Driven Development and its Benefits
      Assessments
      Supplemental Learning
  Module 2: Unit Tests
      Introduction
      What is Unit Testing?
      Elements of Unit Test
      Techniques for Advanced Unit Testing
      Create good unit tests using Visual Studio
      Hands-on Lab: Creating Unit Tests
      Assessments
      Supplemental Learning
  Module 3: Integration Testing
      Introduction
      Testing Overview
      Integration Test in a standard development environment
      Assessments
  Module 4: Web Performance Tests and Load Tests
      Introduction
      Performance Testing
      Create Web Performance Test Scripts
      Run Load Tests
      Analyze Performance Test Results
      Hands-on Lab 1: Application Performance Monitoring
      Hands-on Lab 2: Load Testing
      Assessments
      Supplemental Learning
  Module 5: Functional Testing – Acceptance, UI, and Exploratory Tests
      Introduction
      Introduction to Functional Testing
      Manual Acceptance Testing
      Automated UI testing
      Exploratory testing with Microsoft Test Manager
      Hands-On Lab: Create a coded UI test
      Assessments
      Supplemental Learning
  Module 6: Final Exam
      Final Exam
      Post-Course Survey

Course 6: DevOps for Databases

This course is part of the Microsoft Professional Program in DevOps.

This course examines the challenges and solutions of incorporating your database into a DevOps software development process. This course will help you understand the challenges of working with various data stores while developing and changing your software at a rapid pace.

You will learn where and how databases can fit into DevOps processes.

The course will cover:

  Committing database code to a version control system (VCS), Continuous Integration and unit testing database code.
  Release management for databases, in areas such as release gates, deploying releases to multiple environments, validating deployments with smoke tests and rolling back deployments.
  Monitoring database code, branching and merging database code, cross databases dependencies, upgrading multiple databases, federated databases, dark launching, error handling and cleaning up technical debt with databases.

Finally, while the course will primarily use Microsoft SQL Server (and tailor our examples for it), other relational or non-relational database platforms have similar concepts that can be applied.

What you'll learn

  Define DevOps and understand DevOps in relation to Databases
  Identify the challenges of using databases that are separate from other software languages and platforms
  Include your database code alongside other application code in a version control system (VCS)
  Set up a Continuous Integration (CI) platform for your database code
  Write and include automated unit tests for your database code
  Develop an automated release process that deploys database changes to both on premise and cloud databases
  Implement branching and merging for your database code
  Instrument and monitor the database after deployment

Hide Course Syllabus Course Syllabus Skip Syllabus Description

  Module 0 | Welcome to DevOps for Databases
      Course Overview
      Microsoft Learning
      Pre-Course Survey
  Module 1 | Overview of DevOps
      Module 1 Overview
      Overview of DevOps
      Database Development Issues in a DevOps Process
      Database Development Paradigms
      Collaboration
      Module 1 Labs
      Module 1 Review Questions
      Database Development
  Module 2 | Overview
      Overview of DevOps for Databases
      Committing Database Code to a VCS
      Continuous Integration for Databases
      Unit Testing Database Code
      Module 2 Labs
      Module 2 Review Questions
  Module 3 | Releasing Database Changes
      Module 3 Overview
      Overview of Release Management
      Deploying Releases
      Release Gates
      Release Details
      Rollbacks
      Module 3 Labs
      Module 3 Review Questions
  Module 4 | Advanced Topics
      Module 4 Overview
      Monitoring Your Systems
      Branching and Merging Database Code
      Provisioning
      Best Practices
      Advanced Customer Scenarios current Section
      Module 4 Labs
      Module 4 Review Questions
  Final Exam
      Final Exam(Graded)
      Post-Course Survey

Course 7: Application Monitoring and Feedback Loops

This course will cover general application monitoring and feedback loop practices and principles, including different kinds of feedback. You will learn how feedback is used in different stages of the value stream, and its benefits. You will learn about the different kinds of telemetry, who can benefit from it and how it is used to collect data from monitoring.

You will be introduced to Application Performance Management, the monitoring and management of performance and availability of software applications.

We will also cover Health and Performance Monitoring with Application Insights, including which features it contains, how to use it to monitor your application availability, usage, and performance and diagnostics.

The course also covers Log Analytics, including Operations Management Suite (OMS) Log Analytics. It will cover how to set up and configure Log Analytics for data collection and how to use Log Analytics to search and analyze data. It also covers OMS solutions as well as how to configure visualizations and how to configure alerts.

Finally, the course will cover Third-Party Monitoring Tools, including New Relic, Loggly and Nagios Core. What you'll learn

  Understand general application monitoring and feedback loop practices and principles.
  The different kinds of feedback and how they are used in different stages of the value stream, and their benefits.
  How to set up up monitoring with Azure Application Insights
  Monitor web application availability
  Search and analyze monitoring data in Application Insights
  How to use and query Application Insights data and Application Maps
  How to set up, configure, query and analyze data collection on Operations Management Suite (OMS) Log Analytics
  How to set up alerts in OMS and integrate Application Insights 
  Configure and monitor a web application with New Relic
  Configure and use Loggly

Hide Course Syllabus Course Syllabus Skip Syllabus Description

  Module 0 | Course Introduction
      Course Overview
  Module 1 | Application Monitoring Practices and Principles
      Module 1 Objectives
      General App Monitoring and Feedback Loop Practices and Principles
      Application Performance Management
      Module 1 Review Questions
  Module 2 | Health and Performance Monitoring with Application Insights
      Module 2 Objectives
      Application Insights
      Configuration
      Search and Analysis
      Analytics
      Integration
      Developer Tools
      Module 2 Review Questions
  Module 3 | Log Analytics
      Module 3 Objectives
      Log Analytics
      Connected Sources
      Data Sources
      Log Search
      Data Visualization
      Alerts
      Log Analytics REST API
      Module 3 Review Questions
  Module 4 | Integrating Third-Party Monitoring Tools
      Module 4 Objectives
      New Relic
      Loggly
      Nagios Core current section
      Module 4 Review Questions
  Final Exam
      Final Exam
  Post-Course Survey
      Post-Course Survey

Course 8a: DevOps for Mobile Apps

Build, test, and deploy mobile apps in a DevOps environment using Visual Studio App Center (VSAC). In this course you will learn how to set up and manage multiple applications, organizations, testers, and teams using App Center Build, App Center Test, and App Center Distribute.

DevOps practices using VSAC help development teams keep builds and releases organized as they are distributed to collaborators, teams of testers, customer beta testers, all the way into app stores like Google Play and iTunes. This course covers the automation of time-consuming tasks such as builds and build signing within a streamlined workflow. Learn how to test on multiple physical devices by creating device sets and choosing from over twenty-five hundred devices and over four hundred configurations of iOS and Android versions What you'll learn

  How to sign up and  get started with Visual Studio App Center (VSAC)
  How to connect to repositories and build applications in VSAC
  How to test applications using VSAC
  How to build and deploy applications using VSAC

Hide Course Syllabus Course Syllabus Skip Syllabus Description

  Module 0: Course Introduction
      Course Overview
      Scope
      Prerequisites
      Overview of Hands-on labs
      Pre-course Survey
  Module 1: Intro to Visual Studio App Center (VSAC)
      What is Visual Studio App Center (VSAC)
      Manage Apps
      Manage Organizations
      Lab: Getting Started
      Module Review Questions
  Module 2: Building Apps with VSAC
      Overview
      Configure a Build
      Sign a Build
      Test App on Real Device
      Lab: Connect, Configure, and Test a Build
      Module Review Questions
  Module 3: Testing Apps with VSAC
      Overview
      Getting Started
      Prepare Tests for Upload
      Submit Tests
      Review Test Results
      Lab: Create Tests and Run on Devices
      Module Review Questions
  Module 4: Distributing Apps with VSAC
      Overview
      Release a Build
      Manage/Distribution Groups
      Install a Build
      Distribute to Stores
      Lab: Distribute
      Module Review Questions
      Course Ending
  Final Exam
  Post Course Survey

Course 8b: Architecting Distributed Cloud Applications

This technology-agnostic course begins by explaining the benefits of distributed cloud applications with an emphasis on maintaining high-availability and scalability in a cost-effective way while also dealing with inevitable hardware and software failures.

The course also cover, Microservices and containers, Networking communication, Messaging communication, Versioning, upgrading and configuration, Data storage services and Disaster recovery.

This course is for anyone considering or actively working on a distributed cloud application. It is designed to provide you with a thorough understanding of these concepts, the various pros and cons of specific technologies, and the resilient patterns that are heavily used by distributed cloud applications. This knowledge will help you to easily build cost-efficient and fault-tolerant systems.

The course contains labs to practice your learning, review questions for self-assessment, and a final exam to validate learning. A score of 70% is required to pass the final exam and receive a certificate for the course. What you'll learn

  Distributed cloud application fundamentals, including Why Cloud Apps? embracing failure, orchestrators, when to split a monolith into microservices, 12-factor services, and when and how to use Containers.
  Networking communication, including service scalability and availability, how to define/manage/version service endpoint APIs, and how to perform fault-tolerant network communication.
  Messaging communication, including the benefits of messaging with queues and fault-tolerant message processing.
  Versioning, Upgrading, and Configuration, including various ways to version your service’s code, how to shut down a service instance gracefully, and how to configure and share secrets with a running service.
  Data storage services, including storage service considerations, object/file storage services, relational and non-relational databases, partitioning, replicas, eventual consistency patterns (CQRS, Event sourcing, Saga), concurrency patterns, and data schema versioning.
  Disaster recovery, including backup/restore, recovery point and time objectives, as well as Active/Passive and Active/Active architectures.

Hide Course Syllabus Course Syllabus Skip Syllabus Description

  Welcome to Architecting Distributed Cloud Applications
      Before You Start current section
      Course Overview
      Pre-Course Survey 
  Module 1 | Distributed Cloud Applications
      Distributed Cloud Application Fundamentals
      Microservices
      Containers
      Module 1 Review Questions 
  Module 2 | Networking Communication
      Networking Communication
      Service APIs
      Fault-Tolerant Network Communication
      Module 2 Review Questions 
  Module 3 | Messaging Communication
      Messaging Communication
      Module 3 Review Questions
  Module 4 | Upgrading, and Configuration
      Versioning Service Code
      Shutting Down and Reconfiguring Services
      Module 4 Review Questions
  Module 5 | Leader Election
      Leader Election
      Module 5 Review Questions 
  Module 6 | Storage Services
      Introduction to Data Storage Services
      Object Storage Services
      Database Storage Services
      Data Consistency
      Versioning Data Schemas
      Backup, Restore and Disaster recovery
      Module 6 Review Questions 
  Module 7 | Final Exam
      Final Exam
      Post-Course Survey

Course 9: Microsoft Professional Capstone: DevOps

The DevOps capstone project will provide a hands on lab environment which will validate the skills and knowledge you have learned by taking the DevOps course series.

You will be provided with a series of tasks based around core subject areas covered in the Microsoft Professional Program, that you must build out and complete.

The tasks will cover areas such as automating infrastructure deployment using Azure Resource Manager (ARM) Templates, configuring and implementing continuous integration and continuous deployment scenarios in Visual Studio Team Services (VSTS), as well as implementing testing and application monitoring approaches and solutions.

Successful completion of the tasks will result in a pass grade in the validated labs. What you'll learn Learning Objectives:

  Automating Infrastructure using Azure Resource Manager (ARM) Templates
  Implementing Continuous Integration solutions
  Implementing continuous delivery and continuous deployment solutions with Visual Studio Team Services (VSTS)
  Implementing Testing solutions such as Unit Tests and Testing in Production
  Implementing Application Monitoring solutions using Application Insights

Hide Course Syllabus Course Syllabus Skip Syllabus Description The DevOps Capstone Project contains:

  Automation
      Use ARM templates to deploy and configure Infrastructure in Azure
  Continuous Integration
      Implement Continuous Integration solution using Visual Studio Team services (VSTS)
  Continuous deployment
      Implement Continuous Deployment solution using Visual Studio Team Services (VSTS)
  Testing
      Implement Unit tests
      Implement Testing in Production
  Application Monitoring
      Implement application monitoring solution using Application Insights
mixed_pages/products_ict_devops_ms_course.txt · Last modified: 2022/04/26 14:18 by 127.0.0.1