دوره آموزش DevOps با استفاده ازAzure DevOps Server RC2 – Level 100

در سال های اخیر در بخش فرآیند تولید و نگهداری نرم افزار تغییرات زیادی صورت گرفته، در گذشته مایکروسافت در بازه زمانی بیشتر از یکسال اقدام به ارائه نسخه جدیدی از محصولات خود می کرد ولی در حال حاضر این نرم افزارها هر ۳ ماه یکبار به روز می شوند، نرم افزارهای این شرکت ایمن تر شده و تعداد خطاهای آنها نیز کاهش یافته. تمام این تغییرات به علت تغییر رویکرد این شرکت در فرآیند تولید و نگهداری نرم افزار است.

آموزش Azure Devops

جواب تغییراتی از این قبیل در شرکت هایی مثل Microsoft, Amazon, Twitter, Atlassian, Gitlab, BMW, Jaguar, Verizon, Adidas, Spacex, Lockheed Martin, Boeing, Airbus, Tesla و تعدادبسیار زیاد دیگری از شرکتها، استفاده از روش های نوین توسعه و نگهداری نرم افزار مثل ALM و یا DevOps است.

مشتریان tfs

با استفاده از این روش ها خط تولید نرم افزار مثل خط تولید شرکت های بزرگ خودرو سازی شد و فرآیندهایی که در آنها توانایی خودکار سازی وجود داشت توسط رایانه ها انجام گرفت در نتیجه نیروی انسانی سازمان زمان بیشتری برای انجام وظایف مهم تر کسب کرد به عنوان مثال محصولات شرکت مایکروسافت قبل از سال ۲۰۱۳ تقریبا دارای Unit Test نبودند ولی با شروع اعمال تغییرات در این سازمان، زمان کافی برای ایجاد Unit Test در نظر گرفته شد تا استاندارد تولید نرم افزار در این شرکت ارتقا یابد، در Twitter در هر شبانه روز بیش از ۲۴ بار سرویس این شرکت Publish شد، در آمازون پس از طی فرآیندی مشخص، کد نوشته شده برای هر سرویس Publish شد. هر چه سیستم های نرم افزاری پیچیده تر شدند نیاز به ساختارهایی برای مدیریت جامع آنها و حذف انسان از فرآیندها قابل خودکار سازی بیشتر احساس شد.

نتیجه پیاده سازی DevOps در شرکتی مثل مایکروسافت به قرار زیر است:

  • تیم مایکروسافت شامل ۸۰,۰۰۰ نیروی مهندسی است
  • ۲ میلیون کامیت Git در ماه
  • ۴ میلیون Build در ماه
  • اجرای ۵۰۰ میلیون تست در ماه
  • ۳۷۲ هزار pull request در ماه
  • ۵ میلیون مشاهده work item/task/issue در روز
  • ۵۰۰ هزار به روز رسانی work item/task/issue در روز
  • ۷۸ هزار Deployment در روز

اعداد بالا نمایانگر ابعاد بهینه سازی فرآیندها در زمان و هزینه و کیفیت محصولات تیم های مختلف مایکروسافت است. بدون وجود چنین فرآیندهایی شرکت های خودروسازی مثل Tesla, jaguar امکان تولید خودروهای خودران را نخواهند داشت، شرکت های فعال در حوزه هوا/فضا مثل Spacex, Lockheed Martin, Boeing امکان تولید محصولات خودران با دقتی باور نکردنی را نخواهند داشت.

در ایران در سال های اخیر شاهد رشد راهکارهای نرم افزاری از نظر ابعاد و پیچیدگی در تمام حوزه های تجاری بوده ایم و  حضور استارت آپ های متعدد با دغدغه هایی جدید نیز بر پیچیدگی ها افزوده است ، تعداد نیروهای فنی حاضر در پروژه با تخصص های متفاوت، تعداد کاربران نهایی بالا، پیچیدگی فنی و تجاری و دورکاری بعضی از افراد تیم.

با گذشت زمان با توجه به اینکه راهکاری هایی که تاکنون در اکثر شرکت ها و استارت آپ ها جهت تولید و نگهداری محصولات استفاده شده باعث راندمان پایین و مشکلات متعددی شده، تغییر شرایط جاری برای این تیم ها امری اجتناب ناپذیر و پیاده سازی روشی جهت تولید و نگهداری صحیح این محصولات جزء دغدغه های اصلی این تیم ها شده است.

در این دوره شما با مفاهیم تولید و نگهداری نرم افزار و راهکارها و ابزارهای شرکت مایکروسافت در این زمینه جهت مدیریت هر گونه زبان Any Language و هرگونه زیرساختی Any Platform آشنا می شوید.

طبق گزارشات Gartner رهبران فعال در حوزه ALM و Enterprise agile planning tools شرکت مایکروسافت و اطلسیان هستند.

مقایسه اطلسیان و tfs

در این دوره شما با مفاهیم ALM و DevOps آشنا شده و پیاده سازی آنها را با Azure DevOps فراخواهید گرفت.

توجه: با توجه به پیچیدگی و حجم بالای موجود در ابزارهای حوزه DevOps، دوره جاری در سطح پایه یا ۱۰۰ بوده و در این دوره به پیچیدگی های پیاده سازی DevOps با زیر سیستم های مختلف نخواهیم پرداخت و این موارد در نسخه های ۲۰۰ و ۳۰۰ این دوره ارائه خواهند شد.

  

Published: March 7, 2019

Course Title: Azure DevOps Server –Level 100

Audiences: Developers, Software Architects, IT Managers

Prerequisites: Minimum 3 Year Software Development Experience, Basic Agile Methodologies Knowledge

Technology: Visual Studio 2017 update 6, Azure DevOps Server RC2

Course Hours: 62 Hour

Author: Ali Azhdari

Provided by: www.ALM-DEVOPS.COM

  

Hardware & Software Requirements

Every Student Need 1 PC For Himself

Software Requirements:

Azure DevOps Server: Active Directory Domain, Domain Controller, SQL Server 2017 Enterprise With SSRS, IIS With All .Net Features Installed, Azure DevOps Server RC 2, Chrome Browser

Azure DevOps Build Server: Visual Studio 2017 update 6 or later, Chrome Browser

Every Student PC: Visual Studio 2017 update 6 or Later with Specific Installation config, Access to Sql Server 2017 Enterprise Instance, IIS, Chrome Browser, VSCode 1.31.1

Hardware Requirements:

Azure DevOps Server: Core I7 2.0 GHz, 6 GB RAM, 100 GB Hard Disk (C: 50GB – D: 50GB)

Azure DevOps Build Server: Core I7 2.0 GHz, 6 GB RAM, 100 GB Hard Disk (C: 50GB – D: 50GB)

Every Student PC: Hardware Support Software Requirements

مدت دوره۶۲ ساعت

پيش نيازحداقل ۳ سال سابقه توسعه نرم افزار، آشنایی با روش های چابک مدیریت پروژه های نرم افزاری

مخاطبتوسعه دهندگان نرم افزار، مدیران تیم های توسعه نرم افزار

اهداف دوره آموزش مفاهیم ALM و DevOps و یادگیری مفاهیم و ابزارهای موجود در پلتفرم مایکروسافت برای پیاده سازی آنها

مولف: علی اژدری

ارائه دهنده: www.ALM-DEVOPS.COM

در انتهای اين دوره دانشجويان قادر خواهند بود:

  • دانشجو می تواند مزایا و معایب و دلیل نیاز سازمان ها به ALM/DevOps را توضیح دهد.
  • دانشجو تمام ابعاد راهکار مایکروسافت درباره ALM را فرا خواهد گرفت.
  • دانشجو با مفاهیم ALM و DevOps آشنا خواهد شد.
  • دانشجو نصب و پیکربندی Azure DevOps Server را فرا خواهد گرفت.
  • دانشجو توانایی استفاده از ابزارهای ارائه شده در قالب های CMMI، Agile، Scrum برای مدیریت پروژه های نرم افزاری را به شکل کامل فرا خواهد گرفت.
  • دانشجو توانایی ایجاد و مدیریت سیستم کنترل نسخه کدها به دو روش متمرکز و توزیع شده را کسب خواهد کرد.
  • آشنایی با انواع تست ها و نحوه چیدمان آنها در نقشه های تست و استفاده از ابزارهای مایکروسافت برای مدیریت آنها ( توضیح انواع تست ها و پیاده سازی آنها خود در دوره ایی جداگانه بررسی خواهند شد، در این دوره دانشجو با تست ها آشنا شده و اهمیت آنها را به شکل عملی در پروسه تولید نرم افزار مشاهده خواهد کرد و با زیرساخت های موجود جهت مدیریت و اجرای خودکار آنها به شکل عملی آشنا خواهد شد )
  • دانشجو ایجاد ساختار Continuous Integration را فرا خواهد گرفت.
  • آشنایی با ساختار Release Automation و ایجاد Continuous Delivery برای انتشار پروژه ها آشنا خواهد شد.
  • دانشجو علت نیاز به فرآیند “مشاهده و یادگیری” در تولید نرم افزار را فرا خواهد گرفت و با ابزار Microsoft Azure Application Insight آشنا خواهد شد ( به دلیل پیچیدگی در خرید این سرویس در ایران سعی خواهد شد حد الامکان این بخش به شکل عملی برای تمام دانشجویان اجرا گردد )
  • دانشجو توانایی ایجاد ساختار درختی و کنترل امنیت در تمام پروسه تولید نرم افزار را خواهد داشت.
  • دانشجو توانایی ایجاد و استفاده از Nuget Package ها را خواهد داشت.
  • یادگیری ساختار های موجود ایجاد Branch در TFVC و توانایی Merge Branch ها و تشخیص اینکه آیا باید از روش جایگزین Feature Toggle به جای Branch استفاده شود یا خیر.
  • یادگیری ساختارهای ایجاد برنچ در Git
  • دانشجو توانایی استفاده از Visual Studio Market Place را کسب می کند.
  • دانشجو معماری و روش کار کردن با ورژن کنترل Git با استفاده از visual studio 2017 update 6 و VSCode را فرا خواهد گرفت(توجه کنید آموزش کامل روش استفاده از ورژن کنترل git به علت حجم بالای موارد در دوره ایی جداگانه می باشد).

جهت کسب اطلاعات بیشتر و یا پیش ثبت نام در این دوره با ارسال ایمیل حاوی نام و نام خانوادگی و شماره تلفن همراه خود به ایمیل A.AzhdariALM@gmail.com اقدام نمایید.

سرفصل های این دوره به شرح زیر می باشند.

Chapter 1 – ALM/DevOps – ۱H

What Is Application Lifecycle Management (ALM)
Aspects Of The ALM Process
۴ Ways Of looking At ALM (SDLC View, The Service Management or Operations View, The Application Portfolio Management View, The Unified View)
۳ Pillars Of Traditional ALM (Traceability, Automation of High-Level Processes, Visibility into the Progress of Development Efforts)
A Brief History of ALM Tools and Concepts (ALM1, ALM2, ALM2+)

Chapter 2 –DevOps Foundation – ۴H

What is DevOps
DevOps core values – CAMS
DevOps Principles – the 3 ways
DevOps 5 key methodology
۱۰ practices for DevOps success
DevOps Tools, Communication & Collaboration
DevOps building blocks
Basics of configuration management orchestration
Continuous Integration best practices
Continuous Delivery 5 practices

Chapter 3 – Installation & Maintenance – ۴H

Azure DevOps Architecture Overview
Installation Consideration ( Basic Requirements, Installation Check List, Accounts & Permissions, Supporting OS )
New Install (Which Wizard to Use)
Upgrades (upgrade paths, Backups)
Installation Experience
Managing Collections ( What Are They, Setting Up And Managing Team Project Collections )
Managing Team Projects ( Overview, Setting Up Team Projects )

Chapter 4 – Azure DevOps Overview – ۲H

Azure DevOps overview (Azure DevOps, Process Template, Azure DevOps Web Access, Microsoft Office, Integrated Development Environment (IDE) Integration)
Traceability ( Work Items, Configuration Management )
Visibility
Collaboration
Difference Between Azure DevOps Server and Azure DevOps Services

Chapter 5 – Managing Team Project Collections/Organization & Team Projects & Teams – ۳H

Collection Naming Convention
Setting Up and Managing Team Project Collections
Managing Team Projects
Managing Teams
Team Projects and Version Control

Chapter 6 – Azure DevOps New Navigation System – ۴H

New navigation system explained
Azure DevOps home page
Team project home page
Explain Overview menu
Explain Board menu
Explain Repos menu
Explain Pipelines menu
Explain Test Plans menu
Explain Artifacts menu 

Chapter 7 – Agile Project Management Using Azure DevOps Boards – ۵H

Intro To Scrum & Agile Concepts ( the Scrum Framework, Empirical Process Control, Complexity in Projects, What Scrum Is, Roles in Scrum, The Scrum Process, Definition of Done, Agile Requirements and Estimation, Kanban, How Agile Maps to ALM)
Traceability ( Azure DevOps Work Item Tracking System, Work Items, Work Item Queries, Follow Work Item, Drive git development, work as a stakeholder)
Process In Azure DevOps ( Agile, Scrum, CMMI, Kanban ) and how choose a process
Workflow States
Planning Your Releases ( Defining The Release Process, Versioning, Release Notes )
Building a Release Plan ( Structuring The Releases, Enabling Scalable Release Planning, Creating a Release Backlog, Managing Dependencies, Creating Team Backlogs, Monitoring Release Process )
how define and manage Dashboards
Delivery Plans
How Product Managers Must use Azure DevOps
How Program Managers Must Use Azure DevOps

Chapter 8 – Version Control/Source Control with Azure DevOps Repos – ۷H

Introduction to Version Control (Centralized VC VS Distributed VC)
What is GIT
Using GIT in Visual Studio 2017 update 6 (Clone, Commit & Push, Fetch, Pull, Branch, Pull Request)
Using GIT in VSCode 1.31.1 with Azure Repos
GIT Branching Strategy (Gitflow, GitHub Flow, Release Flow)
What is Pull Request (PR)
Create PR Flow From PBI
Fork in Git
Team Foundation Version Control ( Workspace, Check-In, Get-Latest, History, Shelveset & Suspending, Check-In Policy )
TFVC Branching & Merging
TFVC Branching Strategies ( Branch by Release, Branch by Feature, … )
Embracing Code Reviews
Migrate from TFVC To Git Best Practices
Why it’s better to choose GIT!
Dependency Management

Chapter 9 – Version Control For Database & Database Delivery Best Practices – ۵H

Why DB Version Control?
Database Delivery Best Practices Overview (State Based Approach, Migration Based Approach)
SQL Server Data Tools (SSDT) Overview
SSDT Architecture
Using SSDT (Import DB Models)
ReadGate Hybrid Approach & Shift Left
ReadyRoll Architecture
Deep dive into Redgate toolbelt for Database DevOps

Chapter 10 – PowerShell Basics – ۱H

PowerShell
Cmdlets
Getting Output
PowerShell Pipeline

Chapter 11 – Azure DevOps Pipelines Overview – ۳H

Library explained
Task Groups explained
Deployment groups explained
Builds explained
Releases explained 

Chapter 12 – Azure DevOps Pipelines – Builds – ۶H

Key Principles (Keeping CI Builds Fast, Visualizing Build Status, Build Once and Versioning All Artifacts)
Build Types
Azure DevOps Build Architecture explained
Setup Build Agents
Setup Build Server
Managing Builds
Build Tasks (MS Build, Unit Test, PowerShell Runner,…)
Builds Options
Continuous Integration (CI)
Predefined Build Variables
Run & View Build Result
Managing Build Artifacts
Run Unit & Integration tests In Build
Create Artifact for UI Tests and run them In Build
Deployment Groups
Define and use Task Groups
what is Library and how use them
Secure Files

Chapter 13 – Azure DevOps Releases – ۵H

Release Architecture
Release Agents
Managing Releases
Create Release Pipeline with Artifacts and Environments
Managing Pipeline Environments
Configuring Environments tasks
Release variables and Options
Continuous Delivery & Continuous Deployment
Run UI Tests in Release

Chapter 14 – Azure DevOps Test Plans – ۲H

Agile Testing
Evolving Tests
Test Management (Microsoft Test Manager-MTM, Test Hub)
Planning The Tests ( Test Plan, Test Suits )
What Is Test Case?
Running Manual Tests
Working With Automated Tests
Analyze Test Results
Tests in Continuous Integration & Continuous Delivery

Chapter 15 – UI Test & Integration Test & Unit Test overview – ۱H

Overview
UI Test with Selenium
Page Object Model (POM)
Integration Tests
Unit Tests

Chapter 16 – Azure DevOps Artifacts – ۱H

What is Artifact repository
Setup Artifact Repository
What is Nuget
Why Nuget
Create Nuget Package
Configure Nuget Repositories & Force Them to Visual Studio
NPM Packages
Maven Packages
Gradle Packages

Chapter 17 – Monitor And Learn – ۱H

Monitor and Learn In DevOps
What Is Application Insight
Enterprise Grade Distributed Online Analytics Platform (Overview)

Chapter 18 – Security – ۲H

Planning
Security in Azure DevOps Sub Systems (Collection level, project level, Area Level, Iteration Level, Version Control Level, Build Level, Release Level Team Web Access)

Chapter 19 – Work Item – ۱H

Tools For Edit Work Item Templates
How Change Work Item Templates

Chapter 20 – Wiki – ۳H

Share Your project vision
Create wiki for your project, add & edit wiki pages
Markdown guidance
Create Readme.md for your repo
Publish code to a wiki
Wiki dashboards and work items

Chapter 21 – Visual studio market place – ۱H

What is VS Market place
how we can use it

4 Comments

Add a Comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *