Fast tracktothecloud carlescolell-softeng-20110331

41
Migrando una gran aplicación a proyecto: Barcelona, 31 de Marzo del 2011 Carlos Colell Sorinas Director General [email protected]

Transcript of Fast tracktothecloud carlescolell-softeng-20110331

Page 1: Fast tracktothecloud carlescolell-softeng-20110331

Migrando una gran aplicación a

proyecto:

Barcelona, 31 de Marzo del 2011

Carlos Colell SorinasDirector [email protected]

Page 2: Fast tracktothecloud carlescolell-softeng-20110331

Índice de la presentación

Perfil de compañía

¿Qué se migró a Azure?

¿Por qué se optó por Azure ?

¿Cómo mover una aplicación hacia Azure ?

di li i l d¿Cómo diseñar una aplicación para Cloud / Azure?

ConclusionesConclusiones

Page 3: Fast tracktothecloud carlescolell-softeng-20110331

Perfil de compañíaPerfil de compañía

Acerca de SOFTENGAcerca de SOFTENG

Nuestras credenciales

Page 4: Fast tracktothecloud carlescolell-softeng-20110331

Perfil de compañía

Acerca de SOFTENG

Consultoría e ingeniería de software desde '97

Trabajamos “sólo” con tecnología Microsoft.

Expertos en soluciones en infraestructuraMicrosoft y Desarrollo de proyectos Web.

Fabricante de la primera plataforma SaaS paraproyectos Web en Azure.

Page 5: Fast tracktothecloud carlescolell-softeng-20110331

Perfil de compañía

Credenciales SOFTENG

Page 6: Fast tracktothecloud carlescolell-softeng-20110331

¿Qué se migró a Azure?¿Qué se migró a Azure?Softeng Portal Builder

Qué es en esencia

Prestaciones destacadasPrestaciones destacadas

Page 7: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM - Visión general

La esencia de Portal Builder

Plataforma empresarial para proyectos Web

Potencia a las empresas a través de la Web

Productividad, Autonomía, Rentabilidad

O i A (S S A h TM)On-premise o en Azure (SaaS AnywhereTM)

Solución calificada como innovadora por el Solución calificada como innovadora por el Ministerio de Ciencia e Innovación

Page 8: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM - Visión general

Prestaciones destacadas

MARKETING TI

Edit-in-Place Backoffice Studio

Traducción simultánea Workflow Engine

Optimización SEO

Mapa de calor

Portal Builder Framework

Modelador de entidadesMapa de calor

Analítica de visitas integrada

Modelador de entidades

Integrador de aplicaciones

Page 9: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM - Visión general

Pantalla de “Edit-in-Place”

Actualice fácilmente los

idcontenidos desde el propio Site

Navegue, haga clic en el texto o imagen que imagen quedesee cambiar , guarde y publiquepublique.

Así de simple !

Page 10: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM - Visión general

Pantalla “Mapa de calor”

Mejore la eXperiencia de sus usuarios

Analice visualmente el comportamiento de los visitantes y

i i l ioptimice el sitepara obtener más conversiones.

Page 11: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM - Visión general

Pantalla de “Analítica de Visitas”

Analice la efectividad de su

bweb

La analíticas i t d f integradas ofrecen información en contexto acerca de las visitas y las visitas yobjetivos conseguidos permitiendo tomar permitiendo tomarbuenas decisiones.

Page 12: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM - Visión general

Proyectos destacados

Industria Gobierno Construcción

Salud Interiorismo Media

Page 13: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal Builder & Windows Azure

SaaS “pide” PaaSSaaS pide PaaS

¿Por qué se optó por Azure?

Azure complementa a Portal Builder

Beneficios obtenidos con Azure

Page 14: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM & Windows Azure

SaaS “pide” PaaS…

Page 15: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM & Windows Azure

¿Por qué movernos a la nube ?

Maximizar los beneficios de “SaaS”

Aumentar confianza en nuestra solución

d l dEvitar inversión por adelantado

Reducir costes de mantenimientoReducir costes de mantenimiento

Poder escalar rápido + evitar “estimar”

Por compromiso de innovación

Facilitar el cálculo del pago por uso

Page 16: Fast tracktothecloud carlescolell-softeng-20110331

Softeng Portal BuilderTM & Windows Azure

¿Por qué se optó por Azure? (I)

Azure => PaaS = Valor añadido vs IaaS

Evitar inversión en licencias

Elimina mucha complejidad

Reducir costes de despliegue Reducir costes de despliegue

Eliminar costes de mantenimiento

Page 17: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a p

¿Cómo empezar?

Sorteando dificultades

Resultado final

Page 18: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

¿Por donde empezar?

1-Microsoft.com/WindowsAzure

2-Abre una cuenta gratuita: Experimenta con una App sencillaExperimenta con una App sencilla.

3 N f i l i ? 3-¿No funciona a la primera? Buscar en internet…

4-Opción de curso de iniciación

Page 19: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

Sorteando dificultades…

Varios Básicos: Se requiere proyecto VS "Web Application" en lugar de "Web Application", rutas de fichero con límite, algunos atributos de Web Application , rutas de fichero con límite, algunos atributosen web.config no soportados y otros por el estilo.

DTC no soportado: Evitar la promoción de las transacciones a una DTC no soportado: Evitar la promoción de las transacciones a unatransacción distribuida usando el DTC.

Imposibilidad de depuración en producción: Pasar a .NET 4.0 con p p pVisual Studio 2010 y usar IntelliTrace.

Adaptación de Scripts SQL: Los scripts DDL de SQL Server deben p p padaptarse para evitar utilizar cláusulas no soportadas por SQL Azure.

No existe servicio de SMTP en Azure: Usar servicios externos.

“FUNCIONA !!! “ Descubramos que viene luego …

Page 20: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

Recomendaciones Básicas

Usar al menos 2 instancias de Azure: Sólo así tenemos verdadera alta disponibilidad y con SLA de Microsoftverdadera alta disponibilidad y con SLA de Microsoft.

Mejor cuanto más pequeñas: En general, es mejor usar 4 j p q g jinstancias pequeñas que 2 grandes.

El entorno “staging” también consumeEl entorno staging también consume…

Si paramos una instancia, también consume: Eliminarla

El centro de Irlanda, funciona mejor que Amsterdam

Monitoriza … de forma automatizada

Page 21: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

¿ Algo más habrá, no?

Page 22: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

Timeout NLB Azure 1 minuto

Situación: Azure impide que una petición dure > 1 minuto.

Problema: ¿Qué pasa al subir archivos grandes?

Solución: Subir archivo por fragmentosSolución: Subir archivo por fragmentos

Servicio Web: Que reciba y recomponga los fragmentos del archivo

Cliente: Ha de tener acceso a archivo para trocear y subirlo

Ej Sil li h h //bl / / l di i d Ej. Silverlight http://blog.smarx.com/posts/uploading-windows-azure-blobs-from-silverlight-part-1-shared-access-signatures

Page 23: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

¿Buscador en Azure?

Necesidad: Requeríamos continuar teniendo un sistema de búsqueda

P bl S h S tá t d Wi d AProblema: Search Server no está soportado en Windows Azure

Solución:

Lucene.NET

Programar escaneos desde Worker Role

Almacenamiento de índices en Blob Storage

Page 24: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

Actualizar esquemas de BD

Necesidad: Despliegue de cambios de esquema de BD local a SQL Azure para nuevas versiones de la aplicación o producto.

Problema: VSTS DB Edition con GDR no soporta SQL Azure

S l ió D d l BBDD j t ió Solución: Descargar esquema de la BBDD, ejecutar comparación y aplicar script diferencial en SQL Azure + Automatizarlo.

Page 25: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

¡Qué fácil ha sido y que bueno soy !

Page 26: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

¡ Azure es un milagro!

Page 27: Fast tracktothecloud carlescolell-softeng-20110331

Migrando a Azure

¡A producción ! ¡Y a por el ascenso!

Page 28: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

A ver como va…

-Consumo de Azure excesivo !

-No hay backups !

La aplicación no escala !-La aplicación no escala !

-La aplicación va lenta !p

¡La hemos liado! “Chiesss…” que no se entere el jefe !!que no se entere el jefe !!

Page 29: Fast tracktothecloud carlescolell-softeng-20110331

Moviendo una aplicación a Azure

¿Que ha pasado? ¿Azure no va bien?

¿He sido yo ?

Page 30: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para cloudp

¿Qué optimizar / mejorar ?

Ejemplos concretosj

Más retos

Conclusiones

Page 31: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure

Si sólo “movemos” Apps a Cloud..sin que la arquitectura esté diseñada orientada a cloud, obtendremos una aplicación que:

• Consumirá recursos excesivos-> Mayor coste

• Escalabilidad limitada -> Mayor coste

• Rendimiento mejorable -> Mayor coste

• No tendremos backups -> Mayor coste

Costará más de act ali ar Ma or coste• Costará más de actualizar -> Mayor coste

• Elasticidad no automática - > Mayor coste

Page 32: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure

Diseñar orientado a costes significa…

Usar patrones para optimizar el consumo de:

Computación: Número y tamaño de instancias desplegadas

Ancho de banda: En GB/mes de entrada y de salidaAncho de banda: En GB/mes de entrada y de salida.

Tamaño de la BD en SQL Azure

Transferencia entre regiones Azure

Cantidad de espacio consumido en storageCantidad de espacio consumido en storage

Transacciones al sistema de ficheros (lectura y escritura)

Conexiones AppFabric

Page 33: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure: Ejemplos

Reducir consumo en SQL Azure (I)

Situación: Por simplicidad, Softeng Portal Builderalmacenaba los recursos de las aplicaciones en SQL Server (videos, imágenes, documentos)

Problema: En Azure, no hay BBDD mayores de 50 GB (de momento) Coste elevado comparado con Storage (71 veces + caro)

SQL A 50GB $354 56 € / SQL Azure 50GB $354.56 € / mes Blob Storage 50GB 0.10 € / GB x mes x 50 = 5€ / mes

Page 34: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure: Ejemplos

Reducir consumo en SQL Azure (II)

Solución Modificar capa de persistencia para almacenar archivos en

Blob storage

Ventajas Ahorro en coste Mucho más escalable y mejor rendimiento Mucho más escalable y mejor rendimiento BBDD ligera de descargar

Page 35: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure: Ejemplos

Sistema de backup (I)

Situación: Por si hubieran errores humanos, requerimos disponer de un sistema de backup / restore controlado.

Problema 1: SQL Azure no ofrece backup’s

Problema 2: Tenemos datos en Blob Storage (archivos)

P bl 3 C i t l b k ’ l bProblema 3: Conviene tener los backup’s en la nube.

Problema 4: No existe ninguna solución en el mercado.Problema 4: No existe ninguna solución en el mercado.

Problema 5: Un nuevo desarrollo …

Page 36: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure: Ejemplos

Sistema de backup (II): La solución

VentajasVentajas Coste de almacenaje reducido: 0.15$ GB/mes

Si t d t f i Sin costes de transferencia Descarga a local, bajo demanda

Page 37: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure

Más retos que tuvimos que superar

Mejora en la escalabilidad horizontal: Buscar en internet lo conseguido “escalabilidad lineal en Azure”internet lo conseguido … escalabilidad lineal en Azure

Automatización de pruebas de carga en Azure: p gSimulamos N usuarios en Azure, levantando N instancias.

Automatizar el proceso de actualización y despliegueAutomatizar el proceso de actualización y despliegue

Elasticidad automática: Creamos o destruimos instancias según determinadas condiciones, configurables.

Planificador: Sistema para iniciar tareas diferidas desde Planificador: Sistema para iniciar tareas diferidas desdeAzure (mediante worker-roles y colas)

Page 38: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure

Conclusiones

Funcionar en Azure ≠ Funcionar bien: No es igual adaptar una aplicación para que funcione a diseñarla para que sea óptima. Errores de p p q p q parquitectura en el software clásico se magnifican en cloud.

Azure ofrece grandes beneficios: … si diseñamos siguiendo Azure ofrece grandes beneficios: … si diseñamos siguiendoarquitecturas orientadas a coste y a escalabilidad.

Un beneficio inesperado para SOFTENG: Reconocimiento y Know How Un beneficio inesperado para SOFTENG: Reconocimiento y Know-Howadquirido gracias a la gran inversión realizada, nos permite ayudar a otras empresas a reducir drásticamente el coste de migrar a cloud.

Backup y pruebas de carga: Necesidades irrenunciables…

Automatizar despliegues y auto-elasticidad: Muy recomendable..

Page 39: Fast tracktothecloud carlescolell-softeng-20110331

Diseñando para Azure

Azure es increible !!, pero…

Page 40: Fast tracktothecloud carlescolell-softeng-20110331

Tecnología y calidad

Recursos y más información

Caso de estudio de Softeng Portal Builder en Azure (Microsoft Corporation) http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000008180

Caso de estudio de Softeng Portal Builder en Azure (Microsoft Ibérica) http://www.microsoft.com/business/smb/es-es/isv/casosdeexito.mspx

Presentación de Softeng Portal Builder con Steave Ballmer (CEO Microsoft)g http://www.softeng.es/es-es/noticias/webcasts-eventos/presentacion-de-softeng-portal-builder-junto-steve-ballmer.html

Presentación de Softeng Portal Builder con IDC en evento Gestión de contenidos http://www.softeng.es/es-es/empresa/evento-idc-2010.html

Artículo publicado en CMSWire: http://www.cmswire.com/cms/web-cms/softeng-portal-builder-runs-on-windows-azure-007367.php

Artículo publicado en CMScritic: Artículo publicado en CMScritic: http://www.cmscritic.com/softeng-portal-builder%E2%84%A2-the-first-platform-for-web-projects-operating-in-microsoft-azure

Artículo publicado en Microsoft http://blogs.msdn.com/b/juanjocarmena/archive/2011/03/10/probada-la-escalabilidad-lineal-con-softeng-portal-builder.aspx

Videos-demo de Softeng Portal Builder http://www.softeng.es/es-es/productos/portal-builder-cms/showroom-portal-builder.html

Page 41: Fast tracktothecloud carlescolell-softeng-20110331

proyecto:¡ Gracias por su atención !

Carlos Colell SorinasCarlos Colell SorinasDirector general

[email protected]://es.linkedin.com/in/ccolellhttp://es.linkedin.com/in/ccolellTwitter.com/ccolell

Barcelona: Pau Claris 162-164 2ª PlantaBarcelona: Pau Claris, 162 164 2 Planta

Madrid: Avda. Doctor Arce, 14