despliegue y monitoreo de aplicaciones asp.net core en linux

Post on 13-Apr-2017

370 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Despliegue y Monitoreo de aplicaciones ASP.NET Core

en Linux

Rodolfo Finochietti@rodolfofCOO

.NET Core 1.1

Despliegue y monitoreo en Linux

4 pasos Instalar software de base Compilar y armar el paquete de nuestra aplicación Configurar el ambiente de ejecución Configurar el monitoreo

Instalando software de base SO .NET

http://dot.net Otra opción es compilar una app “Self-Contained”

Proxy reverso Apache Ngnix Seguridad

Apparmor Monitoreo

systemd Supervisor New Relic

Generando el paquete de distribución dotnet publish Cuidado con incluir todos los directorios!

publishOptions en el archivo project.json

Opcionalmente se puede armar un paquete “Self-Contained” Borrar type="platform“ en el archivo project.json Incluir la sección runtimes

"runtimes": { "win10-x64": {}, "osx.10.10-x64": {}, "ubuntu.14.04-x64": {} }

dotnet build -r ubuntu.14.04-x64 dotnet publish -c release -r ubuntu.14.04-x64

Configurando el ambiente de ejecuciónProxy Reverso

Ngnix básico Instalación

sudo apt-get install nginx Configuración básica

server { listen 80; location / {

proxy_pass http://localhost:5000proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection keep-alive;proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;

}}

Ngnix básico Probar configuración

sudo nginx -t Cargar configuración

sudo nginx -s reload

Monitoreo ¿Quien se encarga de controlar el funcionamiento de mi aplicación? Caídas Consumo de recursos Logs

Algunas opciones de monitores Supervisor systemd New Relic

Supervisor Software de monitoreo fácil de configurar y usar

Instalación sudo apt-get install supervisor

Configuración básicasudo nano /etc/supervisor/supervisord.conf [program:myapp]command=/usr/bin/dotnet /home/myapp/myapp.dlldirectory=/home/myappautostart=trueautorestart=truestderr_logfile=/var/log/myapp.err.logstdout_logfile=/var/log/myapp.out.logenvironment=ASPNETCORE_ENVIRONMENT=Productionuser=www-datastopsignal=QUIT

Supervisor Iniciar el monitoreo

sudo service supervisor start Todo queda en los logs

sudo tail -f /var/log/myapp.out.log sudo tail -f /var/log/supervisor/supervisord.log

systemdInit system en la mayoría de las distros de Linux

Demo

¿Preguntas?

¡Muchas Gracias!

rodolfof@lagash.com@rodolfofhttp://shockbyte.net

top related