despliegue y monitoreo de aplicaciones asp.net core en linux

15
Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux Rodolfo Finochietti @rodolfof COO

Upload: rodolfo-finochietti

Post on 13-Apr-2017

370 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

Despliegue y Monitoreo de aplicaciones ASP.NET Core

en Linux

Rodolfo Finochietti@rodolfofCOO

Page 2: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

.NET Core 1.1

Page 3: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

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

Page 4: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

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

Page 5: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

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

Page 6: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

Configurando el ambiente de ejecuciónProxy Reverso

Page 7: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

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;

}}

Page 8: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

Ngnix básico Probar configuración

sudo nginx -t Cargar configuración

sudo nginx -s reload

Page 9: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

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

Page 10: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

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

Page 11: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

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

Page 12: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

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

Page 13: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

Demo

Page 14: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

¿Preguntas?

Page 15: Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux

¡Muchas Gracias!

[email protected]@rodolfofhttp://shockbyte.net