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…

Categorías:WebLogic Etiquetas: , , ,

ADF tips: Diferentes formas de mostrar mensajes de validación

ADF tips

Este post trata sobre las diferentes opciones que tenemos para mostrar mensajes de validación, como cuando tenemos un componente de entrada de datos marcado como requerido o como cuando utilizamos un componente tipo af:validateDoubleRange para manejar la validación.

Podemos tener un formulario simple como éste:

Por defecto, si solo hay un error de validación, el mensaje se mostrará en una especie de bocadillo.

Si por el contrario tenemos más de un mensaje, estos se mostrarán en un popup.

Si queremos cambiar la forma en la que se muestran los mensajes disponemos de 2 componentes:

Leer más…

Categorías:ADF / Java Etiquetas: , , ,

1 año ayudando a transformar el mundo

Hoy, 6 de julio de 2017, se cumple un año desde que avanttic firmó su adhesión al Programa Unidos de Save the Children.

Durante estos meses, avanttic ha ido realizando aportaciones trimestrales del fondo solidario, que proviene de lo que se ha ido recolectando en las diversas campañas realizadas desde avanttic_lives.

Nuestro interés por seguir colaborando en ayudar a la infancia ha hecho que, además de seguir con Save the Children por otro año más, hayamos ampliado las donaciones a otras entidades locales.

En Barcelona se han hecho algunas aportaciones extraordinarias a la Fundación de Sant Joan de Deu, la última al programa #paralosvalientes que tiene como objetivo construir un hospital para vencer al cáncer infantil.

En Madrid la aportación de nuestro I Torneo de Padel Solidario se destinó a ASION, la Asociación Infantil Oncológica de Madrid.

En avanttic queremos creer que, mediante la difusión y las aportaciones económicas de nuestras campañas #avanttic_solidary, ayudamos a transformar su mundo.

¿Por qué Oracle IoT Cloud Service es una magnífica solución?

En alguna ocasión ya hemos hablado de IoTCS (Oracle Internet of Things Cloud Service), como en la entrada en la que desarrollamos cómo IoTCS complementa toda la solución PaaS de Oracle. Pero hoy vamos a mostrar cómo funciona y cuales son las piezas que hacen de este producto una magnífica solución para todas nuestras necesidades relacionadas con Internet of Things, como por ejemplo sensores.

 

 

Resumiendo, IoTCS pertenece al gran abanico que nos proporciona Oracle alrededor de PaaS. Este producto nos ayuda a tomar decisiones y estrategias críticas al permitir conectar dispositivos (Raspberry, Arduino…) a la nube, analizar los datos de esos dispositivos en tiempo real y llegar a integrarlos con las soluciones empresariales de las que se disponga.

En la siguiente imagen de Oracle IoT Cloud Service mostramos una vista a alto nivel de la arquitectura.

oracle_iot_cloud_architecture.png

Los datos de las “things – dispositivos en algún lugar del mundo” son enviados a IoTCS. Éstos pueden ser enviados conectándose directa o indirectamente, en cuyo caso el dispositivo se comunicará con una pasarela (posiblemente a través de un protocolo propietario) y ésta enviará los datos a IoT Cloud Service.

Dichos dispositivos y sus conexiones son gestionados por el producto. Los atributos, la categoría de dispositivo o la ubicación se pueden agregar a los dispositivos para ayudar a encontrar otros dispositivos rápidamente (por ejemplo, para localizar uno defectuoso).

Los datos enviados a la nube pueden ser enviados directamente a los sistemas de backend (que pueden estar on premise o en la nube) o pueden ser analizados en la nube y el resultado del análisis enviado a otros sistemas, por ejemplo a un BI para producir informes más detallados o a un sistema ERP para realizar un seguimiento de los activos.

Veamos con más detalle cada módulo de IoTCS y de forma sencilla cómo trabajar con ellos.

Leer más…

Categorías:Cloud Etiquetas: ,

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
    
Categorías:WebLogic Etiquetas: ,

Crónica Arrow Multisolution Day (Barcelona, 22 de Junio 2017)

El 22 de junio asistimos junto a Oracle al evento Arrow MultiSolution Day en Barcelona. Ambos compartimos stand en una jornada dedicada a componentes electrónicos y a soluciones de IoT y embebidas.

El evento, que recibió a unos 250 visitantes, transcurrió en diferentes espacios del emblemático edificio World Trade Center. En la planta baja del Edificio Este se situaron las mesas de exposición de los distintos fabricantes de componentes electrónicos y compañías TIC.

Nuestro stand, situado justo en la entrada de la sala, mostraba la demo de Anki Overdrive de Oracle. Se trata de una simulación de carreras de coches que utiliza una decena de servicios de Oracle Cloud (IaaS, PaaS y SaaS): Oracle IoT Cloud Service registra aproximadamente un millar de señales que se generan por carrera; Oracle BI Cloud Service monitoriza en tiempo real la actividad (vueltas por coche, velocidad y salidas de pista); Oracle Process Cloud Service gestiona la tramitación de los accidentes, que llegan a Oracle Field Service para que un operador tome decisiones; mediante un Chatbot (o por voz mediante un dispositivo Alexa) es posible solicitar la intervención del dron; etc.

Las visitas a los stands se compaginaron con presentaciones sobre IoT y sobre soluciones embebidas.

avanttic participó en una sesión a puerta cerrada entre compañías de componentes electrónicos y compañías TIC, para establecer sinergias alrededor de proyectos de IoT.

Para obtener más información sobre las soluciones de Oracle Cloud para IoT y Fast Data, no dude en contactar con nosotros.

Somos soñadores

Los sueños y todo lo que les rodea siempre han sido una de las incógnitas de la humanidad. ¿Para qué sirven?, ¿por qué soñamos?, ¿qué significado tienen? Durante la historia se ha buscado responder a estas preguntas entre muchas otras, pero es cierto que incluso ahora, en pleno auge de las neurociencias, somos incapaces de indicar con certeza el qué, el cómo y el por qué.

Lo que sí sabemos es que se sueña, y se sueña por algo… Soñamos para almacenar nuestros recuerdos, consolidar lo aprendido durante el día, para defendernos de los ataques de la realidad, procesar emociones dolorosas o agradables y, ante todo, para cumplir un deseo, ya sea real o simbólico (Sigmund Freud). De ahí que se diga:

“voy a cumplir un sueño” = “voy a cumplir un deseo”, ya sea real o simbólico

Así que podríamos decir que también soñamos en estado de vigilia y eso es lo que nos motiva y nos da fuerzas para poder conseguir determinados objetivos, que frecuentemente llamamos sueños.

Esto me lleva a pensar en una frase de El Principito: “Es una locura odiar a todas las rosas sólo porque una te pinchó. Renunciar a todos tus sueños sólo porque uno de ellos no se cumplió.” Por lo que no se debe desfallecer porque una parte del sueño no “funcione”, siempre debemos seguir la estela de nuestros deseos.

Todo esto lo podemos aplicar a las organizaciones, en todos sus niveles, porque necesitamos líderes que sueñen cómo debería ser su organización, que la imaginen y así motiven e ilusionen a su equipo con esa posible realidad. Para forjar una actitud de cambio resulta esencial que los líderes se mantengan fuertes en la consecución de ese sueño y que, a la vez, contagien el proyecto a partners, clientes y miembros de la organización. El presente y futuro es para aquellas organizaciones capaces de desarrollar servicios, soluciones y productos que sean útiles, y hay que soñar para imaginarlos.

Ahora recuerdo una idea que nos trasmitió la Catedrática Nieves Rodríguez Brisaboa, el pasado noviembre, en la entrega de diplomas a los alumnos de la Escuela Superior de Informática de la Universidad de Castilla-La Mancha. Una idea que aclaraba el objetivo final de los informáticos, que nos explicaba Nieves que no es otro que ayudar a las personas a resolver sus problemas, mejorando sus vidas y la ejecución de sus tareas diarias. Para ello el soñador debe imaginar, visualizar, analizar y describir alternativas; apasionarse por ese deseo y por hacerlo realidad.

Podemos afirmar que el ser humano es una especie capaz de soñar con realidades inexistentes, de compartirlas y trabajar en ellas conjuntamente para que esos sueños sean mañana una realidad.

PON TODO TU CORAZÓN, TODA TU MENTE Y TODA TU ALMA EN TODO LO QUE HACES, PORQUE SÓLO ASÍ LOS SUEÑOS SERÁN UNA REALIDAD.