WebLogic Suite 11g – Disponibilidad,
rendimiento y escalabilidad
Carles Biosca (carles.biosca@avanttic.com)
Arquitecto Fusion Middleware




                                             1
Agenda



         • Oracle Weblogic Suite 11g
            • Arquitectura
            • Modelos de programación y desarrollo

         • Disponibilidad, rendimiento y escalabilidad
         • Minimización de costes




                                                         2
Oracle Weblogic Suite 11g




                            3
Weblogic y la competencia
Cuadrante de Gartner (Septiembre 2011)




                                         4
Oracle Fusion Middleware 11g
El centro neurálgico de los productos Oracle




                                               5
Oracle WebLogic Suite
Plataforma base de proyección de futuro

                                               Fusion Applications                              Fusion Apps
                                                                                                Desarrolladas
                                                                                                en FMW 11g

                                    Applications Portfolio                                  Applications
                                                                                            en proceso de
                                                                                            Certificación en
                                                                                            WebLogic

                        Fusion Middleware 11g
     Java EE/ISV   SOA Suite   WebCenter    Content       Identity     Business
        Apps                     Suite     Management   Management   Intelligence   FMW 11g
                                              Suite         Suite       Suite
                                                                                    Certificados y Diferenciados
                                                                                    con WebLogic Suite


                    WebLogic Suite 11g                                  WebLogic Suite 11g
                                                                        Grid Foundation


                                                                                                               6
Oracle Weblogic Suite 11g

Arquitectura




                            7
Topología de Weblogic
Elementos de la arquitectura


 • Domain: Unidad de Weblogic con un control             Domain
                                                                                 Managed Servers
   unificado
 • Server: Instancia JVM individual que ejecuta
   aplicaciones y utiliza recursos del dominio
      • Administration Server: Encargado de la gestión
        de la configuración del dominio
                                                             config.xml
      • Managed Server: El resto de servidores del
        dominio
 • Cluster : Agrupación de managed servers para
   proporcionar escalabilidad y disponibilidad           Admin Server

 • Node Manager: Proceso que arranca y para los
   servers
                                                                              Cluster
                                                              Admin Console




                                                                                               8
Topología de Weblogic
Ejemplos

 • Mínima




 • Clusterizada   Máquina 1   Máquina 2




                                          9
Componentes de Weblogic Suite

                                                    WebLogic Operations Control
             Enterprise Manager
              Diagnostics Pack




                                                                                                               JDeveloper
                                                               Applications




                                                                                                                            Development Tools
                                            ADF            Spring           POJO              …
Management




                                                      WebLogic Server and iAS
                                                        Web                                          JMS
                                  Java EE                                   TopLink
                                                       Services                                    Messaging
                                             Reliability, Availability, Scalability, Performance
             Management




                                                                                                               Eclipse
                                             Clustering with Coherence EE Scale Out
               WLS




                                                                  JRockit
                                            JRockit JVM                         WebLogic Real Time




                                                                                                                            10
Oracle Weblogic Suite 11g

Modelos de programación
y desarrollo




                            11
Desarrollo, Flexibilidad y Productividad
Herramientas y Estándares Java y relacionados

 • Soporte a múltiples Modelos de Programación
      •   Java EE tradicional
      •   Arquitectura SOA (Web Services)
      •   Integraciones por mensajería (JMS, MQ…)
      •   Web 2.0/RIA
 • Desarrollos en todo tipo de frameworks (open source, ADF)
 • Diferentes Herramientas de Desarrollo
      •   Entorno de ejecución común para distintas soluciones (BI, SOA, BUS, BPM,…)
      •   Múltiples herramientas de desarrollo Java
 • Integración con otros entornos
      •   Otros entornos de aplicaciones (Java, .NET, Tuxedo, Messaging)
      •   Infraestructura de seguridad y gestión de identidades
      •   Bases de datos y otras infraestructuras



                                                                                       12
Herramientas de desarrollo específicas


 • Oracle JDeveloper
    • El IDE completo para Fusion Middleware/WL Server
    • 3 opciones para diferentes tipos de desarrollos:
       • Studio – Fusion Development, ADF, SOA
       • Java EE – Java EE básico y Web Services
       • Java – Solamente Java


 • Oracle Enterprise Eclipse Pack
    • Plug-ins para Eclipse
    • WebLogic Java EE, Spring, Web Services, JPA




                                                         13
Disponibilidad, rendimiento y
escalabilidad




                                14
Necesidades de e-Commerce


 • Calidad de servicio al usuario (QoS)
     • Acceso fácil y continuado al servicio
     • Tiempos de respuesta adecuados y predecibles


 • Minimizar costes para aumentar la competitividad
     • Reducir el coste IT imputable a cada transacción para ofrecer mejores
       precios que la competencia.




                                                                               15
Calidad de servicio al usuario
Reliability, Availability, Scalability y Performance “RASP”

 • Disponibilidad
      • Mantener el servicio a los clientes
      • Tolerancia a paradas planificadas y no planificadas.
 • Rendimiento
      • Elevado Throughput para aplicaciones/servicios
      • Latencia baja y predecible
 • Escalabilidad
      • Expandir el sistema y añadir recursos bajo demanda
      • Millones de usuarios y miles de sistemas manteniendo SLAs
 • Fiabilidad
      • Calidad provada en los entornos más exigentes – “it just works”
      • Integridad transaccional, mensajería fiable



                                                                          16
Disponibilidad
Paradas planificadas
                       Actualización de Aplicaciones

                                          Hot redeployment
                                          Side By Side Deployment




                           Operations &Solutions                     Configuración
                                                                     Cambios




   Actualización
   del servidor                                                     Dynamic changes


       Rolling cluster upgrade

                                                                                17
Disponibilidad
Paradas no planificadas

                                     Error de Software
                                               Clusters
                                               Service Migration




                              Failures & Solutions




                                                 Clusters
                          Fallo de               Server & Service Migration
                          Hardware


                                                                              18
Rendimiento
    JRockit VM

       • Máquina virtual propia con alto rendimiento
                                              SPECjbb2005 - Quad core Intel Xeon X5355

                                     250000
                                                         +64%                              +91%
                  SPECjbb2005 bops




                                     200000
                                                                                                             Sun JVM (base)
                                     150000                                                                  Sun JVM (tuned)

                                     100000                                                                  JRockit (base)
                                                                                                             JRockit (tuned)
                                      50000

                                          0
                                                  32-bit JVM                   64-bit JVM




Note: The percentage comparison is compared to the baseline (Sun JVM base). Relative performance varies with workload.




                                                                                                                               19
Rendimiento
JRockit Real Time
Traditional Java                                                                              JRockit Real Time
      120


      105


      90


      75


      60


      45


      30


      15


       0
            0   2000   4000   6000   8000   10000    12000    14000    16000    18000




     Poca carga de trabajo: El GCprovoca
     timeouts ocasionales
      120


      105


       90


       75


       60


       45
                                                                                         JRRT hace que el GC sea determinístico, permitiendo
       30


       15
                                                                                         garantizar las SLAs.
        0
            0   2000   4000   6000   8000    10000    12000    14000    16000    18000




     Mucha carga de trabajo: El GC provoca tiempos de
     respuesta inacceptables


                                                                                                                                               20
El mejor motor de mensajería
JMS




                               21
El mejor rendimiento (JMS)




                             22
Exalogic, rendimiento extremo!!
Hardware y Software diseñados para trabajar juntos

                             • Rendimiento Java EE
                                 • El rendimiento de las aplicaciones Java
                                   EE mejorado 10X
                             • Los cimientos del Cloud empresarial
                                 • Virtualización
                                 • Diseñado para consolidación de
                                   aplicaciones
                             • Sistema completo
                                 • Reducción de costes de despliegue y
                                   operación




                                                                             23
Escalabilidad
Clusterización

                        Máquina 1            Máquina 2




 • Distintos tipos de configuración
      • Activo-pasivo
      • Activo-activo
 • Repartición de la carga
 • Alta disponibilidad (activo-activo con réplica de sesiones)




                                                                 24
Escalabilidad
Oracle Coherence

 In-memory grid de datos
 Características
 • Consultas paralelas de datos mediante el uso de filtros
 • Procesamiento de transacciones basado en Grid para una mayor
   producción.
 • Caché de escritura retrasada (write-behind) para incorporar las escrituras
   en las fuentes de datos de back-end (fuentes de datos lentas)
 Beneficios
 • Acceso rápido y confiable a los datos de aplicaciones (tiempo constante)
 • Procesamiento de eventos y análisis de datos en memoria
 • Menos carga en las fuentes de datos compartidas
 • Escalamiento horizontal optimizado en commodity hardware

                                                                                25
Fiabilidad al máximo nivel


Primary of                                                           Backup of
Object XYZ                                                           Object XYZ




  • Los datos se mantienen replicados y repartidos entre los nodos
  • Consultas y actualizaciones constantes
  • Siempre se mantendrá una réplica (protección contra caídas).
  • Distribución de la carga uniforme en los nodos
  • Los servidores se pueden añadir de forma dinámica para escalar el
    sistema.



                                                                                  26
Escalabilidad
Oracle Coherence Data Grid

                               Ever Expanding
                              Universe of Users

 • Oracle Coherence
                             Web Servers
   proporciona datos                         101100010110010111011001011001011100011101111110001110


   bajo demanda                Application       10110001011001011101100101100101110001110
                                  Servers
 • Permite escalar el                                     Data Demand
   Grid de middleware
   con hardware de
   bajo coste
                                                                                Java Objects



                             Data Supply

                                Data Sources


                                                                                                      27
Disponibilidad, rendimiento y
escalabilidad

Resumiendo




                                28
RASP
Resumen




   Disponibilidad


    Rendimiento


    Escalabilidad


       Fiabilidad




                    29
Minimización de costes




                         30
Minimización de costes
Total Cost of Ownership (TCO)

 • El coste global de un servidor de aplicaciones está formado por:
      • Costes de licenciamiento (inicial + soporte anual)
      • Costes operacionales (tareas + riesgos asociados):
           • Instalación
           • Configuración
           • Administración
           • Monitorización
           • Tuning
           • Tiempos sin servicio (planificados o no)


 • La suma de todos estos costes nos da el coste global de propiedad o
   TCO.



                                                                         31
Reducción de costes operacionales
Aportaciones de WebLogic

 • Administración unificada
 • Automatización de tareas (reducción de errores)
 • Migración automática de servidores (minimización paradas)
 • Diagnósticos Java integrados
 • Plantillas de dominios (facilidad de instalación)
 • Gestión de parches y dependencias.




                                                               32
Administración de WebLogic Server
Two flavours: Consola de Administración /Scripting

 • Administration Console
      • Consola Web para realizar las tareas de administración
      • Tipos de usuarios y roles predefinidos
      • Extensible mediante estándares (JSR-168, WSRP, …)
      • Gestión transaccional de los cambios de configuración
 • WebLogic Scripting Tool (WLST)
      • Herramienta de scripting para automatizar tareas
      • Permite realizar las tareas de administración
      • Extensible mediante estándares (Jython)
      • Múltiples modos (online/offline, interactive/scripted)




                                                                 33
WebLogic Administration Console




                                  34
Automatización de tareas
WebLogic Scripting Tool (WLST)

 • Herramienta de scripting para
   mantenimiento y configuración
   de instancias, clusters y dominios
 • Basado en una implementación
   100% Java de Python
 • Modos de funcionamiento –
   (script / interactive) ↔ (online /
   offline)
 • Proporciona un proceso
   repetitivo para propagar cambios
   de configuración a través de
   múltiples entornos.
 • Permite migrar y replicar
   entornos rápidamente

                                        35
Enterprise Manager
Administración/Monitorización integrada de productos

 • Gestionar múltiples granjas y dominios de
   weblogic
 • Monitorizar rendimiento y disponibilidad de
   las aplicaciones desplegadas en el
   middleware
 • Obtener a tiempo real, métricas del
   funcionamiento de la JVM
 • Monitorizar Oracle Coherence Cluster
 • Detectar cambios de configuración a tiempo
   real y realizar un
 • Asegurar el cumplimiento de estándares
 • Provisión y parcheo de middleware y SO


                                                       36
Diagnósticos Java Integrados
Diagnosticar aplicaciones en producción con un impacto mínimo

 • Diagnósticos en Real-time e
   históricos
 • Monitorización continua con
   mínimo overhead
 • No es instrusivo, no es necasario
   conocer la aplicación
 • Arrancar/Parar sin parar el
   servidor
 • Diagnotica aplicaciones en
   cualquier servidor Java
 • Identifica tiempos de espera en el
   mid-tier resources
 • Analiza desde sesiones de DB a
   threads Java.


                                                                37
Quiénes somos




                38
Quiénes Somos

• avanttic vincula todas sus soluciones y servicios a la tecnología Oracle




                                                                             39
Preguntas




            40
carles.biosca@avanttic.com
Barcelona
Aragó 182, 4ª planta - 08011 Barcelona
Tel. 93 151 84 51
Madrid
Orense 85, 28020 Madrid
Tel. 91 116 17 89

www.avanttic.com
blog.avanttic.com




                                         41

Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad

  • 1.
    WebLogic Suite 11g– Disponibilidad, rendimiento y escalabilidad Carles Biosca (carles.biosca@avanttic.com) Arquitecto Fusion Middleware 1
  • 2.
    Agenda • Oracle Weblogic Suite 11g • Arquitectura • Modelos de programación y desarrollo • Disponibilidad, rendimiento y escalabilidad • Minimización de costes 2
  • 3.
  • 4.
    Weblogic y lacompetencia Cuadrante de Gartner (Septiembre 2011) 4
  • 5.
    Oracle Fusion Middleware11g El centro neurálgico de los productos Oracle 5
  • 6.
    Oracle WebLogic Suite Plataformabase de proyección de futuro Fusion Applications Fusion Apps Desarrolladas en FMW 11g Applications Portfolio Applications en proceso de Certificación en WebLogic Fusion Middleware 11g Java EE/ISV SOA Suite WebCenter Content Identity Business Apps Suite Management Management Intelligence FMW 11g Suite Suite Suite Certificados y Diferenciados con WebLogic Suite WebLogic Suite 11g WebLogic Suite 11g Grid Foundation 6
  • 7.
    Oracle Weblogic Suite11g Arquitectura 7
  • 8.
    Topología de Weblogic Elementosde la arquitectura • Domain: Unidad de Weblogic con un control Domain Managed Servers unificado • Server: Instancia JVM individual que ejecuta aplicaciones y utiliza recursos del dominio • Administration Server: Encargado de la gestión de la configuración del dominio config.xml • Managed Server: El resto de servidores del dominio • Cluster : Agrupación de managed servers para proporcionar escalabilidad y disponibilidad Admin Server • Node Manager: Proceso que arranca y para los servers Cluster Admin Console 8
  • 9.
    Topología de Weblogic Ejemplos • Mínima • Clusterizada Máquina 1 Máquina 2 9
  • 10.
    Componentes de WeblogicSuite WebLogic Operations Control Enterprise Manager Diagnostics Pack JDeveloper Applications Development Tools ADF Spring POJO … Management WebLogic Server and iAS Web JMS Java EE TopLink Services Messaging Reliability, Availability, Scalability, Performance Management Eclipse Clustering with Coherence EE Scale Out WLS JRockit JRockit JVM WebLogic Real Time 10
  • 11.
    Oracle Weblogic Suite11g Modelos de programación y desarrollo 11
  • 12.
    Desarrollo, Flexibilidad yProductividad Herramientas y Estándares Java y relacionados • Soporte a múltiples Modelos de Programación • Java EE tradicional • Arquitectura SOA (Web Services) • Integraciones por mensajería (JMS, MQ…) • Web 2.0/RIA • Desarrollos en todo tipo de frameworks (open source, ADF) • Diferentes Herramientas de Desarrollo • Entorno de ejecución común para distintas soluciones (BI, SOA, BUS, BPM,…) • Múltiples herramientas de desarrollo Java • Integración con otros entornos • Otros entornos de aplicaciones (Java, .NET, Tuxedo, Messaging) • Infraestructura de seguridad y gestión de identidades • Bases de datos y otras infraestructuras 12
  • 13.
    Herramientas de desarrolloespecíficas • Oracle JDeveloper • El IDE completo para Fusion Middleware/WL Server • 3 opciones para diferentes tipos de desarrollos: • Studio – Fusion Development, ADF, SOA • Java EE – Java EE básico y Web Services • Java – Solamente Java • Oracle Enterprise Eclipse Pack • Plug-ins para Eclipse • WebLogic Java EE, Spring, Web Services, JPA 13
  • 14.
  • 15.
    Necesidades de e-Commerce • Calidad de servicio al usuario (QoS) • Acceso fácil y continuado al servicio • Tiempos de respuesta adecuados y predecibles • Minimizar costes para aumentar la competitividad • Reducir el coste IT imputable a cada transacción para ofrecer mejores precios que la competencia. 15
  • 16.
    Calidad de servicioal usuario Reliability, Availability, Scalability y Performance “RASP” • Disponibilidad • Mantener el servicio a los clientes • Tolerancia a paradas planificadas y no planificadas. • Rendimiento • Elevado Throughput para aplicaciones/servicios • Latencia baja y predecible • Escalabilidad • Expandir el sistema y añadir recursos bajo demanda • Millones de usuarios y miles de sistemas manteniendo SLAs • Fiabilidad • Calidad provada en los entornos más exigentes – “it just works” • Integridad transaccional, mensajería fiable 16
  • 17.
    Disponibilidad Paradas planificadas Actualización de Aplicaciones Hot redeployment Side By Side Deployment Operations &Solutions Configuración Cambios Actualización del servidor Dynamic changes Rolling cluster upgrade 17
  • 18.
    Disponibilidad Paradas no planificadas Error de Software Clusters Service Migration Failures & Solutions Clusters Fallo de Server & Service Migration Hardware 18
  • 19.
    Rendimiento JRockit VM • Máquina virtual propia con alto rendimiento SPECjbb2005 - Quad core Intel Xeon X5355 250000 +64% +91% SPECjbb2005 bops 200000 Sun JVM (base) 150000 Sun JVM (tuned) 100000 JRockit (base) JRockit (tuned) 50000 0 32-bit JVM 64-bit JVM Note: The percentage comparison is compared to the baseline (Sun JVM base). Relative performance varies with workload. 19
  • 20.
    Rendimiento JRockit Real Time TraditionalJava JRockit Real Time 120 105 90 75 60 45 30 15 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 Poca carga de trabajo: El GCprovoca timeouts ocasionales 120 105 90 75 60 45 JRRT hace que el GC sea determinístico, permitiendo 30 15 garantizar las SLAs. 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 Mucha carga de trabajo: El GC provoca tiempos de respuesta inacceptables 20
  • 21.
    El mejor motorde mensajería JMS 21
  • 22.
  • 23.
    Exalogic, rendimiento extremo!! Hardwarey Software diseñados para trabajar juntos • Rendimiento Java EE • El rendimiento de las aplicaciones Java EE mejorado 10X • Los cimientos del Cloud empresarial • Virtualización • Diseñado para consolidación de aplicaciones • Sistema completo • Reducción de costes de despliegue y operación 23
  • 24.
    Escalabilidad Clusterización Máquina 1 Máquina 2 • Distintos tipos de configuración • Activo-pasivo • Activo-activo • Repartición de la carga • Alta disponibilidad (activo-activo con réplica de sesiones) 24
  • 25.
    Escalabilidad Oracle Coherence In-memorygrid de datos Características • Consultas paralelas de datos mediante el uso de filtros • Procesamiento de transacciones basado en Grid para una mayor producción. • Caché de escritura retrasada (write-behind) para incorporar las escrituras en las fuentes de datos de back-end (fuentes de datos lentas) Beneficios • Acceso rápido y confiable a los datos de aplicaciones (tiempo constante) • Procesamiento de eventos y análisis de datos en memoria • Menos carga en las fuentes de datos compartidas • Escalamiento horizontal optimizado en commodity hardware 25
  • 26.
    Fiabilidad al máximonivel Primary of Backup of Object XYZ Object XYZ • Los datos se mantienen replicados y repartidos entre los nodos • Consultas y actualizaciones constantes • Siempre se mantendrá una réplica (protección contra caídas). • Distribución de la carga uniforme en los nodos • Los servidores se pueden añadir de forma dinámica para escalar el sistema. 26
  • 27.
    Escalabilidad Oracle Coherence DataGrid Ever Expanding Universe of Users • Oracle Coherence Web Servers proporciona datos 101100010110010111011001011001011100011101111110001110 bajo demanda Application 10110001011001011101100101100101110001110 Servers • Permite escalar el Data Demand Grid de middleware con hardware de bajo coste Java Objects Data Supply Data Sources 27
  • 28.
  • 29.
    RASP Resumen Disponibilidad Rendimiento Escalabilidad Fiabilidad 29
  • 30.
  • 31.
    Minimización de costes TotalCost of Ownership (TCO) • El coste global de un servidor de aplicaciones está formado por: • Costes de licenciamiento (inicial + soporte anual) • Costes operacionales (tareas + riesgos asociados): • Instalación • Configuración • Administración • Monitorización • Tuning • Tiempos sin servicio (planificados o no) • La suma de todos estos costes nos da el coste global de propiedad o TCO. 31
  • 32.
    Reducción de costesoperacionales Aportaciones de WebLogic • Administración unificada • Automatización de tareas (reducción de errores) • Migración automática de servidores (minimización paradas) • Diagnósticos Java integrados • Plantillas de dominios (facilidad de instalación) • Gestión de parches y dependencias. 32
  • 33.
    Administración de WebLogicServer Two flavours: Consola de Administración /Scripting • Administration Console • Consola Web para realizar las tareas de administración • Tipos de usuarios y roles predefinidos • Extensible mediante estándares (JSR-168, WSRP, …) • Gestión transaccional de los cambios de configuración • WebLogic Scripting Tool (WLST) • Herramienta de scripting para automatizar tareas • Permite realizar las tareas de administración • Extensible mediante estándares (Jython) • Múltiples modos (online/offline, interactive/scripted) 33
  • 34.
  • 35.
    Automatización de tareas WebLogicScripting Tool (WLST) • Herramienta de scripting para mantenimiento y configuración de instancias, clusters y dominios • Basado en una implementación 100% Java de Python • Modos de funcionamiento – (script / interactive) ↔ (online / offline) • Proporciona un proceso repetitivo para propagar cambios de configuración a través de múltiples entornos. • Permite migrar y replicar entornos rápidamente 35
  • 36.
    Enterprise Manager Administración/Monitorización integradade productos • Gestionar múltiples granjas y dominios de weblogic • Monitorizar rendimiento y disponibilidad de las aplicaciones desplegadas en el middleware • Obtener a tiempo real, métricas del funcionamiento de la JVM • Monitorizar Oracle Coherence Cluster • Detectar cambios de configuración a tiempo real y realizar un • Asegurar el cumplimiento de estándares • Provisión y parcheo de middleware y SO 36
  • 37.
    Diagnósticos Java Integrados Diagnosticaraplicaciones en producción con un impacto mínimo • Diagnósticos en Real-time e históricos • Monitorización continua con mínimo overhead • No es instrusivo, no es necasario conocer la aplicación • Arrancar/Parar sin parar el servidor • Diagnotica aplicaciones en cualquier servidor Java • Identifica tiempos de espera en el mid-tier resources • Analiza desde sesiones de DB a threads Java. 37
  • 38.
  • 39.
    Quiénes Somos • avantticvincula todas sus soluciones y servicios a la tecnología Oracle 39
  • 40.
  • 41.
    carles.biosca@avanttic.com Barcelona Aragó 182, 4ªplanta - 08011 Barcelona Tel. 93 151 84 51 Madrid Orense 85, 28020 Madrid Tel. 91 116 17 89 www.avanttic.com blog.avanttic.com 41