DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service...

21
1 / 21 DEVOPS kickstarter van idee naar productie in Azure!

Transcript of DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service...

Page 1: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

1 / 21

DEVOPS kickstarter

van idee naar productie in Azure!

Page 2: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

2 / 21

Welkom...

… bij de 2de TechUpdate van 2018 !

Sessie:● Informeel● Hands-on (dus niet alleen sheets)● Vragen staat/is vrij● Mogelijkheid voor vragen na de sessie of op later

tijdstip

Page 3: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

3 / 21

Scope

Focus op de DevOps ‘enablers’:● CI (Continuous Integration)● CD (Continuous Delivery)● IaC (Infrastructure-as-Code)

In context van online diensten:● VSTS (Visual Studio Team Services)● Microsoft Azure

Page 4: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

4 / 21

Landscape – App Lifecycle● Self hosted

(on-premise/DC)● Provider hosted

(‘traditional’ IaaS)

Router /Firewall

Front End

Internet

Back End

Back end switch

ARRDNSFTP /

static content

Containers AD SQL Files App

Webserver farm

Webserver

DNS

Page 5: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

5 / 21

Dev / Deploy / Monitor

Infrastructure (on-premise/DC)(compute/storage/memory/network)

Infrastructure (on-premise/DC)(compute/storage/memory/network)

Front-end appsFront-end apps

ConfigurationConfiguration

Back-end servicesBack-end services

ConfigurationConfiguration

Configuration(VLAN / ACLs)Configuration(VLAN / ACLs)

3th-party services3th-party services

ConfigurationConfiguration

DatabasesDatabases

ConfigurationConfiguration

CachingCaching

ConfigurationConfiguration

ContainersContainers

ConfigurationConfiguration

FilesFiles

ConfigurationConfiguration

......

ConfigurationConfiguration

DNSDNS

DHCPDHCP

Hyper-VHyper-V

ASP.NETMVC

WebApp IIS config

WindowsService

executable App config

Development

Test

Acceptance

Production

DACPAC

records

Health checks(monitoring)

Health checks(monitoring)

Page 6: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

6 / 21

Development & Operations (waarom)

Move / Add / Change

requests

Sprint

Functioneel (TTM)- toevoegingen- aanpassingen- bug-fixes (inc. MTTR)

Niet functioneel- schaalbaarheid- beschikbaarheid- performance

Performance

feedback

IT process

Page 7: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

7 / 21

Development & Operations (hoe)

Infrastructure

ProjectDevelopment

Infrastructure-as-Code (IaC)

Test automation

Deployment stagingContinuous Integration (CI)

Continuous Delivery (CD)

Continuous Integration (CI)

Infrastructure-as-Code (IaC)

Continuous Delivery (CD)

‘Work item management’‘Work item management’

Deployment staging

CloudCloud

Page 8: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

8 / 21

Scenario’s

1) ‘van idee naar productie in Azure!’– End-to-end demo CI/CD– Gebaseerd op Azure DevOps project (WebApp)– Azure PaaS

2) IaC; ARM templates en CI/CD (ACC/PROD stages)– Azure IaaS/PaaS provisioning/confguration– Staging environments

Page 9: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

9 / 21

1Scenario

Page 10: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

10 / 21

Azure DevOps project - internals

Web front end

App ServicePlan

Web AppWE

ST

EU

RO

PE

ResourceGroup

SO

UT

H C

EN

TR

AL

US

Data storage

SQLDatabase

Application Insights

VSTS Gitproject

repositoryResource

Group

Azure subscription

VSTSaccount

HostedVS2017

Project

Build pipeline

Release pipeline

End userWeb App

Development team

de

plo

y

de

plo

y

Azure management

portal(portal.azure.com)

[project].visualstudio.com

Inkoop via:

- Credit card- Cloud Service Provider (CSP)

Page 11: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

11 / 21

#Tips

● Proef abonnement beschikbaar (€170 of 12 mnd)● Hands-on labs (gratis):

https://www.microsoft.com/handsonlabs

● Azure binnen eigen DC (housing)/on-premise ?Azure Stack

● Pricing calculator: https://azure.microsoft.com/en-us/pricing/calculator/

Page 12: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

12 / 21

Resultaat

Scenario 1

Page 13: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

13 / 21

Azure DevOps – wat krijg je

● Project homepage en dashboard – samenwerken● Proces ondersteuning (backlog e.d.)

● Versiebeheer (TFVC / Git)

● Test automatisering (unit, load, ...)

● Hosted build (environment) pipelines (ook self hosted)

● Release pipelines● Monitoring/Health checks – applicatie laag,

services en kosten● RBAC voor Azure en VSTS

Page 14: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

14 / 21

Azure DevOps – wat kan je

● Schaalbaarheid applicatie garanderen● Beschikbaarheid applicatie garanderen● Snel inspelen op functionele en kwaliteits

verbeteringen (application insights, services monitoring, health checks)

● DevOps ‘template’ gebruiken als startpunt (kickstarter ) en eventueel verder uitbouwen

Page 15: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

15 / 21

Next step...

Resources met ‘de hand’ aanmakenvia het Azure portal

Reproduceerbaarheid ?Traceerbaarheid ?

Meerdere omgevingen

Haalbaarheid ?

Page 16: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

16 / 21

ARM templates (IaC)● In DevOps voorbeeld; complete provisioning

services (web app, infra e.d.) door Azure

● IaC voorbeeld; provisioning services middels ARM templates naar acceptatie en productie omgeving

● ARM templates; declaratieve syntax om infrastructuur te beschrijven

● Op basis van dependencies, linked templates en parameters (json, resources en variables)

● Van toepassing op alle services (IaaS, PaaS)

Page 17: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

17 / 21

ARM template - indeling/syntax{ "$schema": "...", "contentVersion": "", "parameters": { }, "variables": { }, "functions": { }, "resources": [ ], "outputs": { }}

"parameters": { "siteNamePrefix": { "type": "string", "defaultValue": "publicsite", "maxLength": 11 "metadata": { "description": "The name prefix of the web app that you wish to create." } },},

"variables": { "webSiteName": "[concat(parameters('siteNamePrefix'), uniqueString(resourceGroup().id))]",},

"resources": [ { "name": "[p4c.uniqueName(parameters('storageNamePrefix'))]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2016-01-01", "sku": { "name": "Standard_LRS" }, "kind": "Storage", "location": "South Central US", "tags": { "Department": "Finance", "Environment": "Production" }, "properties": {} }]

"outputs": { "newHostName": { "type": "string", "value": "[reference(variables('webSiteName')).defaultHostName]" }}

Dependencies (dependsOn) Linked templates (nesting)

New-AzureRmResourceGroupDeployment -Mode Complete -Name ExampleDeployment ` -ResourceGroupName ExampleResourceGroup -TemplateFile c:\example.json ` -TemplateParameterFile c:\example.parameters.json ` -storageNamePrefix overriddenName }}

Page 18: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

18 / 21

2Scenario

Page 19: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

19 / 21

Scenario 3 ?

● Combinatie scenario 1 (app) en scenario 2 (ARM) mogelijk

● Applicatie code en ARM templates in VS .sln

Page 20: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

20 / 21

Azure ‘interactivity’

● Grafsche front-end– Azure portal (portal.azure.com)

● Windows Powershell (met modules)

● Azure CLI (cross platform)

● Azure Resource Manager (ARM) templates● Via code (bibliotheken)

● Maken allemaal gebruik van de Azure REST-API

Page 21: DEVOPS kickstarter - Profit4Cloud10 / 21 Azure DevOps project - internalsWeb front end App Service Plan W Web App E S T E U R O P E Resource Group S O U T H C E N T R A L U S Data

21 / 21

Als laatste...

● Vragen ?● Opmerkingen ?● Suggesties ?● Wensen ?