Application logging in Azure Kubernetes - azure

In our scenario, we are trying to Dockerize the Asp.net framework 4.6 based Web API that logs on the server using Nlog.
Currently the application is hosted on IIS web server.
The question is how / where to store the logs when the application is rehosted on Azure kubernetes
should I use something like application insights

You can use the Azure Monitor including Application Insights to have your application logs.
Here is the official documentation on Azure Monitor for containers
Azure Monitor for Containers supports consuming logs from not just
Kubernetes but also from other orchestration engines such as DC/OS,
Docker Swarm, and Red Hat OpenShift.

Azure Monitor for Containers is perfect for Infrastructure monitoring and Application Insights which is now part of Monitor as well would be excellent for APM.
Application Insights for .NET
https://learn.microsoft.com/en-us/azure/azure-monitor/app/asp-net

Related

Monitoring IIS Applications using Application Insights

I have an Azure hosted IIS server which is hosting maybe 20 websites. I want to monitor all the websites one common application insights. I had installed the Application Insights Agent on the VM following the below article:
https://learn.microsoft.com/en-us/azure/azure-monitor/app/azure-vm-vmss-apps
I went for the codeless option. But when I look inside the application insights in the live metrics I get the error below:
Not available: your app is offline or using an older SDK

Limitations of Web App for Containers in Azure

We are planning to develop a new web application in Java or .NET. The application should be containerized using docker in Azure cloud platform and it should be scalable (user base at pick is about 80-90). Since, there is no need to develop a Microservice based application we have have planned to develop REST services in back end and Angular JS in front end as the application architecture.The Service back end will be deployed in web server and will run in one container and the Angular JS front end in another.
In this context will Web App for container in Azure App service would be the right choice?
What are the limitations of Web App for containers?
Is there any limitations with Web App for containers in Azure App service if the application is developed using Java Spring Boot?
Yes, it's a good choice to develop a web application in Java or .NET and containerized it for deployment easier.
The limitation, please refer to the section App Service limits of the offical document Azure subscription and service limits, quotas, and constraints.
And there is not any limits for using Java Spring Boot with WebApp for container on Linux. it's also same as do developing on Docker.
Additionally, just considered for developing REST service in back, I recommended you may use Azure Functions in Java that I think easier.
If you want to run just Spring Boot, you can also use the "Java SE" offering which is available for Windows or Linux in App Service. In this case you just deploy your code and you don't need to worry about managing containers, like updating the JRE version, etc.
However, if you are interested in deploying a containerized app, you can use Windows Containers or Linux Containers in Azure App Service.

Difference between Azure App Services and Web App for Containers

I was looking to use Azure App Services and noticed Azure now offers Web App for Containers, now I wonder what's the difference between them? And couple more questions come to my mind
Assuming I choose Web App for Containers, who is going to manage the container updates?
Is the deployment differs from App Services to Web App for Containers, from application perspective?
Web App for Containers is one of the offerings in Azure App Service. It allows you to deploy containerized applications on Linux and Windows (the latter is in preview).
The platform automatically takes care of OS patching, capacity provisioning, and load balancing. But, the container updates are up to you.
The deployment differs in that you will be deploying your application inside a Docker container instead of deploying directly like you do in a Web App.

How to see the telemetry of azure kubernetes having containers and images in Application Insights?

I developed .net core web and API applications with Docker support using VS2017. And configured the application insights for both web and API applications through the VS 2017 by following this below links.
Application Insights for ASP.NET Core
Monitor Docker applications in Application Insights
microsoft/applicationinsights
I deployed the above containers into azure kubernetes and then browse those containers URL’s in my browser but I am not able to see the data related to those images and containers in Docker Tile on application insights dashboard.
How to resolve this issue?

Publish an Asp.Net Web Api Self-hosted console application as Azure Webjob

I have an ASP.NET Web API Self-host console application and I want to publish it as a Azure Webjob service. Is it possible, is it advisable?.
I'm using Topshelf to install it as a windows service on my local server.
I haven't a web application only the console application.
In a Webjob, no. See Azure App Service sandbox limitations here - assuming you need to listen for inbound requests on a socket.
Installing stuff (think .msi or writing to registry) is also not supported.
Look at Cloud Services (Worker Role), Service Fabric or IaaS VMs.
They're all options.
EDIT (sometime in 2017):
Now there's even more option: Docker containers in Azure App Service Linux, Azure Container Service (DC/OS, Swarm or Kubernetes as orchestrator) or Azure Container Instance.

Resources