20160410 despliegue de plantillas de azure resource manager con visual studio team services r_gonzalez
1.
2. DESPLIEGUE DE
PLANTILLAS DE
AZURE RESOURCE
MANAGER CON
VISUAL STUDIO
TEAM SERVICES
Ricardo Gonzalez Vargas
Microsoft Regional Director - Bogotá
CEO – Androcial / WomyAds.com
@rgonv - rgonzalez@androcial.com
http://about.me/ricardo.gonzalez
3. Agenda
• Quien les habla?
• Que es el Azure Resource Manager (ARM)?
• Por que ARM?
• Que son las plantillas de ARM?
• Plantillas de ARM y Visual Studio
• Integración con Visual Studio Team Services
• Conclusiones
5. Que es Azure Resource Manager (ARM)?
• La infraestructura de una aplicación esta hecha de múltiples
componentes. Desde la perspectiva de la aplicación, uno no
ve dichos componentes de forma independiente, los ve, los
administra y los monitorea como un todo.
6. Que es Azure Resource Manager (ARM)?
• Azure Resource Manager (ARM), permite trabajar con los
recursos de una solución como un grupo. Permite desplegar,
actualizar o eliminar recursos de una solución en una
operación única y coordinada.
7. Beneficios de ARM
• Permite desplegar, administrar y monitorear todos los
recursos de una solución como un grupo en vez de
administrar dichos recursos individualmente
• Permite desplegar repetidamente su solución a través de su
ciclo de vida y garantiza la confianza respecto a que el
despliegue se realiza en un estado consistente
• Permite el uso de plantillas declarativas para definir el
despliegue
8. Beneficios de ARM
• Permite definir dependencias entre recursos para
desplegarlos en el orden correcto
• Permite aplicar control de acceso a todos los Servicios en su
grupo de recursos (resource group) debido a que el control de
acceso basado en roles hace parte integrada de la plataforma
• Puede aplicar marcas a los recursos para organizarlos
lógicamente en su suscripción
• Puede simplificar la visualización del costo de los recursos en
forma de grupos
9. Que son las plantillas de ARM?
• Son documentos JSON que definen la estructura de un
despliege. Esto incluye:
– Recursos
– Dependencias
– Configuracion
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": { },
"variables": { },
"resources": [ ],
"outputs": { }
}
"resources": [
{ "type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('storageAccountName')]",
"apiVersion": "2015-06-15",
"location": "[resourceGroup().location]",
"properties": {
"accountType": "Standard_LRS"
}
}
]
10. Elementos de una plantilla
Nombre Requerido Descripción
$schema SI Ubicacion del esquema del template.
contentVersion SI Version del template (como 1.0.0.0). Permite
identificar de manera unica las variaciones de la
plantilla.
parameters No Valores que se proven cuando se personalize el
despliegue de un recurso
variables No Valores que se usan como fragmentos JSON en las
plantillas para simplificar las expresiones
resources SI Tipos de recursos desplegados o actualizados en un
grupo de recursos.
outputs No Valores retornados despues del despliegue.
11. Parametros
Element name Required Description
parameterName Yes Name of the parameter. Must be a valid JavaScript
identifier.
type Yes Type of the parameter value. See the list below of allowed
types.
defaultValue No Default value for the parameter, if no value is provided for
the parameter.
allowedValues No Array of allowed values for the parameter to make sure
that the right value is provided.
minValue No The minimum value for int type parameters, this value is
inclusive.
maxValue No The maximum value for int type parameters, this value is
inclusive.
minLength No The minimum length for string, secureString and array type
parameters, this value is inclusive.
maxLength
No The maximum length for string, secureString and array
type parameters, this value is inclusive.
description No Description of the parameter which will be displayed to
users of the template through the portal custom template
interface.
14. Integrando VSTS en la Ecuación
• Al estar definidas como un archivo JSON, se pueden
administrar y versionar como cualquier artefacto de código
– Versionamiento
– Integracion/Despliegue Continuo a traves de Build service
15. Demo – Despliegue de
Plantillas de ARM con
Visual Studio Team
Services
16. Conclusiones
Las plantillas de ARM proveen muchos beneficios, entre otros:
• Administracion, monitoreo y despliegue unificado
• Consistencia
• Versionamiento
• Automatizacion en tareas de despliegue
• Productividad
17. GRACIAS
Ricardo Gonzalez Vargas
Microsoft Regional Director - Bogotá
CEO – Androcial / WomyAds.com
@rgonv - rgonzalez@androcial.com
http://about.me/ricardo.gonzalez