Upload
carlos-jimenez-aliaga
View
148
Download
0
Embed Size (px)
DESCRIPTION
Caso práctico de tecnología web del stack MEAN (Mongo, Express, Angular y Node) sobre Windows Azure Web Sites desarrollado enteramente en Visual Studio Online (Monaco), incluyendo casos prácticos con Web Jobs y mostrando como se comportaría el escalado automático con una prueba de carga con TFS
Citation preview
Caso práctico de despliegue de una web
con Mongo, Express, Angular y Node
Y ahora en castellano…
Poniendo contexto
Node
Server-side JavaScript (Google V8 JavaScript Engine)
Diseñado para construir aplicaciones modulares, rápidas, eficientes y escalables
Es multiplataforma
Todas las llamadas I/O son asíncronas(non-blocking)
Event-driven. Haciendo uso del Event loop
Se ejecuta en un solo thread
Node
Node
Express
Framework de Node.js
Todo lo que necesitamos para montar
nuestra web-app
Minimalista
MongoDB
Base de datos NoSQL Open Source
Orientada a documentos (BSON)
Muy rápida
Consultas ricas sobre los documentos
Soporte para índices
Escalable mediante Auto Sharding
Framework MVC de JavaScript
Aplicaciones SPA
Directivas y controladores
Angular
Arquitectura
de la
aplicación
SERVER
CLIENT
expressjs
VIEW CONTROLLER MODEL
B
Windows Azure
QuéPlataforma de Cloud
Computing que incluye:
Servicios web
Almacenamiento
Sitios web
Máquinas virtuales
Servicios móviles
Gestión de identidad
Servicios multimedia
…
+
Tienda de servicios
Mobile Services
Cloud Services Storage
Active Directory
+
Websites
Media services
Virtual Machines
No hay una cuota fija,
se paga en función del
uso realizado
Suscripción MSDN
Límite de gasto
Cuánto
Windows Azure Websites
DefiniciónAlojamiento de sitios
web
Entorno estable,
escalable y seguro
Galería de plantillas
(WordPress, Umbraco,
DotNetNuke, Drupal,
Django…)
Opciones de
despliegueCon la tecnología que ya estés
usando (.NET, PHP, Node.js y
Python)
+Java!!
Desde:
Visual Studio
Repositorio local (Git)
Repositorio remoto (GitHub,
TFS)
FTP
Visual Studio Online
(Monaco)
Creación
Windows Azure Websites
La localización al crear el
website determina en qué
datacenter estarán las
máquinas que lo alojen
La decisión al elegir la
localización puede influir
en los tiempos
necesarios para
completar peticiones y
cargar datos
Localización
Entorno de prueba en el
que alojar los cambios
que realicemos en
nuestra aplicación antes
de pasar a producción
Se puede publicar
fácilmente lo que
tenemos en este entorno
al entorno de producción
Staged
publishing
Podemos configurar
nuestro website para
poder ser editado desde
Visual Studio Online
Una vez activado (ojo
que está en preview!)
tendremos disponible la
opción para arrancarlo en
el panel principal del
website
Editar con
Monaco
Visual Studio Online: Monaco
Windows Azure Websites
MongoDB entra en escena
Windows Azure Websites
Web Jobs
Windows Azure Websites
Ejecutar programas o
scripts en nuestro
website de 3 formas:
On demand o por
petición
(manualmente)
Continuamente
Programado
Una vez
Recurrente
Para qué
Subimos un fichero .zip que
contenga un archivos con las
siguientes extensiones válidas
de scripts ejecutables:
.cmd, .bat o .exe (windows
cmd)
.ps1 (powershell)
.sh (bash)
.php (php)
.py (python)
.js (node)
Cómo
Disponemos de un
sistema de logs que
nos aporta información
sobre la ejecución de
los scripts
Depuración
Configuración avanzada
Windows Azure Websites
Podemos configurar el
escalado de máquinas que
alojarán nuestro website
Día/noche entre semana y
fin de semana, o un
momento concreto
Número de instancias al
que escalar y porcentaje
de CPU usado para
producir este escalado
Escalado
Podemos configurar el
escalado de máquinas que
alojarán nuestro website
Día/noche entre semana y
fin de semana, o un
momento concreto
Número de instancias al
que escalar y porcentaje
de CPU usado para
producir este escalado
Escalado
Pruebas de carga