Understanding Azure Release Pipeline - azure

I'm very new with Azure DevOps and I need some help to understand how to create a Release Pipeline. The Microsoft Doc is very extensive but I can't find what I'm looking for.
I've created a Build Pipeline with the sample python repository. Then I would like to create a Release Pipeline. I linked my account with my subscription, select the App type, but then I'm asking for App service name.
What is this App service ? How can I create it ?
On their documentation (here) they are just saying
App Service Name: Select the name of the web app from your subscription..
No more explanation.
Could someone please give me more information about that ?
Thanks a lot

An Azure DevOps release pipeline deploys the artifacts that are the output of a build pipeline to some environment that you define (Test, QA, Production, etc.).
For web apps the environment will be a "web hosting" (for other apps it could be something different).
The "web hosting" can be a 3rd party (you would deploy using tasks for FTP, WebDeploy, etc.) or it can be Azure "web hosting" PaaS offering, which is named Azure Web Apps.
Azure Web Apps require an Azure App Service Plan (which defines its characteristics and pricing): https://azure.microsoft.com/en-us/pricing/details/app-service/windows/
Note: an Azure App Service can be used not only to host web apps but also to host the back-end (Web APIs) of mobile apps, containers and serverless functions apps. See App Service overview and for high scale and security see Introduction to the App Service Environments
The template for the Release Pipeline that you have chosen (assuming is the one named "Deploy a Python app to Azure App Service and Azure database for MySQL") is intended to "Deploy a Python Django, Bottle, or Flask application to an Azure Web App and database to Azure Database for MySQL." Since it's deploying to an Azure Web App, the task asks you for its Azure Subscription and its App Service Plan within that subscription.
So, if you plan to deploy to an Azure Web App, create a Service Plan in your Azure subscription (you can use the Azure Portal, Azure CLI, etc.). Otherwise remove the task and use a different task to deploy to your 3rd party web hosting.

If you are new to Azure DevOps and want to try out all the cool things, I suggest you to follow Azure DevOps Labs which has a great content to get started from Zero to Advanced.

Related

My Dashboard in Azure for App Services outage

I am working on a custom Dashboard in Azure. My Application is hosted in an APp Service. If App services is down at Microsoft end, i want to show a Red Dot in my dashboard.
KUSTO will work here?
Some API calls i need to do and some Programming to create dashboard?
Please guide me
You can create the Azure dashboard using template deployment in which Azure offers the ability to orchestrate the deployment of multiple resources.
Once the required resources for Azure Dashboard can be configured in template ARM template format, you can deploy using REST APIs, PowerShell, Azure CLI and Azure Portal template deployment.
This Microsoft Documentation helps you to create the Azure Dashboard using the Sample Templates given.
You can enable Health checks for your App Service using Azure Monitor App and that you can bring on Azure Dashboard to see your app service is up or down in the form of graph.
Source: Azure Service Health Dashboard

Is there a way to deploy an Azure DevOps repo to an Azure VM?

Essentially what I'm wanting to happen is the following:
Push changes to .NET Core app in Azure DevOps repo
Changes get pulled down to an Azure VM
dotnet publish the pulled down code to a directory
I've tried creating a Release pipeline and I'm able to create an IIS website, etc. but there aren't any options for deploying a .NET Core app
The Azure DevOps Project simplifies the setup of an entire continuous integration (CI) and continuous delivery (CD) pipeline to Azure with Azure DevOps. You can start with existing code or use one of the provided sample applications. Then you can quickly deploy that application to various Azure services such as Virtual Machines, App Service, Azure Kubernetes Services (AKS), Azure SQL Database, and Azure Service Fabric.
it is explained in the below link.
https://www.azuredevopslabs.com/labs/vstsextend/azuredevopsprojectdotnet/

Azure Devops: agentless deployment to Azure App Service

I´m preparing a release to deploy a web app to a Azure App Service and seems that this task is not available as part of an agentless job. Thinking a bit about it, I wonder why. I mean: In my understanding, deploy to Azure is essentially take the artifact (assuming that is already stored in Azure devops) and deploy in the resource provided in the service connection through the actions performed by the Deployment task.
I would say that this process does not (necessarily) requires an agent out of the Azure Devops environment to be done (at the end, we are moving things between PaaS) but seems that we are enforced to use it.
Is my thought correct or I'm missunderstanding anything?
Any way to perform this kind of deployment without agents? (my Azure App Service has a private endpoint, so only self-hosted agents are able to reach it and I would like to avoid create them)
Any Azure DevOps Pipeline needs an Agent to run it (the workload must run somewhere, right?). If you use private endpoints and you want to PUSH your deployment to Azure App Services, you will have to create a self-hosted Agent that is connected to the App Service VNET. There is no way around it.
However, Azure App Service enables continuous deployment from Azure Repos repositories by pulling the sources (See Continuous deployment to Azure App Service. This will probably also work with private endpoints (not tested it).

What is the difference between "Azure Web app" and "Azure App Service"?

I'm quite new to Azure, trying to learn how to explore what are the possibilities of publishing a website on azure, to be a bit more at ease to do the the AZ-204.
On the azure dashboard, I can create "Azure web apps", "Azure app service"(not mentionning CI/CD and serverless).
What are the difference between the two? I initially taught the azure web app was code driven(connected to git) and "App Service" one was docker-based.
But for both option, when you move to next step, you can choose if you publish the code or the docker container:
Can some body explain what is the difference between the two? And/or the most important advantage of one over the other?
I've searched for a while, but it's not the same product name everytime and I'm really sure it's still the same product.
There is no difference. To quote the documentation:
The only difference between the three app types (API, web, mobile) is
the name and icon used for them in the Azure portal.
Behind the scene it is already using app service all the time. If you consider WebApp and WebApp for containers is a part of Appservice, you don't actually pay for webApps, but you pay for the Appservice plan!
If you go to the Azure Web Apps site and click on the Documentation tab, it will take you to the MS Documentation for App Service Overview. Furthermore take a look at the MS Documentation Choose an Azure compute service for your application. This is a decision flowchart to host your application code. Azure Web Apps does not appear in the decision tree. Next take a look at the following subtopic Create and deploy web app service with Azure CLI command. The CLI command is as follows: "az webapp up --name <your_app_name> --logs --launch-browser". A little confusing but not if you look at the following documentation Azure CLI Documentation: Azure Web Apps, which shows the following commands:
az staticwebapp - Manage static apps.
az webapp - Manage web apps.
Finally, look at the following MS Documentation: CLI samples for Azure App Service. This is a list of numerous scripts for creating an Azure Service Plan and App Service. They ALL use either "az staticwebapp" or "az webapp". So the documentation use the term "Azure App Service" but the CLI command does not. There is no separate MS product for Azure Web Apps!
Web app is a part of App service.
There are 4 types of App Services:
Web App – used for hosting websites and web applications (previously Azure Websites)
API App – used for hosting the RESTful APIs
Logic App – used for business process automation, system integration and sharing data across clouds
Mobile App – used for hosting mobile app back ends (previously delivered by Azure Mobile services)
Azure runs App Services on a fully managed set of virtual machines in either a dedicated or shared mode, based on your App Service Plan. ... Web App – used for hosting websites and web applications (previously Azure Websites) API App – used for hosting the RESTful APIs.

Is there any Rest Api which can Create Deployment Center at Azure portal in Web App?

I am trying to create Resources group, WebApp plan service, Webapp through the Rest Api of microsoft azure,
I have created above services from RestApi of microsoft Azure,
but i am unable to find, How to create Deployment center.
not getting any thing.
The Deployment Center is a centralized overview for all the deployment methods supported by your app and a guided experience for configuring continuous integration/continuous deployment. It's a service under Azure App Service.
Go to your Azure App page in the portal, you will be able to see Deployment Center, click it then choose GitHub and configure it.
And don't forget go to Github setting page Authorized OAuth Apps. For more details, you could refer to the official tutorial:Deploy continuously from GitHub.
For now, no REST api to configure Continuous deployment. If you are looking for other ways to configure the Continuous deployment, you could refer to the Continuous deployment wiki page, there are other ways to implement it.

Resources