Migrando una gran aplicación a
Carlos Colell SorinasDirector [email protected]
Barcelona, 21 de Junio del 2011
Cloud Computing 2011
Consultoría e Ingeniería de software desde ‘97
Top Partner de Microsoft en España
Fabricante de Softeng Portal Builder
Especializados en cloud y soluciones para:
Sistemas críticos
Intranets con SharePoint
Sitios públicos con Portal Builder
Softeng en 1 minuto
Acerca de SOFTENG
Softeng en 1 minuto
Credenciales SOFTENG
Índice de la presentación
¿Qué se migró a Azure?
¿Por qué Azure ?
¿Cómo mover una aplicación hacia Azure ?
Conclusiones
¿Qué se migró a Azure?Softeng Portal Builder
Qué es en esencia
Prestaciones destacadas
Plataforma empresarial para proyectos Web en la
nube, que ofrece rentabilidad gracias a:
Potencia a las empresas a través de la Web
Productividad
Autonomía
Bajo coste de propiedad.
Softeng Portal BuilderTM - Visión general
La esencia de Portal Builder
Softeng Portal BuilderTM - Visión general
Prestaciones destacadas
Edit-in-Place
Traducción simultánea
Optimización SEO
Mapa de calor
Analítica de visitas integrada
Backoffice Studio
Workflow Engine
Portal Builder Framework
Modelador de entidades
Integrador de aplicaciones
MARKETING TI
Actualice fácilmente los contenidos desde el propio Site
Navegue, haga clic en el texto o imagen que desee cambiar , guarde y publique.
Así de simple !
Softeng Portal BuilderTM - Visión general
Pantalla de “Edit-in-Place”
Mejore la eXperiencia de sus usuarios
Analice visualmente el comportamiento de los visitantes y optimice el sitepara obtener más conversiones.
Softeng Portal BuilderTM - Visión general
Pantalla “Mapa de calor”
Analice la efectividad de su web
La analíticas integradas ofrecen información en contexto acerca de las visitas y objetivos conseguidos permitiendo tomar buenas decisiones.
Softeng Portal BuilderTM - Visión general
Pantalla de “Analítica de Visitas”
Industria
Softeng Portal BuilderTM - Visión general
Proyectos destacados
Gobierno Construcción
Salud Interiorismo Media
Softeng Portal Builder & Windows Azure
¿Por qué Cloud y Azure?
Un modelo de consumir tecnología como servicio, seguro y accesible desde cualquier lugar.
Pago por uso Elástico y automatizado
Softeng Portal BuilderTM & Windows Azure
¿Qué es el Cloud?
MICROSOFT OFFICE 365®
Office 2010, Sharepoint 2010, Exchange 2010, LyncMICROSOFT OFFICE 365®
Office 2010, Sharepoint 2010, Exchange 2010, Lync
SOFTENG PORTAL BUILDER®
Plataforma para proyectos web en la nube
WINDOWS AZURESistema operativo en la nubeWINDOWS AZURESistema operativo en la nube
Alquiler en la nube de servidores, almacenamiento, comunicaciones.
Instalamos el sistema y aplicaciones que necesitamos, nos evita invertir en activos de infraestructura , pero requiere mantenerla.
SQL AZUREBases de datos SQL Server en la nube SQL AZUREBases de datos SQL Server en la nube
SaaS
PaaS
IaaS
Softeng Portal BuilderTM & Windows Azure
Tipos de Cloud
Softeng Portal BuilderTM & Windows Azure
¿Por qué movernos a la nube ?
Maximizar beneficios SaaS
Eliminar inversión
Reducir costes TCO
Flexibilidad
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
Eliminar costes de mantenimiento
Moviendo una aplicación a
¿Cómo empezar?
Sorteando dificultades
Resultado final
Moviendo una aplicación a Azure
¿Por donde empezar?
1-Microsoft.com/WindowsAzure
2-Abre una cuenta gratuita: Experimenta con una App sencilla.
3-Tutorial Azure: http://bit.ly/hvxeQZ
4-¿No funciona a la primera? Buscar en internet…
Usar 2 instancias para AD
Mejor usar instancias + pequeñas
“Staging” también consume…
Una instancia parada, consume
El centro de Irlanda, preferible a Amsterdam
Preparar un plan de contingencia
Moviendo una aplicación a Azure
Recomendaciones básicas
Moviendo una aplicación a Azure
Sorteando dificultades…
Varios : Se requiere “Web Application” en lugar de "Web Site”, rutas de fichero con límite, atributos en web.config no soportados…
DTC no soportado: Evitar la promoción de las transacciones a una transacción distribuida usando el DTC.
Imposibilidad de depuración en producción: Pasar a .NET 4.0 con Visual Studio 2010 y usar IntelliTrace.
Adaptación de Scripts SQL: Los scripts DDL de SQL Server deben adaptarse 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 …
Moviendo una aplicación a Azure
Ejemplos de otras dificultades
Azure tiene un Timeout de NLB de 1 minuto
Problema: ¿Qué pasa al subir archivos grandes?
Solución: Subir archivo por fragmentos
SQL Azure no soporta VSTS GDR
Problema: Imposible propagar cambios de esquema desde BD local
Solución: Descargar esquema, ejecutar comparación y aplicar script diferencial en SQL Azure + Automatizar.
Azure no permite instalar aplicaciones (solo DLL’s)
Problema: En nuestro caso, necesitábamos instalar Search Server.
Solución: Imposible, en su lugar tuvimos que usar y adaptar lucene.net
Moviendo una aplicación a Azure
¿Ya está?
Moviendo una aplicación a Azure
¿A producción?
¡ Consumo de Azure excesivo !
¡ La aplicación no escala !
¡ La aplicación va lenta !
Moviendo una aplicación a Azure
Qué podemos encontrarnos…
… si la Aplicación no está diseñada para Cloud:
Moviendo una aplicación a Azure
¿Que ha pasado? ¿Azure no va bien?
¿He sido yo?
Diseñando para Cloud (PaaS)
¿Qué optimizar / mejorar?
Ejemplos concretos
Más retos
Conclusiones
…usar patrones para optimizar el consumo de:
Computación
Ancho de banda
Tamaño de la BD en SQL Azure
Transferencia entre regiones Azure
Espacio utilizado en storage
Transacciones al sistema de ficheros
Conexiones AppFabric
Diseñando para Azure
Diseñar orientado a costes significa:
Diseñando para Azure: Ejemplos
Reducir consumo en SQL Azure
Situación: Almacenábamos archivos en SQL Server
Problema: La escalabilidad de SQL Azure es mejorable Acceso lento a archivos grandes en SQL Azure El coste de 50GB de SQL Azure 355€ vs 5€ en Azure Storage
Solución: Almacenar los archivos en el Blob Storage.
Diseñando para Azure: Ejemplos
No hay Backup / Restore en Azure
Si fallo humano, conviene disponer de backup’s
SQL Azure no ofrece backup’s
Tal vez necesitemos datos en Storage
Azure storage tampoco ofrece backup’s
Conviene guardar los backup’s en Azure
No existe solución en el mercado
Un nuevo desarrollo complejo…
Automatizar Pruebas de carga
Automatizar Despliegues
Automatizar “Elasticidad”
Planificador de tareas
“Escalabilidad lineal en Azure” => Buscar post Microsoft:
Diseñando para Azure: Ejemplos
+ Retos que tuvimos que superar
Que una App «funcione» ≠ «diseñada para Azure».
Cloud ofrece beneficios a Apps «diseñadas para PaaS»
Son necesarias pruebas de carga previas
Backup + Plan te contingencia, irrenunciable.
Auto-elasticidad es muy recomendable.
Diseñando para Azure
Conclusiones
Diseñando para Azure
Azure es increible !!, pero…
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) 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: 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
Tecnología y calidad
Recursos y más información
¡ Gracias por su atención !
Carlos Colell SorinasDirector general
[email protected]://es.linkedin.com/in/ccolellTwitter.com/ccolell
Barcelona: Pau Claris, 162-164 2ª Planta
Madrid: Avda. Doctor Arce, 14