Archivo

Posts Tagged ‘WebLogic’

Autoescalado con Kubernetes

septiembre 22, 2017 Deja un comentario

Una de las funcionalidades más demandadas últimamente es el autoescalado de aplicaciones.

¿Por qué siempre se colapsa la web de venta de entradas y me tengo que quedar sin ver a Guns n’Roses? ¿Nunca podré comprar un billete barato en RENFE? En los momentos de alta interacción su web me deja en espera indefinidamente…

Para esta prueba vamos a utilizar un clúster de Kubernetes de 2 nodos y el típico ejemplo de aplicación:
servidor web (ohs) -> servidor de aplicaciones (weblogic 12c) -> BBDD (12c)

Recordad, tal y como mostramos en un post anterior sobre kubernetes, que el pod corresponde a cada instancia levantada de nuestra aplicación. Empezamos con 2 pods de ohs, 2 de weblogic y uno de BBDD.

Selection_040

Desplegamos con Ansible una sencilla aplicación en weblogic que solo hace una consulta a BBDD.

Se suele crear un autoescalado sobre la CPU cuando llega al 80%. En nuestro caso como es una prueba y debe saltar antes, lo vamos a hacer sobre el 20%. Kubernetes está en continua evolución y actualmente se están añadiendo otros criterios a parte de CPU.

Leer más…

Introdución a Kubernetes: Orquestando dockers

Resultado de imagen de kubernetesEn anteriores entradas vimos una introducción a docker, además de cómo crearlos y manternerlos.

Pero, ¿cómo los gestionamos y utilizamos? Hay diferentes herramientas para orquestar docker, como swarn, apache mesos o kubernetes. En esta entrada nos vamos a centrar en la herramienta que google donó al software libre en 2015: kubernetes. A Google siempre le ha gustado hacer trabajar a otros y que éstos le aporten contenidos: maps, youtube, etc…. Y no iba a ser diferente con kubernetes, una de las herramientas que tiene ahora mismo más desarrolladores y commits.

Kubernetes consta de diferentes componentes que nos ayudan a gestionar nuestros contenedores docker, como dns, red, proxy, monitorización, apis, scheduler, etc. La instalación es bastante complicada, pero vamos a ver dos formas que nos la facilitan: minikube y kubeadm.

Minikube levanta máquinas virtuales con todos los componentes para que funcione kubernetes. Podemos elegir virtualbox, kvm, hyperv… Es muy sencillo y nos servirá para probarlo. Es poco operativo porque levanta los contenedores dentro de las máquinas virtuales, con la limitación que pueden tener éstas de memoria o espacio.

Kubeadm nos levanta en local contenedores docker con los componentes de kubernetes y se conecta al demonio local de docker.

En avanttic tenemos un cluster con dos nodos de kubernetes instalados con kubeadm, los llamamos kubernetes1 y kubernetes 2, vamos a ver unos ejemplos.

Selection_027

Primero vamos a ver unos conceptos importantes:

  • Deployment: es el contenedor docker que vamos a desplegar que contiene la aplicación. Por ejemplo un servidor web.
  • Pod: un pod es cada unidad de Deployment que tenemos funcionando. Con kubernetes gestionamos cuantos pods queremos levantar de cada aplicación.
  • Services: son los servicios que exponemos que hacen referencia a los PODS

Vamos a desplegar una aplicación, por ejemplo, un servidor web o un weblogic que podemos descargar de nuestro repositorio docker de avanttic https://hub.docker.com/u/avanttic. Como estos últimos son privados por tener licencias, vamos a probar con un apache.

Leer más…

OHS 12.2.x privilege ports (<1024) UNIX

junio 29, 2017 Deja un comentario

En versiones previas a la 12.2.x, como ya se indicaba en este post, el procedimiento para iniciar el OHS en los puertos inferiores a 1024 ha ido modificando con el tiempo y esta versión no iba a ser menos que las anteriores.

Dicho procedimiento se ha simplificado en esta última versión y las tareas a realizar son las siguientes:

  1. Parar los procesos de OHS:
    $DOMAIN_HOME/bin/stopComponent.sh ohs1
    
  2. Como usuario root modificar el propietario del fichero “launch” y sus permisos:
    chown root $ORACLE_HOME/ohs/bin/launch
    chmod 4750 $ORACLE_HOME/ohs/bin/launch
    
  3. Modificar el fichero $DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/httpd.conf (o ssl.conf si se va a securizar). En este caso modificamos ssl.conf:
    ###################################################################
    # Oracle HTTP Server mod_ossl configuration file: ssl.conf        #
    ###################################################################
    
    # The Listen directive below has a comment preceding it that is used
    # by tooling which updates the configuration.  Do not delete the comment.
    #[Listen] OHS_SSL_PORT
    Listen 443
    [...]
    #[VirtualHost] OHS_SSL_VH
    <VirtualHost *:443>
    
  4. Iniciar el proceso OHS y verificar el puerto:
    $DOMAIN_HOME/bin/startComponent.sh ohs1
    

Docker: Imágenes y vida de los contenedores

Al iniciarse en Docker suelen surgir dudas sobre la volatilidad del contenedor, es decir, su tiempo de vida.

Dicha volatilidad depende en gran medida de la utilidad que le queramos asignar al contenedor. Por ejemplo, si lo utilizamos para hacer una prueba de una configuración tendremos que levantar el Docker desde cero hasta que demos con la configuración buena, o podamos grabarla y seguir trabajando sobre él. Además, una de las utilidades de Docker es que todo está en un script y no tenemos que ir recordando los pasos previos, por lo tanto, se recomienda ir pasando los cambios a script.

Para este ejemplo vamos a crear un servicio en el Service bus de Oracle. Para hacer la prueba nos descargaremos una imagen del Service Bus 11.1.1.7 como ya indicamos en la entrada anterior del blog.

docker pull avanttic/osb1117

Si visualizamos las imágenes que tenemos, aparecerá la recién descargada.

# docker images
REPOSITORY              TAG        IMAGE ID        CREATED           SIZE
avanttic/osb1117       latest   e558b012f4a5   3 minutes ago    10.1 GB

Aquí es donde tenemos que diferenciar entre imagen y contenedor. Una imagen es la base a partir de la cual se ejecutan los contenedores. Es decir, cada vez que hacemos un run sobre la imagen nos levanta un contenedor con esa configuración. Si modificamos el contenedor, lo paramos y arrancamos otra vez la imagen, los datos no estarán, porque arrancará un nuevo contenedor.

Por ejemplo, arrancamos nuestra imagen de Service Bus:

# docker run -ti avanttic/osb1117

Para mirar los contenedores que tenemos se usa el comando:

# docker ps -a
CONTAINER ID         IMAGE                    CREATED            STATUS
ac43456e2203      avanttic/osb1117    4 minutes ago      Up 4 minutes

Sobre ella, creamos un proyecto que moverá mensajes entre dos colas:

selection_717

Leer más…

Crónica hands-on Oracle Cloud Platform (MAD 22/03 y BCN 23/03)

marzo 24, 2017 Deja un comentario

El 22 y 23 de marzo, en Madrid y Barcelona respectivamente, realizamos junto a Oracle sendas sesiones alrededor de soluciones Oracle Cloud PaaS. Dichas sesiones han sido íntegramente prácticas (hands-on) y los asistentes han podido explorar a través de sus portátiles las diferentes soluciones que Oracle ofrece en la nube. Mediante el desarrollo de diferentes ejercicios se han definido procesos, configurado integraciones e incluso desplegado una aplicación.

avanttic-cronica-Hans_On

  • Ambos eventos se iniciaron con una introducción conjunta a cargo de Rene de Boer, Business Development Manager Middleware & Cloud Platform de Oracle, y de Antonio MolinaResponsable de Área Fusion Middleware de avanttic. 
  • Leonardo Torres,  Arquitecto de Soluciones de avanttic, introdujo a los asistentes en un laboratorio sobre Integration Cloud Service, sus funcionalidades y capacidades. Además de explicar los conectores predefinidos en productos cloud, en productos on-premise y las herramientas de integración y orquestación de procesos.
  • El siguiente bloque continuó a cargo de Leonardo Torres, quien guió a los asistentes en la creación de un ejemplo de diseño, de desarrollo y en un workflow de aprobación de ordenes de compra. Los productos presentados cuentan con las ventajas del cloudpay as you go y zero code; alta disponibilidad y no requieren construir una infraestructura.
  • Tim Graves, Global Architect de Oracle, desarrolló dos laboratorios utilizando una serie de Oracle Cloud Services de la familia IaaS y PaaS. En el primer ejercicio abordó Java Cloud and Compute Cloud Services y los asistentes configuraron la creación de una instancia de Tomcat, WebLogic y de base de datos en la parte superior de los servicios de Compute and Storage.
  • En el segundo ejercicio, impartido por Tim, configuraron una aplicación SpringBoot en Developer Cloud Service y la desplegaron en Application Container and Developer Cloud.
  • En el último bloque Rubén Rodríguez, Cloud Solution Specialist de avanttic, hizo una introducción a Mobile Cloud Service enumerando los posibles retos que podemos encontrarnos en todo proyecto de movilidad, y como Oracle MCS permite solventarlos con facilidad. Como ejercicio práctico realizaron el workshop de una aplicación con Oracle MAX en el que cada asistente desarrolló una aplicación móvil.
  • Antes de finalizar el evento,  Sergio Moreno, Business Development Manager Mobile & IoT, en Madrid  y Jordi Villena, Principal Sales Consultant en Oracle, en Barcelona, presentaron una demo de Chatbot Cloud Service. Ambos explicaron el funcionamiento y back-end de una aplicación que utiliza chatbots para interacturar con el cliente.

Los servicios PaaS tuvieron gran aceptación por parte de los asistentes, quienes destacaron las ventajas de poder realizar ejercicios prácticos de la mano de expertos.

Si desea más información sobre los temas tratados en estas sesiones contacte con nosotros.

Categorías:Actualidad Etiquetas: , , , , , , , , ,

Introducción a Docker: Creación y utilidades

febrero 9, 2017 1 comentario

docker

En este post queremos hacer una breve introducción al mundo docker (containers) del cual  seguiremos ampliando información en futuras entradas.

Docker es una palabra que actualmente está muy de moda. Tecnológicamente no es nada nuevo, ya existían los containers, chroot, debootstrap, plantillas para crear máquinas… Pero docker ha facilitado todo el proceso y lo ha orientado más a servidores que a servicios.

¿Qué utilidades tiene un docker?

Se pueden diferenciar dos líneas, una de desarrollo y otra de negocio.

En el área de desarrollo, un docker nos sirve para levantar un entorno específico en el que hacer pruebas con sistemas operativos, y también, realizar versiones concretas de la aplicación sin tener que realizar cambios en nuestro equipo; además, permite que otra persona desde otro lugar y sin tener que hacer ninguna configuración especial, levante exactamente el mismo docker.

En el área de negocio, sirve para levantar servicios en muy poco tiempo en función de la carga o necesidades. Cada vez hay más herramientas para orquestar y monitorizar este tipo de acciones. Por ejemplo, si tenemos un frontal web, podemos monitorizar la carga e insertar umbrales, de tal forma que si la carga llega a un 80% continúe levantando más dockers para balancearla; y una vez, disminuya del 30% espere el tiempo que deseemos, 5 minutos por ejemplo, y empiece a detener los containers. Esto es útil en plataformas como aws, digital ocean, etc… en las que se paga por uso.

¿Cómo se crea un docker?

Leer más…

Categorías:Tech - Infrastructure Etiquetas: , ,

Oracle Forms & Reports 12.2.1.2.0 disponible

noviembre 10, 2016 Deja un comentario

logoformsreports12c

Desde el pasado 19 de Octubre se encuentra disponible la última versión de Oracle Forms&Reports, la 12.2.1.2.0.

Se trata de una versión completa, no de un upgrade. Con esto quiero decir que el instalable que se puede descargar no se puede instalar sobre una instalación ya existente, sino que se trata de una versión full.

Varios links de interés:

A continuación un detalle de los bugs que soluciona esta nueva release de Forms&Reports:

Leer más…