Publishing a web application on Azure - azure

I want to publish an web application on Azure market place.
I can create a Linux VM, install Java, Tomcat, SQL server and create an image of it. But instead of that, is it possible to create a tomcat instance along with database on Azure portal, add it to a resource group and publish this resource group on market place?
Would this approach be more advantageous?
thanks

As per the doc here:
https://learn.microsoft.com/en-us/azure/marketplace-publishing/marketplace-publishing-getting-started
Azure Marketplace offerings are based on Azure VM images or solution templates, your current solution would be the VM based route. It sounds like you may want to look at the solution template route to leverage other capabilities such as Azure SQL Server.
Neither route enable "publish this resource group to the market place". If that is the route you are aiming for that is essentially building out a multi-tenant application which is a bigger task and perhaps something like this link will help get you started:
https://azure.microsoft.com/en-gb/blog/with-newly-available-services-azure-continues-to-be-the-best-place-for-software-as-a-service-developers/
There are also other stackoverflow answers which may be of help:
Does a developer have to pay for publishing a SaaS app on Windows Azure Marketplace?
How can i publish my web solution to Marketplace

Related

Developing a web application for Azure market place

I am very new to Azure and Azure market place apps.
I could not find any samples in the Web to create an web application in azure market place. I want to create simple web application then i can publish this in Azure market place. For example, this web application simply retrieves all the users in a SQL table and show the list in a html page.
I tried different solutions in web and also here https://msdn.microsoft.com/en-us/library/azure/gg607768.aspx. But could not able to succeed.
I am confused on how to start developing the market place apps. I mean which project template i should use to develop an Market place App.
Can any one please help me how to start developing the web application for Azure market place?
You may check the process outlined in this document Publish and manage an offer in the Azure Marketplace - this article is provided to help - create, deploy, and manage solutions listed in the Azure Marketplace.
Refer to the Marketplace Publisher Guide and Azure managed applications in the Marketplace for details.
Publish a Solution Template: Based on your requirement, you could use the solution templates which allows you to combine multiple items already available in the marketplace to create more powerful solutions.
Whereas, the ‘Publish a Developer Service’ provides fully managed developer services (SAAS) for developers to use in custom application development.
Note: Solutions Template has migrated to the new Cloud Partner Portal (requires registration prior to access).
Additionally, check the Marketplace FAQs (here): Who do I contact with publishing or offer management questions? : Please visit the Azure Marketplace Publisher Guide for up-to-date resource and documentations on frequently asked questions. Additionally, you can log a ticket with Microsoft Support in the Cloud Partner Portal.

Azure App Services Antimalware?

Having read
"The Microsoft Antimalware Client and Service is installed by default in a disabled state in all supported Azure guest operating system families in the Cloud Services platform.
...
When using Azure Websites, the underlying service that hosts the web app has Microsoft Antimalware enabled on it. This is used to protect Azure Websites infrastructure and does not run on customer content."
here: https://learn.microsoft.com/en-us/azure/security/azure-security-antimalware
it appears that although the underlying execution environment is scanned and protected, nothing prevents the deployment of infected files (contrary to the response given here: https://stackoverflow.com/a/44805995/8354791).
And therefore the service needs to enabled.
It also appears this can only be done so via powershell, using the Set-AzureServiceAntimalwareExtension command, as per https://stackoverflow.com/a/25847270/8354791 and Powershell: Add Diagnostics/Antimalware to Azure PaaS Cloud Service using ExtensionConfiguration Parameter
Q: the link is a bit old (2015). Is powershell still the only way to turn on debugging for an App Service?
Q: is the analysis of the above text correct that MS is scanning its own environment, but exclude the scanning of files deployed to their services?
Q: is there a cost to enabling this service?
Q: What is the relationship to Malware Assessment (https://learn.microsoft.com/en-us/azure/log-analytics/log-analytics-malware)? Is that a more current way of scanning Web Apps?
Q: this is a manual approach, using Powershell. Is there a link to understanding how to enable this service using an CI/CD deployed ARM template?
Q: I see this service is mentioned as a solution for scanning deployed code files -- but can this service be used to scan Blobs where uploaded media would be stored?
I know I've asked a lot of questions...but hopefully you agree they are all tightly related...
Thanks immensely!
Azure App Service is a managed platform. Microsoft Antimalware Client and Service is enabled by default on app service instances, there is no user action that allows enabling/disabling this feature for apps hosted in App Service.
All of the documentation you are referencing is about "Azure Cloud Services" and "Azure VM's" and not Azure App Service. Here is the security documentation for Azure App Service: https://learn.microsoft.com/en-us/azure/app-service/app-service-security-readme
Malware Assessment is part of OMS suite and its an additional tool for managing large deployments and detecting instances that might be affected by malicious code.

Web app onboarding to Azure Web Marketplace

We checked this documentation - https://blogs.msdn.microsoft.com/appserviceteam/2016/08/26/onboarding-to-azure-web-marketplace on how to onboard our web apps in the Azure marketplace and also the GitHub link - https://github.com/SunBuild/web-app-marketplace
We have contacted MSFT on how to host our application which has an API and WCF applications as sub-applications.
MSFT replied that sub applications are not currently supported in through this onboarding model.
So, we are trying to onboard the three applications individually and link them in the Azure marketplace. We are not sure whether this will work or if this is possible.
In the sample applications in the GitHub link - https://github.com/SunBuild/web-app-marketplace, they have a hosting plan JSON file for the web app resource. Can we link the applications using this hosting plan JSON file?
We could not find any information or definition related to this hosting plan file - https://github.com/SunBuild/web-app-marketplace/blob/master/WebApp-SQLDatabase/DeploymentTemplates/Website_NewHostingPlan_SQL_NewDB-Default.json
Does anyone tried this before or know how to do this?
sub applications are not currently supported in through this onboarding model.
From the documentation, we could know if web app need Virtual application setting to be configured for web app, we will not be able to on board the application.
we are trying to onboard the three applications individually and link them in the Azure marketplace. We are not sure whether this will work or if this is possible.
In my view, if you on board these application individually, it may not enable us to bundle multi individual applications to make them link with each other. You could contact with Azure marketplace support team.
We could not find any information or definition related to this hosting plan file - https://github.com/SunBuild/web-app-marketplace/blob/master/WebApp-SQLDatabase/DeploymentTemplates/Website_NewHostingPlan_SQL_NewDB-Default.json
In the link you posted, we could find that it is an Azure Resource Manager (ARM) template that is used to define resources you want to deploy. This article explained about the Azure Resource Manager template, please refer to it.

Application Insights automation

I use application insights integrated in VS 2015 and monitor server and client telemetry. But I configure app insights only for one instance of my web site.
How can i automatize creating application insights instances with equal parameters (alert rules, tests...)?
To do this you would need to use Azure Resource Manager (ARM) templates. There are some good links you can find on the Azure docs like below.
Basic Steps
Export resource group with insights components you want to clone
Parameterize the names of the components, alerts and webtests
Change the URLs of the webtests
Remove the alerts with custom metrics (they won't exist and will fail)
Example web app template with AI
https://github.com/Azure/azure-quickstart-templates/blob/master/201-web-app-sql-database/azuredeploy.json#L266-L416
Deployment Documentation
https://azure.microsoft.com/en-us/documentation/articles/resource-group-overview/#template-deployment

Accessing Azure Storage Services from Azure Websites?

I'm curious to know if this is possible, and if so, is it a good or bad idea?
We are developing an Azure application that is largely centered around worker roles that receive their work on a CloudQueue, and put the results in a CloudBlob, that the client then downloads. The web interface itself is a dead-simple ASP.NET MVC site that throws jobs in the CloudQueue, and builds URLs to download CloudBlobs.
Currently we accomplish this by having a Azure Cloud Project in our solution, which has a Web Role with the UI, and Worker Roles with the actual work.
Could we use Azure Websites to publish and host the UI, which calls back to our Worker Roles? The Azure DLLs are just regular old .NET libraries, I'm assuming Azure Websites won't have a problem with them. So, when we want to update the UI, we just publish with Visual Studio. And when we want to update the Worker Role - which is 300MB+ and has a bunch of nasty dependencies like Crystal Reports - we can build the cloud bundle and update the Cloud Service through the Azure management portal.
This seems to me like doing this would make it easier to update the UI. I think it would also be cheaper to host it, as we won't have to buy a bunch of instances for the Web Role.
If your question is "Could we use Windows Azure Websites*", based on your application architecture, you sure can use Azure Website to deploy your front end and configure all the networking connection properly so you can continue access other Azure Storage services. As you are using mostly Blob and Queue, you can continue use HTTP/HTTPS settings in the Azure websites. You can keep worker role by as it is however if it is very complex to deploy, using Windows Azure VM may be another direction to go.
I could say website deployment could be easier if your web app does not have something complex to configure in web server as websites may not be able to match web server level configuration compare to webrole and Azure VM. Answering "Easier and cheap" could be very subjective as this is all depend on load and distribution so you would have to try and evaluate it.

Resources