Fast tracktothecloud carlescolell-softeng-20110331

  • 403 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
403
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Migrando una gran aplicación a proyecto:Barcelona, 31 de Marzo del 2011Carlos Colell SorinasDirector Generalccolell@softeng.es
  • 2. Í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 ? ¿Cómo di li i l d diseñar una aplicación para Cloud / Azure? Conclusiones
  • 3. Perfil de compañíaAcerca de SOFTENGNuestras credenciales
  • 4. Perfil de compañíaAcerca de SOFTENG Consultoría e ingeniería de software desde 97 Trabajamos “sólo” con tecnología Microsoft. Expertos en soluciones en infraestructura Microsoft y Desarrollo de proyectos Web. Fabricante de la primera plataforma SaaS para proyectos Web en Azure.
  • 5. Perfil de compañíaCredenciales SOFTENG
  • 6. ¿Qué se migró a Azure?Softeng Portal Builder Qué es en esencia Prestaciones destacadas
  • 7. Softeng Portal BuilderTM - Visión generalLa esencia de Portal Builder Plataforma empresarial para proyectos Web Potencia a las empresas a través de la Web Productividad, Autonomía, Rentabilidad On-premise o en Azure (SaaS Anywhere ) O i A (S S A h TM Solución calificada como innovadora por el Ministerio de Ciencia e Innovación
  • 8. Softeng Portal BuilderTM - Visión generalPrestaciones destacadasMARKETING TI Edit-in-Place Backoffice Studio Traducción simultánea Workflow Engine Optimización SEO Portal Builder Framework Mapa de calor Modelador de entidades Analítica de visitas integrada Integrador de aplicaciones
  • 9. Softeng Portal BuilderTM - Visión generalPantalla de “Edit-in-Place” Actualice fácilmente los contenidos id desde el propio Site Navegue, haga clic en el texto o imagen que desee cambiar , guarde y publique. publique Así de simple !
  • 10. Softeng Portal BuilderTM - Visión generalPantalla “Mapa de calor” Mejore la eXperiencia de sus usuarios Analice visualmente el comportamiento de los visitantes y optimice el site i i l i para obtener más conversiones.
  • 11. Softeng Portal BuilderTM - Visión generalPantalla de “Analítica de Visitas” Analice la efectividad de su webb La analíticas integradas ofrecen i t d f información en contexto acerca de las visitas y objetivos conseguidos permitiendo tomar buenas decisiones.
  • 12. Softeng Portal BuilderTM - Visión generalProyectos destacados Industria Gobierno ConstrucciónSalud Interiorismo Media
  • 13. Softeng Portal Builder& Windows Azure SaaS “pide” PaaS pide ¿Por qué se optó por Azure? Azure complementa a Portal Builder Beneficios obtenidos con Azure
  • 14. Softeng Portal BuilderTM & Windows AzureSaaS “pide” PaaS…
  • 15. Softeng Portal BuilderTM & Windows Azure¿Por qué movernos a la nube ? Maximizar los beneficios de “SaaS” Aumentar confianza en nuestra solución Evitar inversión por adelantado d l d Reducir costes de mantenimiento Poder escalar rápido + evitar “estimar” Por compromiso de innovación Facilitar el cálculo del pago por uso
  • 16. 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
  • 17. Moviendo una aplicación a p ¿Cómo empezar? Sorteando dificultades Resultado final
  • 18. Moviendo una aplicación a Azure¿Por donde empezar? 1-Microsoft.com/WindowsAzure 2-Abre una cuenta gratuita: Experimenta con una App sencilla sencilla. 3-¿No funciona a la primera? 3 N f i l i ? Buscar en internet…  4-Opción de curso de iniciación
  • 19. Moviendo una aplicación a AzureSorteando dificultades… Varios Básicos: Se requiere proyecto VS "Web Application" en lugar de "Web Application", rutas de fichero con límite, algunos atributos Web Application , en web.config no soportados y otros por el estilo. DTC no soportado: Evitar la promoción de las transacciones a una transacción distribuida usando el DTC. Imposibilidad de depuración en p p p 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 p p p 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 …
  • 20. Moviendo una aplicación a AzureRecomendaciones Básicas Usar al menos 2 instancias de Azure: Sólo así tenemos verdadera alta disponibilidad y con SLA de Microsoft. Microsoft Mejor cuanto más pequeñas: En general, es mejor usar 4 j p q g j instancias pequeñas que 2 grandes. El entorno “staging” también consume staging consume… Si paramos una instancia, también consume: Eliminarla El centro de Irlanda, funciona mejor que Amsterdam Monitoriza … de forma automatizada 
  • 21. Moviendo una aplicación a Azure¿ Algo más habrá, no?
  • 22. Moviendo una aplicación a AzureTimeout 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 fragmentos  Servicio Web: Que reciba y recomponga los fragmentos del archivo  Cliente: Ha de tener acceso a archivo para trocear y subirlo  Ej. Silverlight h Ej Sil li h http://blog.smarx.com/posts/uploading-windows-azure- //bl / / l di i d blobs-from-silverlight-part-1-shared-access-signatures
  • 23. Moviendo una aplicación a Azure¿Buscador en Azure? Necesidad: Requeríamos continuar teniendo un sistema de búsqueda Problema: S P bl Search Server no está soportado en Windows Azure hS tá t d Wi d A Solución:  Lucene.NET  Programar escaneos desde Worker Role  Almacenamiento de índices en Blob Storage
  • 24. Moviendo una aplicación a AzureActualizar 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 Solución: Descargar esquema d la BBDD, ejecutar comparación y S l ió D de l BBDD j t ió aplicar script diferencial en SQL Azure + Automatizarlo.
  • 25. Moviendo una aplicación a Azure¡Qué fácil ha sido y que bueno soy !
  • 26. Moviendo una aplicación a Azure¡ Azure es un milagro!
  • 27. Migrando a Azure¡A producción ! ¡Y a por el ascenso!
  • 28. Moviendo una aplicación a AzureA ver como va…-Consumo de Azure excesivo !-No hay backups !-La aplicación no escala ! La-La aplicación va lenta ! p¡La hemos liado! “Chiesss…”que no se entere el jefe !!
  • 29. Moviendo una aplicación a Azure¿Que ha pasado? ¿Azure no va bien? ¿He sido yo ?
  • 30. Diseñando para cloud p ¿Qué optimizar / mejorar ? Ejemplos concretos j Más retos Conclusiones
  • 31. Diseñando para AzureSi 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 actualizar -> act ali ar Mayor Ma or coste• Elasticidad no automática - > Mayor coste
  • 32. Diseñando para AzureDiseñ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 salida salida. Tamaño de la BD en SQL Azure Transferencia entre regiones Azure Cantidad de espacio consumido en storage Transacciones al sistema de ficheros (lectura y escritura) Conexiones AppFabric
  • 33. Diseñando para Azure: EjemplosReducir consumo en SQL Azure (I) Situación: Por simplicidad, Softeng Portal Builder almacenaba 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 Azure 50GB  $354 56 € / mes A $354.56  Blob Storage 50GB  0.10 € / GB x mes x 50 = 5€ / mes
  • 34. Diseñando para Azure: EjemplosReducir 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  BBDD ligera de descargar
  • 35. Diseñando para Azure: EjemplosSistema 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) Problema 3 C P bl 3: Conviene t i tener l b k ’ en l nube. los backup’s la b Problema 4: No existe ninguna solución en el mercado. Problema 5: Un nuevo desarrollo … 
  • 36. Diseñando para Azure: EjemplosSistema de backup (II): La solución Ventajas  Coste de almacenaje reducido: 0.15$ GB/mes  Si costes d t Sin t de transferencia f i  Descarga a local, bajo demanda
  • 37. Diseñando para AzureMás retos que tuvimos que superar Mejora en la escalabilidad horizontal: Buscar en internet lo conseguido … “escalabilidad lineal en Azure” escalabilidad Azure Automatización de pruebas de carga en Azure: p g Simulamos N usuarios en Azure, levantando N instancias. Automatizar 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 Azure (mediante worker-roles y colas)
  • 38. Diseñando para AzureConclusiones ≠ Funcionar en Azure Funcionar bien: No es igual adaptar una aplicación p p para que funcione a diseñarla p q para que sea óptima. Errores de q p arquitectura en el software clásico se magnifican en cloud. Azure ofrece grandes beneficios: … si diseñamos siguiendo arquitecturas orientadas a coste y a escalabilidad. Un beneficio inesperado para SOFTENG: Reconocimiento y Know-How Know How adquirido 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..
  • 39. Diseñando para AzureAzure es increible !!, pero…
  • 40. Tecnología y calidadRecursos 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:  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
  • 41. proyecto: ¡ Gracias por su atención ! Carlos Colell Sorinas Director general ccolell@softeng.es http://es.linkedin.com/in/ccolell Twitter.com/ccolell Barcelona: Pau Claris, 162-164 2ª Planta Claris 162 164 2 Madrid: Avda. Doctor Arce, 14