├── .github
└── workflows
│ └── manage-azure-policy-80fcf7fa.yml
├── LICENSE
├── Microsoft_Certified_DevOps_Engineer_Expert
├── Images
│ └── Saurav-DevOps.jpg
└── README.md
├── Microsoft_Certified_Solution_Architect_Expert
├── Database Deployment Template
│ └── armdeploy.json
├── Labs
│ ├── AzureMapDemo.html
│ ├── DEMO- Deploying and Connecting to a Windows Virtual Machine via the Azure.pdf
│ ├── DEMO- Implementing a VM Scale Set with Autoscaling.pdf
│ ├── DEMO-Deploying Software with VM Extensions.pdf
│ ├── DEMO-Deploying and Connecting to a Linux Virtual machine via the Azure Portal.pdf
│ ├── Demo- Create a virtual network.pdf
│ ├── Demo- Deploy Azure Container Instances.pdf
│ ├── Demo- Deploying IIS with Custom Script Extension.pdf
│ ├── Demo- Monitoring an Azure VM with Azure Monitor for VMs.pdf
│ ├── Demo-Create an Availability Set.pdf
│ ├── Demo-Creating a Web App from Azure Command Line Interface.pdf
│ └── EnalbleIIS.ps1
├── README.md
├── VMDeploymentTemplate
│ ├── parameters.json
│ └── template.json
├── WebApp Deployment Template
│ └── appdeploymenttemplate.json
└── WebAppDeploymentTemplate
│ └── appdeploymenttemplate.json
├── README.md
└── _config.yml
/.github/workflows/manage-azure-policy-80fcf7fa.yml:
--------------------------------------------------------------------------------
1 | name: manage-azure-policy-80fcf7fa
2 | on:
3 | workflow_dispatch:
4 | inputs:
5 | remarks:
6 | description: 'Reason for triggering the workflow run'
7 | required: false
8 | default: 'Updating Azure Policies'
9 |
10 |
11 | ## Uncomment the following if you wish to automatically trigger workflow run with every commit
12 | #
13 | # push:
14 | # paths:
15 | # - 'Microsoft_Certified_Solution_Architect_Expert/policies/Allowed_virtual_machine_size_SKUs_6c8e02f2-0e31-4374-8f2a-2813d14ea0a7/**'
16 | # - .github/workflows/manage-azure-policy-80fcf7fa.yml
17 | jobs:
18 | apply-azure-policy:
19 | runs-on: ubuntu-latest
20 | steps:
21 | - name: Checkout
22 | uses: actions/checkout@v2
23 | - name: Login to Azure
24 | uses: azure/login@v1
25 | with:
26 | creds: ${{secrets.AZURE_CREDENTIALS_80fcf7fa}}
27 | allow-no-subscriptions: true
28 | - name: Create or Update Azure Policies
29 | uses: azure/manage-azure-policy@v0
30 | with:
31 | paths: |
32 | Microsoft_Certified_Solution_Architect_Expert/policies/Allowed_virtual_machine_size_SKUs_6c8e02f2-0e31-4374-8f2a-2813d14ea0a7/**
33 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/Microsoft_Certified_DevOps_Engineer_Expert/Images/Saurav-DevOps.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravraghuvanshi/100-Days-of-Azure/2def95216526afd946b2ae8d53aed9a5031aa894/Microsoft_Certified_DevOps_Engineer_Expert/Images/Saurav-DevOps.jpg
--------------------------------------------------------------------------------
/Microsoft_Certified_DevOps_Engineer_Expert/README.md:
--------------------------------------------------------------------------------
1 | # Target: To prepare and clear AZ-400 Certification Exam and get equiped with Azure DevOps tools and services.
2 |
3 | ## Day-1:-
4 |
5 | ### Skilled Measured During the Exam:-
6 | * Devlop a Site Reliability Engineering Strategy
7 | * Devlop an instrumental strategy
8 | * Manage source control
9 | * Facilitate communication and collaboration
10 | * Define and implement continious integration
11 | * Define and implement continious deployment
12 | * Devlop a security and compliance plan
13 |
14 | ### Understanding DevOps:-
15 | * What is DevOps?
16 | * The goal of DevOps
17 | * The Culture change that is involved
18 | * The different phases(Plan, Code, Build, Testing, Release, Deploy, Operate, Monitor)
19 |
20 | ### The different DevOps tools:-
21 | * Your Planning tools(e.g. Azure Boards, Trello, Atlassian)
22 | * Your issue tracking tools(e.g. Atlassian JIRA, Azure Boards, and Pivotal Tracler)
23 | * Your source control tools(e.g. Git-GitHub/Azure Repos, Team Foundation Server, Subversion)
24 | * The Continious Integration tools(e.g. Jenkins, Azure Pipelines, Travis CI)
25 | * The Continious Deployment tools(e.g. Octopus Deploy, Azure Pipeline, AWS CodeDeploy)
26 | * The Monitoring and Logging tools(e.g. ELK stack, Azure Monitor, Datadog)
27 |
28 | # Section-1: Devlop an Instrumental Strategy:-
29 |
30 | ## Day-2:-
31 |
32 | ### Creating a resource-Azure Virtual Machine
33 | * Created 2 Virual Machine
34 | * One is Windows Server 2019 datacenter and second is Linux Vitual Machine.
35 | * In Windows server we allowed RDP and HTTP port and then installed web Server on it from "Add role and feature section"
36 | * In Linux virtual machine we login through PuTTY and then installed inginx using the command "sudo apt-get install nginx"
37 |
38 | ## Day-3:-
39 |
40 | ### Creating a resource-Azure storage account
41 | * Created a storage account account in Azure.
42 | * Used Azure Storage explorer, which is a free software that use to upload and retreve data on Azure storage.
43 |
44 | ### Azure Monitor-Metrices
45 | * Learned about Azure Monitor service
46 | * Worked with metrices in azure monitor.
47 | * Azure motitor is a monitoring service that can be used for collecting, analysing and acting on telemetry for cloud and on-premises environment.
48 | * There are many tools available in Azure Monitor.
49 | * We can detect and diagnose issues across application and dependencies with **Application Insights**.
50 | * We can store and drill into monitoring data using **Log Analytics**.
51 | * We can able to create visualization using **Azure Dashboard** and **Workbooks**
52 | * The data collected by Azure Monitor is segregated into matcices and logs.
53 | * Metrices are point in time values.
54 | * Logs are recorded that can reside in a **Log Analytics workspace**.
55 | * The Azure Monitor service uses a version of the kusto query language that can be used in the Azure Data explorer to build queries on your data.
56 | * **Azure Monitor collects data in the following tiers**
57 | - Application monitoring data
58 | - Guest OS monitoring data
59 | - Azure resource monitoring data
60 | - Azure subscription monitoring data
61 | - Azure tenent monitoring data
62 |
63 | * **Note**: When we go in Azure Monitor-> Matrix Section, it will ask for scope of which we want to access the data.
64 |
65 | ## Day-4:-
66 |
67 | ### Azure Monitor-Activity Logs:-
68 | * In this we learned about Activity Logs with Azure Monitor.
69 | * Azure Activity log stores all Controlled Plane Activity(e.g. someone created VM or someone regenerate the key for storage account. We have the log and they are Contolled Plan Activity)
70 | * It is like the recording of all of the administrative action.
71 | * We can able to stream our activity log into storage account or log analytics workspaces from Diagnostic settings.
72 |
73 | ### Azure Monitor-Alerts:-
74 | * We have to understand what are alerts in the Azure Monitor Service.
75 | * How to work with alerts in the Azure Monitor service.
76 | * We have to define alerts in Azure Monitors.
77 | * These alerts can be used to notify you whenever any condition are met in the monitoring data.
78 | * **We can able to create alerts based on the below monitoring data source**
79 | - Matrices Values
80 | - Log serach queries
81 | - Activity log events
82 | - From the health of the underlying Azure platform
83 | - From tests made for website availability
84 |
85 | * Understand the defination of Target resource, Signal, Criteria, Action.
86 | * **Steps to create alert rule**: Select Resource-> Condition(Matrices, Activity Log)-> Action-> Alert rule details
87 |
88 | ## Day-5:-
89 |
90 | ### Azure Log Analytics:-
91 | * A log analytics workspace is used for storing all of your monitoring data.
92 | * Each log analytics workspace has its own data repository and configuration.
93 | * You can configure different data source to send their data onto the log analytics workspace.
94 | * These source includes:-
95 | - Azure Virtual machine
96 | - Hybrid windows
97 | - Linux Machine
98 | - Azure resource that are part of your subscription
99 |
100 | * Basically it install Log Analytics Agent.
101 |
102 | ## Day-6:-
103 |
104 | ### Azure log Analytice-Queries:-
105 | * In this we have to understand how to work with Azure Log Analytics Queries.
106 |
107 | ### Azure log Analytics-Managing Access:-
108 | * We can configure access to our log analytices workspace with the help of **Role-Based Access Control**.
109 | * **There are 2 in-built user for log analytices workspace**:-
110 | 1. **Log Analytics Reader**:-
111 | * With this role, a user can view and search all monitoring data.
112 | * The user can also view monitoring settings. This includes viewing the configuration of Azure diagnostic and all Azure resources.
113 |
114 | 2. **Log Analytics Contributor**:-
115 | * This has all the privileges of the Log Analytics Reader.
116 | * Here the user can also create and configure Automation accounts.
117 | * The user can also add remove management solutions
118 | * The user can also configure the collection of logs from Azure storage and edit the monitoring settings from Azure resource.
119 |
120 | ## Day-7:-
121 |
122 | ### Azure Diagnostic-Virtual Machine:-
123 | * In this we have to cover about Diagnostic feature which is available for Azure Virtual machine.
124 | * Also we have to cover how to work with the diagnostic feature.
125 | * **What is diagnostic feature which is available for Azure Virtual Machine:-**
126 | * This is a feature that allow us to collect monitoring data from the guest from the guest operating system for Azure compute resources.
127 | * For collection of information, Azure will install the **Azure Diagnostic Extension** on your Azure Virtual Machine.
128 | * There are different type of data that can be collected:-
129 | * Windows Event Logs
130 | * Performance counters
131 | * IIS Logs(Usages information for the IIS websites that are running on the guest OS)
132 | * Application Logs
133 | * Crash dumps(Information about state of process if application crashes)
134 | * File based logs(These are logs that are created by the application or services)
135 | * Agent diagnostics logs(Information about Azure diagnostics agent)
136 |
137 | ### Creating a resource-Azure Web Apps:-
138 | * Here we have to create Azure Web Apps
139 | * We have to publish a solution onto the Azure Web App
140 |
141 | ## Day-8:-
142 |
143 | ### Application Insights:-
144 | * **What we have to learn:-**
145 | * Overview of Application Insights
146 | * Using Application Insights
147 |
148 | * **Overview of Application Insight:-**
149 | * This is an **Application Performance Manageemnt Service** for developers and DevOps proffesionals
150 | * With this service we can monitor our live applicaions
151 | * It helps to automatically detects performace issues and also help in diagnosing issues
152 | * Here we can get request rates, response times and falure rates for our pages
153 | * We can get page views and load performance as they are reported by the users' browser
154 | * It works with variety of platforms includes .Net, Node.js, java and python
155 |
156 | ### Monitoring Azure resources:-
157 |
158 | * **What are we going to learn**
159 | * Using the datadog system for monitoring
160 |
161 | * **What is datadog**
162 | * Datadog is a monitoring service for cloud-scale applications, providing monitoring of servers, databases, tools, and services, through a SaaS-based data analytics platform
163 |
164 | ## Day-9:-
165 |
166 | ### Visual Sutdio App Center:-
167 | * **What we have to cover:-**
168 | * What is Visual Studio App Center
169 | * What goes into device registration
170 |
171 | * What is Visual Studio App Center?
172 | * This service is used to **automate and manage** the lifecycle of IOS, Android, Windows and MacOS application
173 | * We can connect to our repo and automate our builds
174 | * We can then test the builds on real devices in the cloud
175 | * We can distribute apps to beta testers
176 | * We can also monitor real-world usages with crash and analytics data
177 |
178 | * **Distribution Groups:-**
179 | * These are used to control access to release
180 | * Here the distribution group is a set of users
181 | * We can release the application to the users via distribution groups
182 | * **Private Distribution Group:-** Here users are invited by email. The users can then login into Visual Studio App Center and then test the application.
183 | * **Public Distribution Group:-** This is for unauthorized users. Here user can download the application via a link
184 | * **Shared Distribution Group:-** These are groups that are shared across multiple applications in a single organization.
185 |
186 | ## Day-10:-
187 |
188 | ### Azure Monitor-Dynamic thresholds:-
189 | * **What are we have to cover:-**
190 | * What are Dynamic thresholds in Azure Monitor
191 | * Quick look at dynamic thresholds
192 |
193 | * **What are Dynamic thresholds in Azure Monitor:-**
194 | * We can create alerts in Azure Monitor based on dynamic thresholds
195 | * Here Azure Monitor uses its internal *machine learning algorithms* to identify patterns and anomalies based on historical metrices collected by Azure monitor resources
196 | * When we define alerts an alerts based on a matric, you can choose a setting known as *sensitivity*
197 | * This defines what is the amount of deviation from metric behaviour that would be use to generate alerts.
198 | * **There are three levels of sensetivity:-**
199 | * **High:-** Here an alerts would be generated even on the smallest deviation. This results in more alerts being generated
200 | * **Medium:-** Here alerts would be based on more balanced thresholds. Here fewer alerts would be generated
201 | * **Low:-** Here only if there are major deviations, then alerts would be generated. This would results in fewer alerts.
202 |
203 | * For new resources, dynamic thresholds won't be triggered three days on unless 30 samples of metric data is made available.
204 | * We can also define advanced settings of dynamic alerts
205 | * This allow us to create alerts based on the number of deviation
206 |
207 | # Section-2: Devlop a Site Reliability Engineering Strategy:-
208 |
209 | ## Day-11:-
210 |
211 | ### What is Site Reliability Engineering:-
212 | * **What are we going to learn:-**
213 | * What is Site Reliability Engineering.
214 | * How can you increase the reliability of system with the help of Azure services.
215 |
216 | * **What is Site Reliability Engineering:-**
217 | * This is an engineering discipline that is used to help an organization achieve an appropriate level of reliability in their systems, services and products.
218 | * Sometimes it is not necessary for a system to be 100% reliable. This is also difficult to achieve
219 | * In crucial sectors like aviation or medical you would strive for high reliability
220 | * To achieve high reliability, you would need to invest more.
221 | * Hence always set a goal with relevant stakeholders on the ideal measure for reliability
222 |
223 | * **How can we increase the reliability of system with the help of Azure services:-**
224 | 1. Using Virtual Machine Scale sets:-
225 | * This is a service that allows you to spin up an identical set of virtual machines
226 | * Here the service can scale in and out based on demand.
227 | * It can increase the number of virtual machines running as part of your system if the load increases
228 | * It can also decrease the number of virtual machines running as part of your system if the load decreases
229 | 2. Using an Azure Load balancer:-
230 | * The Azure load balancer can be used to route requests to backend virtual machines
231 | * This helps to distribute traffic in an efficient way
232 | * It can also help ensure that your system still processes requests if one of your virtual machines goes down
233 | 3. Using the Azure Traffic Manager Service:-
234 | * This is a DNS routing service
235 | * Here you can route traffic based on different routing methods
236 | * You have the priority routing that can be used to route traffic to a secondary end point if the primary endpoints fails.
237 |
238 |
239 | ## Day-12:-
240 |
241 | ### Using Dashboard is Azure Monitor:-
242 | * What we have to learn:-
243 | * How to work with dashboards in Azure
244 |
245 | ### Using Resource Graph Explorer:-
246 | * **What we have to learn:-**
247 | * What is the Resource Graph Explorer
248 | * How to use the Resource Graph Explorer
249 |
250 | * **What is the Resource Graph Explorers:-**
251 | * This is a service that allow you to browse for the resource that are part of your sebscription.
252 | * Here you can use queries based on the **kusto Query Language** to search for resources
253 | * The Resource Graph Explorer provides an enterface that helps in executing multiple queries, evaluating the results and viewing the results in the form of charts.
254 |
255 | ## Day-13:-
256 |
257 | ### The Azure Load Balancer Service:-
258 | * **What we have to learn:-**
259 | * What is the purpose of Azure Load Balancer
260 | * What is the Azure Load Balancer
261 | * What are the different components of the Azure Load Balancer
262 | * The different Azure Load Balancer SKU's
263 | * Public and Internal Load Balancer
264 |
265 | * **What is the Azure Load Balancer:-**
266 | * The Azure Load Balancer is used to distribute incoming traffic to backend virtual Machine
267 | * The Azure Load Balancer operate at **Layer-4** of the OSI(Open System Interconnection) model
268 | * This service can be used to provide higher availability for your application architecture
269 |
270 | * **What are different components of the Azure Load Balancer**
271 | 1. **Frontend IP Configuration:-**
272 | * This is the IP address assigned to the load balancer
273 | * If you have to load balance requests from the internet, then you can assign a Public IP address.
274 | * If you need to load balancer requests from the virtual network, then you assign a private IP address
275 |
276 | 2. **Backend Pool:-** This is the group of virtual machines or instances in the virtual machine scale set that can be used to serve the incoming user requests.
277 |
278 | 3. **Health probe:-** This is used to determines the health of the underlying instance in the backend pool.
279 |
280 | 4. **Load-Balancing rules:-** This tells the load balancer what to do with the incoming traffic.
281 |
282 | ## Day-14:-
283 |
284 | * **The different Azure Load balancer SKU's:-**
285 | 1. **Basic Load Balancer:-**
286 | * This can support up to 300 instance in the backend pool
287 | * The backend pool can contain VMs that are part of an availability set or scale set
288 | * The health probes can be only TCP and HTTP
289 | * There is no SLA
290 | 2. **Standard Load Balancer**
291 | * This can support upto 1000 instance in the backend pool.
292 | * The backend pool contain any virtual machine or virtual machine scale sets in a virtual network
293 | * The health probes can be only TCP, HTTp and HTTPS
294 | * You get an SLA of 99.99%
295 |
296 | ### Lab-using the Azure Load balancer:-
297 | * We have to make network interface static
298 | * We have to configure backend pool, Health probes, and load balancing rules.
299 |
300 | ### Virtual Machine Scale Sets
301 | * **What we have to learn:-**
302 | * What is virtual machine scale sets
303 | * How to work with virtual machine scale sets
304 | * **What are Virtual Machine Scale Sets:-**
305 | * This service allows you to create and manage group of identical and load balanced virtual machines
306 | * Here the number of underlying instances in the scale set can increase or decrease based on demand or based on a set schedule
307 | * Using virtual machine scale sets, you can add more scalability and availability for your application
308 | * **Scale Out:-** Increasing no of VM in scale set
309 | * **Scale In:-** Decreasing no of VM in scale set
310 | * Install the tool stress to increase the load on VM by using command
311 | - sudo apt-get install stress
312 | * To stress cpu use the below command
313 | - sudo stress--cpu 100
314 |
315 | ## Day-15:-
316 |
317 | ### Using Queues for scaling:-
318 | * **What are we going to learn:-**
319 | * The concept of using queues for scaling
320 | * How to use queues in the scalling process
321 | * The concept of using queues for scaling:-
322 | * Each time when there is request for workload to execute, the Web Application sends a message to Azure Queue Storage and based on number of message on queue the number of VM will get created.
323 | * Using queues for the scaling process:-
324 | * We will create an Azure storage queue
325 | * We will create a scaling condition in an Azure Virtual Machine Scale Set based on Azure storage queue
326 |
327 | ## Day-16:-
328 |
329 | ### Usage of Azure Trafic Manager:-
330 | * **What we have to learn:-**
331 | * What is the Azure Traffic Manager Service
332 | * What are the different routing methods vailable
333 | * How to use service itself
334 | * What is the Azure Traffic manager service:-
335 | * The Azure Traffic Manager service is a DNS-based traffic load balancer
336 | * This service helps you to distribute traffic to services across global Azure regions
337 | * The Traffic manager service directs client requests to the most appropriate service endpoint based on the traffic-routing method and base on the health on the of the endpoints
338 | * An endpoint is reffered to an internet facing service that is hosted inside or outside of Azure
339 | * What are the different routing methods available:-
340 | 1. **Priority:-** This is used to direct traffic to a secondary endpoint if the primary endpoint fails
341 | 2. **Weighted:-** This can be used distribute traffic across a set of endpoints
342 | 3. **performance:-** This routing mathod can be used to direct users to the closest endpoint when it comes to lowest network latency
343 | 4. **Geographic:-** Here user are directed to specific endpoints based on the geographic location of the DNS query
344 | 5. **Multivalue:-** Here multiple healthy endpoints are returned to the client
345 | 6. **Subnet:-** Here a set of end user IP address ranges are mapped to specific endpoint
346 |
347 | ## Day-17:-
348 |
349 | ### Understanding your SLA
350 | * **What are we going to learn:-**
351 | * Common SLA provided for Azure Services
352 | * Understanding of composite SLA
353 | * Common SLA provided for Azure Services:-
354 | * Azure normally gives an Service Level Agreement of 99.9% for all paid services
355 | * If you have Virtual Machine that have two are more instances that are deployed across two or more Availability Zones in the same Azure region, you will guaranteed Virtual Machine connectivity to at least one instances that are deployed across an availability set, you will be guaranteed Virtual Machine connectivity to atleast one instance at 99.95% of the time.
356 | * For an Azure Standard Load Balancer that serves two or more healthy Virtual Machines instances, you will be guaranted availability 99.99% of the time
357 | * You won't get the same SLA for the basic Load Balancer
358 | * For Azure Storage accounts, you get a general SLA of 99.9% for the read and write operations
359 | * **Understanding Composite SLA:-**
360 | * When you have multiple services for your application, you have to consider the SLA for each services
361 | * Let's say that you have an application that that makes use of the Azure Web App service and the Azure SQL Database service
362 | * For Azure Web Apps, you get an SLA of 99.95%
363 | * For Azure SQL Database, you get an SLA of 99.99%
364 | * Hence the composite SLA for the system would be 99.95% * 99.99% = 99.94%
365 |
366 | ## Day-18:-
367 |
368 | ### Recovery Strategies:-
369 | * **What we have to learn:-**
370 | * Planning for Disaster Recovery
371 | * Quick look at geo-replication for an Azure SQL database
372 | * Planning for Disaster Recovery:-
373 | * When you host application using cloud infrastructure, you always have to plan for disaster recovery scenarios
374 | * This is important for application that are cretical and need to be up and running all the time
375 | * Businesses will normally have procedures in place for recovery for their application
376 | * The procedure would be dependent on many aspects such as the importance of having a recovery solution and the cost
377 | * Also aspect such how long can the application can be down and what is the acceptable loss of data
378 | * we have to set the system for ongoing replication of data
379 | * **Cost is important** Here you need to pay for the duplicate infrastructure in the East US region
380 | * **Why we would choose on-going replication?** This would ensure we don't loose that much data in the event of a disaster
381 |
382 | # Section-3: Develop a Security and Compliance Plan:-
383 |
384 | ## Day-19:-
385 | ### Quick review on Azure AD:-
386 | * **What we have to learn:-**
387 | * What is Azure Active Directory
388 | * How does it work
389 | * Pricing options
390 |
391 | * What is Azure Active Directory:-
392 | * This is a cloud-based identity and access management service
393 | * We can create users and groups in Azure AD
394 | * We can assign licences to users
395 | * We can give access to resource in Azure to users defined in Azure AD
396 | * You can also grant different roles to users in Azure AD
397 |
398 | * How does it work:-
399 | * When we need to access resources in Azure we first need to sign in to our Azure AD and then based on the permession that we haave we can able to access the resources
400 |
401 | * Pricing Options:-
402 | * **Azure Active Free:-** This provides user and group management. It also provides on-premises directory synchronization, basic reports and self-service password change for cloud users
403 | * **Azure Active Directory Premium P1:-** Here hybrid users can acccess both on-premises and cloud resources. It also support the user of dynamic groups, cloud write-back capabilities and self-service password reset for on-premises users
404 | * **Azure Active Directory Premium P2:-** This provides important features such as Azure Active Directory Identity Protection and Privileged Identity Mangement
405 |
406 | ## Day-20:-
407 |
408 | ### Managing your Azure AD user and group:-
409 | * **What we have to learn:-**
410 | * Users and groups
411 | * Users and groups:-
412 | * We can create users in Azure AD
413 | * We can also able to logically group the users into groups
414 | * We can assign Azure AD roles to either users or groups
415 | * We can also assign permissions to resources in our Azure subscripyions to users or groups
416 |
417 | ### Multi-Factor Authentication
418 | * **What we have to learn:-**
419 | * What is Multi-Factor Authentication
420 | * How to enable Multi-Factor Authentication
421 | * What is Multi-Factor Authentication
422 | * This is the process where in the user is prompted for an additional form identification during the sign-in process
423 | * This makes the sign-in process more secure
424 | * The following methods are available form of MFA
425 | 1. Microsoft Authentication App
426 | 2. SMS
427 | 3. Voice Call
428 | 4. Hardware token
429 |
430 | ## Day-21:-
431 |
432 | ### Conditional Access Policies:-
433 | * **What we have to learn:-**
434 | * What are conditional access policies
435 | * How to work with coditional access policies
436 | * What are conditional access policies:-
437 | * Conditioanal access policies are used to allow users to access a resource only if they perform a certain action
438 | * It is used to add an extra layer of security when it comes to accessing application such as Azure Portal
439 | * You can provide access to users based on signals available and creating conditioan access policies
440 | * Common Signals:-
441 | * **User or group membership:-** Only apply policies to certain users and groups
442 | * **IP Location Information:-** Here companies can create configure IP address to block or allow traffic from
443 | * **Device:-** Here only users using devices with specific platforms could be allowd to access
444 | * **Real time and calculated risk detection:-** Here Azure AD Identity Protection can be used to identify the sign-in risk behaviour. The policy can then be used to either grant or block access based on the risk sevierity
445 |
446 | ### Azure AD Privileged Identity Management:-
447 | * **What we have to learn:-**
448 | * What is the Azure AD Privileged Identity Management
449 | * What is Azure AD Privileged Identity Management:-
450 |
451 | * We can use this to provide just-in-time privileged access to Azure AD and Azure resources
452 | * We can assign time-based access to resources using start and end time using start and end dates
453 | * We can ensure approval is taken before the activation of privileged roles
454 | * We can also ensure multi-factor authentication is carried out to activate any role
455 | * Get notification when privileged roles are activated
456 | * We need to ensure each user that needs to use Azure AD Privileged Identity management is assigned an Azure AD Premium P2 license
457 | * To start using Azure AD Privileged Identity management, first ensure to login as the Global Administrator
458 | * Go to the Azure AD Privileged Identity Mangement service
459 | * Consent to using Privileged Identity Mangement
460 | * We will then be requested to carry out multifactor authentication
461 |
462 | ## Day-22:-
463 |
464 | ### Azure Key Vault:-
465 | * **What we have to learn:-**
466 | * What is the Azure key vault service
467 | * Working with the Azure key vault service
468 | * What is the Azure key vault service:-
469 | * This is a tool that can be used to securely store and access secrets
470 | * Secrets can be API keys, password or certificates
471 | * **Example:-**
472 | * Let's say an application is being developed that is used to encrpt data. The data needs to be encrypted using an encryption key
473 | * The encryption key, instead of being stored in the application itself, can be stored in the Azure key vault service
474 | * The application can then make a secure call to get the encryption key from the Azure key vault service
475 | * You can also set access permission to service principals for the secrets, keys and certificates stored in the Azure key vault
476 | * There are different permissions available for working with secrets, keys, or certificates
477 | * You can also protect your key vault and its objects using the soft-delete feature
478 | * Here event though the key vault or an object is deleted, the object would still be available for a duration of time
479 | * The retention period can be configured for 7 to 90 days
480 |
481 | ### Service Principal:-
482 | * **What we have to learn:-**
483 | * What is a security principal
484 | * How to use a security principal
485 | * What is a security pricipal:-
486 | * In order to access resource that are secured by an Azure AD tenant, the access must be represented by a security pricipal
487 | * The security pricipal defines the access policy and the permissions for the user or the application in the Azure AD tenant
488 |
489 | ## Day-23:-
490 |
491 | ### Azure Active Directory:-
492 | * **What we have to learn:-**
493 | * Using a managed identity
494 | * Using a Managed Identity:-
495 | * A common challenge for developers is the management of secrets and credentials to secure communication between different services. On Azure, managed identities eliminate the need for developers having to manage credentials by providing an identity for the Azure resource in Azure AD and using it to obtain Azure Active Directory (Azure AD) tokens. This also helps accessing Azure Key Vault where developers can store credentials in a secure manner. Managed identities for Azure resources solves this problem by providing Azure services with an automatically managed identity in Azure AD.
496 |
497 | ### Azure Security Center:-
498 | * **What we have learn:-**
499 | * What is Azure Security Center
500 | * A look at Azure Security Center
501 | * **What is Azure Security Center:-**
502 | * This is a security system that is available in Azure
503 | * It provides **advanced threat protection** for our application in the cloud or in our on-premise infrastructure
504 | * Azure Security Center has the ability to access your environment and gives you the the uderstanding on wheater your resources are secure or not
505 | * **There are two pricing tiers for azure security- free and standard:-**
506 | * Free:- Missing OS patches assessment, Security Misconfiguration assessment, Endpoint protection assessment, Disk encryption assessment.
507 | * Standard:- Virtual Machine Behavioural Analytics, Network-based security alerts, Just-In-Tine VM access, Adoptive application controls.
508 |
509 | ### Azure Policies:-
510 | * **What we have to learn:-**
511 | * What is the Azure Policy service
512 | * How to use the Azure policy service
513 | * What is the Azure Policy Service:-
514 | * This is a service that can be used to create, assign and manage policies
515 | * These policies can be used to enforce rules that resources must abide by
516 | * Policies can also show non-compliance of existing resources
517 | * There are already many inbuild policies in place
518 | * Defination contain all inbuild policies
519 |
520 | # Section-4:-Manage Source Control:-
521 |
522 | ## Day-24:-
523 |
524 | ### Using Source Control:-
525 | * **What are we going to learn:-**
526 | * Using a versioning control system
527 | * Centralized Version Control System
528 | * Distributed Version Control System
529 | * Benefits of each version control system
530 | * **Using a versioning control system:-**
531 | * Developers can use a versioning control system to record changes that are made to their source code file over time
532 | * This gives the developer the ability to revert back to a previous file version or even back to a previous project version
533 | * The source code versioning system also has the ability to compare changes made to a file from one version to another
534 | * The most popular source code system is git
535 | * **Using a centralized source control system:-**
536 | * It's beneficial to use when you have a large code base
537 | * Here you can specify fine grain permission at the file level
538 | * You can monitor the usages of files because the check-in and check-out happens at the server level
539 | * You can also lock files if required. This would prevent these files from being changed on server
540 | * Eg:- Team Foundatiot
541 | * **Using a distributed source control system:-**
542 | * You are giving the developer full control over the repository by allowing to use a local copy
543 | * The developer also gets the full history along with the repository code
544 | * It's great to use when you have many distributed teams
545 | * Great when working with open source code bases
546 | * Eg:- git
547 |
548 | ### Azure Repos- Team Foundation Version Control
549 | * **What we have to learn:-**
550 | * How to work with Team Foundation Version Control
551 |
552 | ### Azure Repos-Git:-
553 | * **What we have to learn:-**
554 | * Working with Git locally
555 | * Working with Git in Azure Repos
556 | * |Create a file Locally|--> |Initialize an empty git repository|--> |Add the files that need to be commited|--> |Commit the file locally|--> |Push the changes to Azure Repos|
557 |
558 | ## Day-25:-
559 |
560 | ### Azure Repos- Git Branches:-
561 | * **What we have to learn:-**
562 | * What are branch in Git
563 | * How to work with branches in Git
564 | * What are Branches in Git:-
565 | * Branches help developer to work on a different line of development and not touch the main branch of work
566 | * So let's say that developers want to work on a new feature of an application
567 | * Instead of adding the code changes to the main branch, they can create a new branch and add the code to the new branch
568 | * The git branches are very light weight and hence easy to use
569 | * Use 'git branch branch_name' command to create a new branch
570 | * Use 'git checkout branch_name' to make changes on new branch not the master
571 | * To check on which branch pointer is pointing use git branch command
572 |
573 | ## Day-26:-
574 |
575 | ### Azure Repos - Pull requests:-
576 | * **What we have to learn:-**
577 | * What are pull requests in Git
578 | * The different types of merges
579 | * How to work with Pull requests in Git
580 | * What are pull requests in Git:-
581 | * Let's say a developer has gone ahead and made chages to a particular branch in their local repository, and now the developer wants to merge the changes onto the branch into Azure Repos
582 | * Let's say that the company want to insure that the changes are viewed before they can be finally merged onto the repository in Azure repos
583 | * For this there can be restriction placed on the branch where in the developer first needs to intitiate a pull request
584 | * The pull request can be reviewed by a lead developer
585 | * The lead developer can check what are the chages that are going to be made
586 | * If the change are approved, the pull request can be approved
587 | * You can protect your branches with the help of branch policies
588 | * The different type of merges:-
589 | * **Merge(no fast-forward):-** Here all the individual commits in the pull requests branch are preserved as-it-is. A new merge commit is created which unites the master branch and the pull request branch
590 | * **Squah commit:-** Here the resulting commit is not exactly a merge commit, Here it just maintains a simple, straight, linear history
591 | * **Rebase:-** Here the Rebase will take each individual commit in the pull request and cherry-pick them into the master branch
592 | * Use 'git merge branch_name' to merge it in master branch
593 | * Then do 'git commit'
594 |
595 | ### Visual Studio - Azure Repos-Git:-
596 | * **What we have to learn:-**
597 | * Using Visual Studio to publish a project onto Azure Repos-Git
598 |
599 | ## Day-27:-
600 |
601 | ### Code Reviews:-
602 | * **What we have to cover:-**
603 | * Using Code Review
604 | * Using Code Rewiews:-
605 | * Performing reviews of an application code base is important
606 | * You can perform peer review
607 | * Here you can request for reviews from your peers and reviewed the change requests accoudingly
608 | * You can also use automated software to conduct code reviews
609 |
610 | ### GitHub Code Scanning:-
611 | * **What we have to learn:-**
612 | * Understanding code scanning in GitHub
613 | * Understanding code scanning in GitHub:-
614 | * Code scanning is a feature that is available in GitHub
615 | * This can be used to find for security vulnerabilities and coding errors in your source code
616 | * GitHub can be then generated alerts based on the vulnerabilities encountered
617 | * Code scanning can be used with CodeQL
618 | * This is a semantic code analysis engine that treats code as data
619 | * It can then find for potential vulneraabilities in the code
620 |
621 | # Sction-5:-Facilitate communication and colleborotion:-
622 |
623 | ## Day-28:-
624 |
625 | ### Starting with Azure DevOps services:-
626 | * **What are we going to learn:-**
627 | * What is available with Azure DevOps
628 | * What is an Azure DevOps project
629 | * The pricing involved with Azure DevOps
630 | * What is available with Azure DevOps:-
631 | * **Azure Boards:-** Here teams can create and track user stories, backlog items, track, feature and bugs that are linked onto a project
632 | * **Azure Repos:-** This is a set of version control tools that helps you to manage your code.
633 | * **Azure Pipelines:-** This can be used to automatically build and test your code projects
634 | * **Azure Test Plans:-** Here you can manage manual testing which include user acceptance testing, Exploratory testing and Shareholder feedback
635 | * **Azure Artifacts:-** Here you can create and shared Maven, npm, and Nuget package feeds from public sources with teams of any size
636 | * What is an Azure DevOps projects:-
637 | * An Azure DevOps projects is an encapulation of the repository for source code and also for the group of people who would be responsibe for planning, tracking and collaboration on the software solution being build
638 | * If you have different business units, you can add projects for each business unit
639 |
640 | ## Day-29:-
641 |
642 | ### What are Azure Boards:-
643 | * **What we have to learn:-**
644 | * What are Azure Boards
645 | * The basic process
646 | * The Agile process
647 | * The Scrum process
648 | * The CMMI process
649 | * What are Azure Borads:-
650 | * This is a service that helps teams to manage their software projects
651 | * It has support for Scrum and kanban
652 | * Here you can quickly create and track user stories, backlog items, feature and bugs that are associated with a project
653 | * The Basic Process:-
654 | * Choose this process when the team needs the simplest model to work with in Azure Boards
655 | * **Steps:** Epic-> Issue-> Task
656 | * **The basic Process-Workflow(Bi Directional):** To Do-> Doing-> Done
657 | * The Agile Process:-
658 | * Choose this process when when the team need to use Agile process auch as Scrum
659 | * Here the team would want to track user stories and track development and test activities
660 | * Can also track bugs on the kanban boards
661 | * **Steps:** Epic-> Feature-> User stories-> Task Bug-> Task | issue
662 | * **The Agile Process-Workflow(Bi-Directional):** New-> Active-> Resolved-> Closed | Removed
663 | * The Scrum Process:-
664 | * When you specifically want to align with the scrum process
665 | * Here you track the product backlog and the bugs on a kanban board
666 | * **Steps:** Epic-> Feature-> Product backlog item-> Task | Bug-> Task | Impediment(issue and bug tracking)
667 | * **The Scrum Process-Workflow(Bi-directional):** New-> Approved-> Committed-> Done | Removed
668 | * The CMMI Process:-
669 | * When the company follow a more formal project process
670 | * **Steps:** Epic-> Feature-> Requirement-> Task | Bug-> Task | Change Request | Issue | Review | Risk
671 | * **The CMMI Process-Workflow:** New-> Active-> Resolved-> Closed
672 |
673 | ### Working with Azure Boards:-
674 | * **What are we going to learn:-**
675 | * How to work with Azure Boards
676 |
677 | ### Azure Boards- Team users:-
678 | * **What are we going to learn:-**
679 | * How to add a user to the organization and then to the team
680 |
681 | ## Day-30:-
682 |
683 | ### Revision Day-1:-
684 | * Revised complete **Introduction to DevOps Section**
685 | * Revised Complete **Devlop an Instrumental Strategy Section**
686 |
687 | ## Day-31:-
688 |
689 | ### Revision Day-2:-
690 | * Solved questions on Devlop an Instrumental Strategy Section
691 | * Revised Complete **Develop a Site Reliability Engineering Section**
692 | * Revised Complete **Develop a security and compliance plan Section**
693 | * Revised Complete **Manage Source Control Section**
694 | * Revised Complete **Facilitate Communication and Collaboration Section**
695 |
696 | ## Day-32:-
697 |
698 | ## Revision Day-3:-
699 | * Solved questions on Manage Source Control Section
700 | * Solved questions Facilitate Communication and Collaboration Section
701 |
702 | ## Day-33:-
703 |
704 | ### Lab-Azure Boards-Charts:-
705 | * **What are we going to learn:-**
706 | * What are the key concepts with dashboards
707 | * The different chart available
708 | * How to create a sample chart and add it to a dashboards
709 |
710 | * What are the key concept with dashboards:-
711 | * These are customized and interactive signboards that helps to provide real-time information.
712 | * The dashboards are linked with a team or a project
713 | * The dashboards can be used to deploy charts and widgets
714 | * **Charts:-** These are trend charts that can be created with a work item query
715 | * **Widgets:-** This helps to display configurable and charts on dashboards
716 |
717 | * The different charts available:-
718 | * **Burndown and Burnup:-** The Burndown chart focuses on the remaining work within a specific period of time. The Burnup chart focuses on the complete work. Both of the chart type can be used to see if the team is on the track to complete the set of work by the end date.
719 | * **Cycle time:-** This is used to look at the time taken to close a work item after work on it has started
720 | * **Load time:-** This defines the time taken to close a work item after it has been created.
721 |
722 | ### Azure Boards - Slack:-
723 | * **What we have to cover:-**
724 | * Intergration of Azure Boards with Slack
725 |
726 | * Intergration of Azure Boards with Slack:-
727 | * You can use the Azure Boards application for slack to create work item and monitor the work item activity in the Azure Boards projects from a slack channel
728 | * You have first add the Azure Boards app to the slack workspace
729 | * Then link the Azure Boards project to the Azure Boards app in the slack
730 | * Setup subscription for the work related events in the slack channel
731 |
732 | # Section-6:- Define and Implement continious Integration-Build Automation:-
733 |
734 | ## Day-34:-
735 |
736 | ### What is Continious Integration:-
737 | * **What we have to learn:-**
738 | * What is Continious Integration
739 | * The need for continious integration
740 | * Tools for continious integration
741 |
742 | * What is Continious Integration:-
743 | * Used to complement the entire DevOps process
744 | * provides automation for your entire applicationn lifecycle
745 | * Allows to detect issues and bugs early on in your development lifecycle.
746 |
747 | * Tools for continious integration:-
748 | * The right tools are important
749 | * continious integration tools:- Jenkins, Atlassian Bamboo, Teamcity
750 | * You would also implement your source code versioning tool such as Git and GitHub
751 | * You would also implement your testing tools with the continious integration tools
752 | * Azure DevOps service service has Azure Pipeline
753 |
754 | ## Day-35:-
755 | ### What is Azure Pipeline
756 | * **What we have to cover**
757 | * What are Azure pipelines
758 | * The different parts of Azure pipeline
759 |
760 | * What are Azure pipelines:-
761 | * This is a cloud service that can be used to automatically build and test your code projects.
762 | * You can implement both continious integration and continious delivery for your application using Azure pipeline
763 | * Azure Pipelines can be used with a variety of programming languages include Python, Java, Javascript, PHP, Ruby, C#, c++, and Go.
764 | * It integrate with a variety of version control system such as GitHub, GitHub Enterprise, Azure Repos, Git & TFVC, Bitbucket cloud and subversion.
765 | * The defination of pipeline can be done via the classic editor or via a YAML file
766 | * By default the YAML file is azure-pipeline,yaml file and the file is versioned along with your code
767 | * We will be working with the YAML file for building and pipeline
768 |
769 | * The different part of Azure Pipeline:-
770 | * **Trigger:-** This instruct the pipeline to run
771 | * **Stage:-** This is a way of organizating the job in the pipeline
772 | * A job can have one or more steps
773 | * Each step can be a task or a script. This is the smallest block of the pipeline
774 |
775 | ### Azure Pipeline- Triggering a build:-
776 | * An Azure pipleline is a part of CI hence if we do some changes to the code and then commit it then Azure pipeline is automatically go to trigger build for the same.
777 | ## Day-36:-
778 |
779 | ## Cleared my Microsoft Certified DevOps Proffesional Expert Exam.
780 |
781 |
782 | [Verify my certification](https://www.credly.com/badges/3201a7aa-5ff6-4574-b275-9c2c6c5bdf15?source=linked_in_profile)
783 |
784 |
785 | saurav raghuvanshi
--------------------------------------------------------------------------------
/Microsoft_Certified_Solution_Architect_Expert/Database Deployment Template/armdeploy.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
4 | "contentVersion": "1.0.0.0",
5 | "parameters": {
6 | "servername": {
7 | "type": "string",
8 | "metadata": {
9 | "description": "description"
10 | }
11 | },
12 | "dbcount": {
13 | "type": "int",
14 | "metadata": {
15 | "description": "description"
16 | }
17 | },
18 | "startip": {
19 | "type": "string",
20 | "metadata": {
21 | "description": "description"
22 | }
23 | },
24 | "endip": {
25 | "type": "string",
26 | "metadata": {
27 | "description": "description"
28 | }
29 | }
30 | },
31 | "functions": [],
32 | "variables": {"dbprefix": "test_db",
33 | "adminName": "whome",
34 | "adminPassword": "P@55W0rd!!!"},
35 | "resources": [
36 | {
37 | "name": "[parameters('servername')]",
38 | "type": "Microsoft.Sql/servers",
39 | "apiVersion": "2014-04-01",
40 | "location": "[resourceGroup().location]",
41 | "tags": {
42 | "displayName": "sqlServer1"
43 | },
44 | "properties": {
45 | "administratorLogin": "[variables('adminName')]",
46 | "administratorLoginPassword": "[variables('adminPassword')]"
47 | },
48 | "resources": [
49 | {
50 | "type": "firewallRules",
51 | "apiVersion": "2014-04-01",
52 | "dependsOn": [
53 | "[resourceId('Microsoft.Sql/servers', parameters('servername'))]"
54 | ],
55 | "location": "[resourceGroup().location]",
56 | "name": "AllowAllWindowsAzureIps",
57 | "properties": {
58 | "startIpAddress": "[parameters('startip')]",
59 | "endIpAddress": "[parameters('endip')]"
60 | }
61 | }
62 | ]
63 | },
64 | {
65 | "name": "sqlServer1/sqlDatabase1",
66 | "type": "Microsoft.Sql/servers/databases",
67 | "apiVersion": "2014-04-01",
68 | "location": "[resourceGroup().location]",
69 | "tags": {
70 | "displayName": "sqlDatabase1"
71 | },
72 | "dependsOn": [
73 | "[resourceId('Microsoft.Sql/servers', 'sqlServer1')]"
74 | ],
75 | "properties": {
76 | "collation": "SQL_Latin1_General_CP1_CI_AS",
77 | "edition": "Basic",
78 | "maxSizeBytes": "1073741824",
79 | "requestedServiceObjectiveName": "Basic"
80 | }
81 | }
82 | ],
83 | "outputs": {}
84 | }
--------------------------------------------------------------------------------
/Microsoft_Certified_Solution_Architect_Expert/Labs/AzureMapDemo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |