tag:blogger.com,1999:blog-90716186272941059782024-03-16T12:53:12.118-06:00INNBIT. La innovación nunca terminaINNBIT. La innovación nunca terminagusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.comBlogger22125tag:blogger.com,1999:blog-9071618627294105978.post-66636807445994746482017-09-03T18:30:00.001-05:002017-09-03T18:31:56.712-05:00Rust, un lenguaje de programación de sistemasDesde junio de 2017 tuve la oportunidad de contactar a la <a href="https://www.meetup.com/Rust-MX/" target="_blank">comunidad</a> de Rust en la Ciudad de México.<br />
Coincidió en el momento donde me tomé un pequeño tiempo para entender lenguajes como Haskell y Erlang.<br />
Rust es un lenguaje para programación de sistemas, tipo de programación que normalmente se hace en lenguaje C/C++ y haciendo llamadas al núcleo (kernel) del sistema operativo.<br />
A diferencia de C/C++, permite al programador a enfocarse a los problemas de la programación de sistemas y evita que se pierdan en temas como el manejo de apuntadores, memoria,<br />
<br />
La sintaxis de Rust es similar a C/C++, pero introduce nuevas características para que el programador pueda ir controlando el tiempo de vida de las variables y también definir tipos de datos.<br />
Rust tiene en su diseño todo lo necesario para el manejo de memoria, concurrencia.<br />
<br />
Rust no tiene un recolector de basura (garbage collector) y controla el manejo de la memoria a través de un concepto que se llama préstamo (borrowing)<br />
Rust también utiliza un sistema de tipos (inspirado en el lenguaje Haskell) y utiliza el concepto de tratos (traits) y maneja inferencia de tipos.<br />
Soporta conceptos de programación funcional tales como closures<br />
Para la programación concurrente, permite identificar muchos de los posibles errores a través del compilador, y que le llama fearless concurrency<br />
<br />
Para tener mayor detalle del lenguaje, la<a href="https://www.rust-lang.org/en-US/" target="_blank"> página Web de Rust</a> contiene bastante documentación y tutorialesgusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com3tag:blogger.com,1999:blog-9071618627294105978.post-63464297864987846682017-06-25T16:45:00.003-05:002017-06-25T16:45:52.775-05:00Programar y TI no se trata de hipstersCuriosamente, en estas últimas semanas me he topado con el concepto de que hay plataformas y lenguajes hipsters. Al principio pensé que era mas en términos de broma y analogía, pero muchos si lo toman en serio.<br />
Lo primero es que programar no se trata de poses ni tiene que ver con la "cultura contemporanea"<br />
La simple idea de programación y TI hipster me lleva solo a entender que la gente que dice eso, sólo están tratando de hacer como que programan y como que entienden y lo hace para su "startup" y se llena de muchos términos técnicos que no entienden y ni siquiera saben su orígen; pero que a muchos de ellos no les lleva a algún camino a largo plazo.<br />
Programar no es de millenials, ni de hipsters, ni de ninis, ni todas las definiciones que son tan usadas en las "redes sociales". Como que cualquier actividad humana y que se hace con el espíritu de crear, el hecho de programar es poner el ingenio de la persona para resolver un problema o mostrar un concepto o manipular información.<br />
Los lenguajes de programación, que los que se auto nombran hipsters de TI, creen que son el resultado de una revolución para el cambio. No es por ahí, obedece mas a una evolución mas que una revolución. Y por esto me dedico en esta entrada, a recordar como hemos llegado a esto.<br />
Cada generación cree que tiene un lenguaje de programación que de a verdad va a solucionar los problemas. En su momento, los que vivieron la aparición de Pascal así vieron reflejado el requerimiento de poder pensar de manera modular sus soluciones. Y llego C y muchos vieron que la necesidad de tener un lenguaje con un mínimo de sintaxis, alto desempeño y portable, y fue la respuestas para la programación de sistemas. Por varios años así fue, en revistas como Dr. Dobbs o Byte (cuando era una referencia digna de respetar), todos planteaban soluciones a diversos problemas. Solo que en esos tiempos, no se decían hippies o algo así.<br />
Vino después la ola de programación orientada a objetos, resultando en un C++ que de repente complicaba la sintaxis, mientras otros lenguajes como Smalltalk, Eiffel, Modula, Objective C llegaron a implantar el enfoque de manera elegante. Un resultado que conozco como la cumbre de ese enfoque, es la plataforma de NeXT que hoy ni esos llamados hipsters tienen en la mente, pero cuyas ideas las usan prácticamente todo el día en sus dispositivos inteligentes.<br />
La capacidad de los sistemas operativos para ayudar que los lenguajes de programación tuvieran la capacidad de cargar de manera dinámica bibliotecas de código fuente, abrió la pauta para tener módulos de software cambiantes y donde el polimorfismo se podía explotar al máximo. De ahí salieron las DLL ( en 16 o 32 bits y que son segmentos de código ejecutable) o los .so en plataformas UNIX.<br />
No basto esto, por que el modelo cliente-servidor ya ofrecía la promesa de dividir el procesamiento del código fuente de aplicaciones en por lo menos en dos computadoras. Al principio empezó con Llamadas a Procedimientos Remotos (RPC) y que aprovechó la empresa Sun Microsystems que hasta su eslogan era "la red es la computadora". Sin embargo, el mundo de los programadores orientados a objetos también quizo tener su enfoque de objetos distribuidos, y nació CORBA y DCOM; que hoy pocos se han de acordar, salvo los que los usaron en la práctica.<br />
En ese momento, era ya complicado el hacer labores de programación en lenguajes como C++. Y llegó en ese momento un lenguaje orientado a objetos que seguía la corriente de C pero mas simple en sintaxis que los primeros esfuerzos. Me refiero a Java, si aquel cuya versión alfa podía ser utilizado en 1995 y que de manera acelerada fue adoptado por una generación "joven" (si, en esos tiempos teníamos 25 a 35 años de edad los que empezamos dicha adopción) y en un abrir y cerrar de ojos, Java se utilizó para implantar con éxito lo que no se pudo con los antecesores. Mientras la gran parte de la comunidad de programadores estabamos ciegos en pensar todo con Java, afortunadamente lenguajes como Python o Ruby estaban dando pasos hacia lo que viene.<br />
Java aún sigue siendo uno de los más utilizados y que se enseñan en las Universidades. Al mismo tiempo, apareció un lenguaje cuya estabilidad dependía de la carrera por conquistar a los usuarios de Internet, me refiero a Javascript, y que por varios años no fue pensado como opción y del lado de Java o C# se prefería realizar la manipulación dinámica del HTML y engordar un poco más al servidor, de ahí marcos de trabajo como Struts hasta llegar al frankestein llamado JavaServerFaces.<br />
Con el fin de la carrera de los navegadores, JavaScript se vio beneficiado y tuvo estabilidad, al mismo tiempo que la implantación de HTML5 se hizo viable. Pero el estado era un modelo de arquitectura de servidor con componentes complicados (si, JEE me refiero a ti y a tus EJBs de entidad).<br />
Aún, los primeros intentos de aplicaciones móviles, estaban con este enfoque, aún recuerdo Java MicroEditon y sus midlets, y donde el poder de procesamiento de los dispositivos móviles era nada, frente a lo que hoy tenemos.<br />
Aunque Java se puso a dieta, gracias a los esfuerzos de la comunidad de Spring, el lenguaje se volvía cada vez menos intuitivo, presionado también por que C# lo supero. Java 5 tomo el concepto de Generalidad, anotaciones, pero ya no era lo mismo que en 1995.<br />
Llegó la era de XML como formato para lograr la interoperabilidad y como cualquier tecnología, tuvo sus abusos. Los "hipsters" de esos tiempos no avanzaban si no podían abrir una etiqueta (es broma). Se conjunto con SOA (mal entendido como WebServices)<br />
Mientras, Ruby on Rails mostró una buena lección a la comunidad Java (que algunos no la entendieron del todo bien y crearon Grails) y se mostró que un enfoque ligero es más poderoso que el estándar de J2EE. Agregar que Java cayó en las manos de Oracle.<br />
Llega 2011, y con ello ya suena el término de computación en la nube y las aplicaciones móviles cambien el enfoque ante la aparición de plataformas como iOS, Blackberry (RIP) y Android. Quedan obsoletos los planteamientos de plataformas de Java (y me refiero al Application Development Framework de Oracle), mientras que en un giro inesperado, Microsoft si reacciona y empieza a adoptar los principios de programación que la comunidad está fuertemente impulsando.<br />
Al mismo tiempo que los métodos ágiles son cada vez utilizados (y a veces mal utilizados) para enfocarse a tener soluciones de valor, le tecnología de hardware ayuda a que el software aproveche el poder de virtualización de procesamiento, almacenamiento y redes. El concepto de cliente-servidor, se puede llevar al máximo, y de hecho esa relación cliente-servidor, se vuelve par-a-par (P2P y no hablo de Napster). Pequeños componentes de código fuente se pueden asignar a una unidad (virtualizada) de procesamiento y con mínimos recursos, de hecho se generan imágenes mínimas o contenedores. Es lo que se le llama microservicios (algunos dicen que es la evolución de SOA, pero no es cierto).<br />
Agregado que hoy tenemos lenguajes con un enfoque menos complicado que Java o C#. Muchos de ellos influenciados por lenguajes funcionales (Haskell por ejemplo) ; o lenguajes como Go o Rust. Mientras tanto, Java 8 y superior siguen estando cada vez más complicados.<br />
¿Y hoy dicen que usar microservicios, nube, agilidad, lenguajes no tan conocidos es hipster? Es una equivocación.<br />
En el JavaOne del año 2001, Sun Microsystems anuncia JXTA, una plataforma P2P.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.openp2p.com/2001/04/25/graphics/layers.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.openp2p.com/2001/04/25/graphics/layers.jpg" data-original-height="337" data-original-width="450" height="239" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hace dos años, platicando con un amigo, le decía que si haciamos una revisióna lo que definió el equipo de Bill Joy, este modelo sirve tanto para microservicios e IoT. Ni siquiera existía el concepto de hipster.</div>
<div class="separator" style="clear: both; text-align: left;">
En conclusión, creo demuestro que decir que TI o programación es hipster, solo es una muestra de que la persona que lo dice le falta un poco de preparación y de experiencia (como dice Stallone, te hace falta mas box), y solo muestra que está ignorando el pasado. Si el lector de esta entrada, después de controlar el enojo que le estoy haciendo pasar, le recomiendo vaya a consultar libros de texto de Tannenbaum (como el de arquitectura de computadores, sistemas operativos, ambientes distribuidos) o libros de C, UNIX de los grandes, entre otros, donde desde ahí se hablan de muchas ideas que por fortuna la tecnología hoy ya nos habilita.</div>
<div class="separator" style="clear: both; text-align: left;">
Y si eres alguien que han querido impresionar con el termino hipster en TI, por favor, usa algo de lo que aquí expreso y trata de argumentar contra esa falacia. Hoy en día lo que necesitamos es que los que estamos en el ámbito de TI seamos serios y al mismo tiempo creativos y alejarnos de poses.</div>
<br />gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-20257297227714700442017-03-14T13:19:00.000-06:002017-03-24T16:55:19.972-06:00Aprovisionando ambientes AWS con Ansible<br />
<br />
<div style="text-align: justify;">
En recientes fechas se nos encomendó la misión de optimizar costos y el uso de recursos de Amazon Web Services utilizados para el despliegue y operación de aplicaciones de uno de los clientes principales de InnBit.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Esta reestructura fue vista como una oportunidad para implementar mejoras en la forma de trabajo con AWS que habíamos estado teniendo. Un punto muy particular es el aprovisionamiento de ambientes que implica lanzar una nueva instancia de EC2, actualizar paquetes, instalar dependencias, configurar el ambiente y desplegar la aplicación para dejar todo listo para que esté disponible para su uso.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Todos los pasos descritos con anterioridad son repetitivos y son propensos a ser automatizados por lo que se decidió incluir la herramienta Ansible para facilitar las tareas de aprovisionamiento y despliegue así como reducir posibles errores y el tiempo que se empleaba para poner a punto las aplicaciones.</div>
<div style="text-align: justify;">
<br /></div>
<h2 style="text-align: justify;">
Ansible</h2>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ansible es una herramienta de código abierto escrita en python para la automatización y orquestación de tareas </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
A diferencia de otras soluciones similares, no requiere la instalación de agentes remotos pues su funcionamiento es mediante la ejecución remota de comandos mediante mecanismos como ssh o Windows Remote Managment.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Los comandos son definidos en archivos de texto en formato YAML y permite realizar ejecuciones de comandos repetibles y distribuidas en varios nodos.</div>
<div style="text-align: justify;">
<br /></div>
<h2 style="text-align: justify;">
Caso de uso</h2>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Durante 2016 se desarrollaron aplicaciones que estuvieron en producción casi todo el año. Cuando concluyó este, dichas aplicaciones también terminaron su ciclo debido al fin por el cual fueron construidas. Aún así el cliente solicitó que se mantuvieran activas para fines demostrativos. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Por ciertas razones, en su momento se reservó una instancia EC2 con las siguientes características</div>
<div style="text-align: justify;">
</div>
<ul>
<li>Red Hat Enterprise Linux </li>
<li>Reservada hasta el 20 Junio de 2017</li>
<li>t2.medium</li>
</ul>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
De acuerdo a los datos de uso y pruebas, se estima que esta instancia sería capaz de manejar de 3 a 4 aplicaciones con baja demanda. De este modo se determinó que la instancia RHEL sería aprovechada para hospedar las aplicaciones con propósito demostrativo.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Para facilitar la configuración y puesta en marcha de varias aplicaciones en un mismo servidor se decidió generar imágenes docker con cada una de las aplicaciones. Estas imágenes serían almacenadas en el registro de contenedores de EC2 (EC2 Container Registry, ECS) donde estarían disponibles para la ejecución de contenedores.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Otro beneficio de utilizar docker es el redireccionamiento de bitácoras. Anteriormente, para revisar una bitácora era necesario ingresar al servidor y explorar los archivos mediante comandos de Linux para procesamiento de texto. Conforme se incrementa el número de servidores y la incorporación de servidores surge la necesidad de concentrar las bitácoras en un solo punto de modo que la detección de errores y solución de problemas sea más ágil.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Docker ofrece un controlador que permite captar la bitácoras generadas por las aplicaciones dentro de los contenedores y enviarlas al servicio CloudWatch el cual incorpora una funcionalidad para concentrar bitácoras y explorarlas.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Todo el proceso desde la instalación de dependencias hasta la ejecución de las aplicaciones en forma de contenedores fue definido mediante un proyecto Ansible quedando el panorama como se muestra en la imágen.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: center;">
<span id="docs-internal-guid-f04199d9-bab8-197d-23af-f56ca097c56b"><img height="244" src="https://lh5.googleusercontent.com/Q1QPpF7Ae3UXbBbpGcPc0B1jrhvyGhcL4-AjPqhro7UFIyvYIPgx3a1jqVwL9uD7uPVMuTq4esD_FLlLJqxjtlSkPnST8RTmptthBli-Mz7PnnAG9d3q21i0vY2wpZFXB7THyvppIA" width="640" /></span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<h2 style="text-align: justify;">
Proyecto Ansible</h2>
<div>
Para intentar mantener ordenado y simple el proyecto, se ha organizado de la siguiente manera.</div>
<div>
<br /></div>
<div style="text-align: center;">
<span id="docs-internal-guid-f04199a0-babe-d345-3fdb-ab5c4f1f0bb4"><img height="454px;" src="https://lh6.googleusercontent.com/PJ-Rwqt4SVhrInBj_bJk1UIAECbYnxgntos7RgiN6SwMTYFwLLeodh8rLNJgtZBTnGoLfYS_kHBhLaaiAEwnc2UzEEW4Aja1MIff05hhFYshi8fg-sytgVY6lPx1CGW0UBqQO-KpYQ" width="411px;" /></span></div>
<h3 style="text-align: justify;">
Inventario y Archivos de recursos</h3>
<div style="text-align: justify;">
El inventario es el archivo de nombre hosts, el cual contiene un grupo de servidores con la ubicación de la instancia RHEL en Amazon.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En la carpeta resources/yum se guardan definiciones de repositorios para instalar los paquetes nginx y docker de acuerdo a la documentación de ambos productos. La idea es que estos archivos sean copiados, utilizando Ansible, a la instancia remota en la ubicación adecuada.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En la carpeta resources/env se guardan archivos con las variables de ambiente requeridas por las aplicaciones. En este punto se pretende nuevamente copiar estos archivos de configuración al servidor y leerlos mediante docker al momento de lanzar los contenedores.</div>
<h3 style="text-align: justify;">
Playbooks</h3>
<div style="text-align: justify;">
Los playbooks son archivos en formato YAML donde se definen todos los comandos que serán ejecutados en el servidor.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Se separaron las tareas de instalación y configuración de acuerdo al paquete y/o aplicación para mantener compactos los archivos.</div>
<div style="text-align: justify;">
<br />
<b>nginx.playbook.yml</b>. Instalación típica de NGINX para RHEL, en este caso se utilizó ansible para copiar el archivo ./resources/yum/nginx.repo con la ubicación de paquetes actualizados para la instalación.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-gn71AY6_SxI/WMg7AUaBzoI/AAAAAAAAAI0/JAeUFvPxOOU6QaJPSoWMmJjju8Vz3KzgwCEw/s1600/Screenshot%2Bfrom%2B2017-03-14%2B12-22-55.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://1.bp.blogspot.com/-gn71AY6_SxI/WMg7AUaBzoI/AAAAAAAAAI0/JAeUFvPxOOU6QaJPSoWMmJjju8Vz3KzgwCEw/s640/Screenshot%2Bfrom%2B2017-03-14%2B12-22-55.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<b>awscli.playbook.yml</b>. Instalación de la linea de comandos de AWS. Este se utilizará para la interacción con EC2 Container Registry.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-x5lT-DZ3Bik/WMg5ID0fztI/AAAAAAAAAIg/3gJB-4SWW8A_L1IQmQKRMR0BjOPG0ycQACLcB/s1600/Screenshot%2Bfrom%2B2017-03-14%2B12-23-28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="134" src="https://1.bp.blogspot.com/-x5lT-DZ3Bik/WMg5ID0fztI/AAAAAAAAAIg/3gJB-4SWW8A_L1IQmQKRMR0BjOPG0ycQACLcB/s640/Screenshot%2Bfrom%2B2017-03-14%2B12-23-28.png" width="640" /></a></div>
<b><br /></b>
<b>docker.playbook.yml</b>. Instalación y configuración de Docker de acuerdo a la documentación oficial. De igual modo que el anterior, se actualizó la definición de repositorios mediante el archivo ./resources/yum/docker.repo que es copiado al servidor para posteriormente realizar las tareas de actualización de paquetes. Al final se genera el grupo docker y se define al usuario ec2-user como miembro de modo que pueda ejecutar comandos docker sin permisos de super usuario.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-p4GeR0dRzu4/WMg67V_uEfI/AAAAAAAAAIw/y27UO7uj6NQ0Hyzu1r3tkeLpndPZqKNtgCLcB/s1600/Screenshot%2Bfrom%2B2017-03-14%2B12-24-01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="528" src="https://2.bp.blogspot.com/-p4GeR0dRzu4/WMg67V_uEfI/AAAAAAAAAIw/y27UO7uj6NQ0Hyzu1r3tkeLpndPZqKNtgCLcB/s640/Screenshot%2Bfrom%2B2017-03-14%2B12-24-01.png" width="640" /></a></div>
<br />
<br />
<b>cop13.playbook.yml</b>. Ejecución de contenedor docker a partir de una imagen alojada en EC2 Container Registry. Esta imágen contiene una aplicación Ruby on Rails que será ejecutada en el puerto 3000 del contenedor. Mediante ansible, además de lanzar el contenedor, también se establece la correspondencia de puertos (3000:3000), el archivo con las variables de entorno requeridas y el redireccionamiento de bitácoras a CloudWatch.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/--NxBBdai0q4/WMg6p--iRTI/AAAAAAAAAIo/X44-ymXBzEsCRFAiWW0Cvx-ZbLTGT6tagCLcB/s1600/Screenshot%2Bfrom%2B2017-03-14%2B12-24-26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="362" src="https://2.bp.blogspot.com/--NxBBdai0q4/WMg6p--iRTI/AAAAAAAAAIo/X44-ymXBzEsCRFAiWW0Cvx-ZbLTGT6tagCLcB/s640/Screenshot%2Bfrom%2B2017-03-14%2B12-24-26.png" width="640" /></a></div>
<br />
<b>igf.playbook.yml</b>. Ejecución de un segundo contenedor docker a partir de otra imagen alojada en ECR. La ejecución del contenedor es similar al anterior con pequeñas diferencias como la imagen que se toma, el puerto del servidor que se redirecciona al contenedor (3100:3000), las variables de entorno y el destino de bitácoras dentro de CloudWatch.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-PtPV_0bbjc0/WMg6wgX8SDI/AAAAAAAAAIs/E1xvMbWZO_YCtZKNvXqOJBpY3YIBzOSAwCLcB/s1600/Screenshot%2Bfrom%2B2017-03-14%2B12-24-47.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="364" src="https://1.bp.blogspot.com/-PtPV_0bbjc0/WMg6wgX8SDI/AAAAAAAAAIs/E1xvMbWZO_YCtZKNvXqOJBpY3YIBzOSAwCLcB/s640/Screenshot%2Bfrom%2B2017-03-14%2B12-24-47.png" width="640" /></a></div>
<br />
<b>rhel-demo-server.playbook.yml</b>. Este archivo incluye referencias ordenadas a los demás archivos de modo que permite mantener la secuencia lógica con las cuales se van a ejecutar las instrucciones.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-fGZYryqt858/WMg73Vp_bRI/AAAAAAAAAI4/Vtn2w5iJEDoghAZepmbRpJjsgj-oUlxpACLcB/s1600/Screenshot%2Bfrom%2B2017-03-14%2B12-52-03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="94" src="https://4.bp.blogspot.com/-fGZYryqt858/WMg73Vp_bRI/AAAAAAAAAI4/Vtn2w5iJEDoghAZepmbRpJjsgj-oUlxpACLcB/s640/Screenshot%2Bfrom%2B2017-03-14%2B12-52-03.png" width="640" /></a></div>
</div>
<div style="text-align: justify;">
<h2>
Conclusiones</h2>
<br />
Al final los archivos de ansible permitieron la puesta en marcha de las aplicaciones partiendo de una instancia nueva de EC2. Como ventaja estos archivos permiten la replicación automatizada de este ambiente en nuevas y diferentes instancias.<br />
<br />
Estos scripts también son propensos de ser incluidos en un conducto de entrega y despliegue contínuo, pero será tema de otra entrada del blog.</div>
Anonymousnoreply@blogger.com025,, Via Magna, Bosque de las Palmas, Naucalpan de Juárez, Méx., Mexico19.4022047 -99.27504829999998-10.044645800000001 -140.58364229999998 48.849055199999995 -57.966454299999981tag:blogger.com,1999:blog-9071618627294105978.post-24473959292366264592017-01-15T04:07:00.002-06:002017-01-15T04:07:19.569-06:00Innbit en 2017 Pues ya estamos en el 2017, para muchos temido por las condiciones políticas, económicas y sociales.<br />
Pero no hay que parar el trabajo y seguir contribuyendo en una mejora continua en el día a día de las organizaciones.<br />
<br />
En 2016, Innbit tuvo experiencias muy gratas utilizando Lego Serious Play en conjunto con enfoques como Design Thinking, Arquitectura Empresarial, Administración de proyectos e Innovación.<br />
En el uso de arquitectura empresarial y TOGAF hemos ido más allá de lo teórico y hemos podido aterrizar para definir métodos para incorporar computación en la nube, aplicaciones móviles, ciencia de datos; pero con un principio fundamental; que cualquier adopción de estas tecnologías siempre estén alineadas al negocio.<br />
En el tema del desarrollo de soluciones móviles el modelo que nos ha servido es el uso de marcos de trabajo híbridos, tales como Ionic y backends basados en AWS, Bluemix con Ruby on Rails o Node.js. Nuestros tiempos de entrega han mejorado y han permitido cumplir con los requerimientos de negocio de nuestros clientes.<br />
En el contexto de computación cognitiva hemos implementado aplicaciones con los APIs de IBM Watson para poder clasificar el conocimiento de expertos en un dominio del conocimiento.<br />
Hemos logrado certificaciones en nubes como AWS, Bluemix y Azure.<br />
En el tema de Internet of Things, hemos utilizado Arduino y Raspberry Pi para un control inteligente del medio ambiente, captación de información e integración con diversos gadgets.<br />
<br />
En 2017 nuestro objetivo es continuar con la misión de utilizar tecnologías de información innovadoras con el fin de crear soluciones para obtener ventaja competitiva.<br />
¿ Cómo es que vamos a cumplir este objetivo?<br />
Primero, hemos definido cinco tipos de productos que ayudan desde el momento que la organización quiere adoptar la innovación como el motor para cambiar su modelo de negocio hasta poder operar y posicionar una solución innovadora.<br />
Estamos trabajando en formalizar los métodos para la adopción de tecnologías de nube, aplicaciones móviles, ciencia de datos y API Web; bajo un enfoque de arquitectura empresarial.<br />
Buscamos la aplicación en industrias del sector financiero, salud, diversión y servicios de consumo, para cubrir las necesidades de automatización de la cadena de valor.<br />
Seguimos adoptando los estándares del OpenGroup y sumaremos a TOGAF, Archimate; el estándar de IT4IT, con la finalidad de apoyar a las áreas de Tecnología de Información en implantar una cadena de valor que les permita adoptar el modelo de servicios y apoyándose de tecnología para proveer tecnología.<br />
<br />
Nuestra ruta del 2017 es:<br />
<br />
<ul>
<li>Enero. Lanzamiento de la nueva imagen de nuestro sitio Web con enfoque a explicar nuestros servicios</li>
<li>Febrero. Impartición de diversos talleres de habilitación en metodologías de PMP, TOGAF, IT4IT, IoT combinado con Lego Serious Play. <i><span style="font-size: x-small;">Aún hay lugares disponibles</span></i></li>
<li>Marzo. Publicación de nuestros métodos de transformación tecnológica utilizando el enfoque arquitectura empresarial.</li>
<li>Abril. Publicación de aplicaciones móviles de Innbit en iTunes y PlayStore</li>
<li>Mayo. Evento de innovación en nuestras instalaciones con el objetivo de identificar proyectos de emprendimiento</li>
<li>Junio y Julio. Eventos tipo hackaton para desarrollo de soluciones basadas en nube, aplicaciones móviles, ciencia de datos, IoT</li>
<li>Agosto. Lanzamiento de nuestro cuarto de innovación, un lugar donde demostraremos la combinación de IoT, nube, ciencia de datos, redes sociales </li>
<li>Septiembre. Segundo evento de innovación en nuestras instalaciones</li>
<li>Octubre. Lanzamiento de reclutamiento para la primera generación de becarios Innbit</li>
<li>Noviembre. Lanzamiento de productos de innovación de Innbit</li>
</ul>
<br />
En la historia de Innbit nos hemos dado cuenta que nuestro modelo de innovación consiste en tomar necesidades o problemas que aparecen en las organizaciones que quieren utilizar la tecnología de información para solventar problemas de negocio pero dando un enfoque hacia el resultado. Esto nos ha llevado a combinar conceptos que al principio parecían dispares.<br />
Tenemos en este 2017 en seguir ese enfoque de innovación pero hacia llegar ya a los sectores de la industria mexicana y explorar nuevos modelos de negocio. Parte del desafío es que en México logremos generar una industria para ofrecer trabajo a los mexicanos y disminuir la dependencia de la inversión extranjera.<br />
<br />gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-70625750450564877482016-12-30T14:55:00.000-06:002016-12-30T14:55:17.640-06:00La odisea de certificarse en Bluemix<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Pues para rematar un año que la he pasado de nube en nube, me propuse como última batalla épica del año completar una certificación relacionada con la plataforma PaaS de IBM conocida con el nombre de Bluemix.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bluemix es un servicio que proporciona una plataforma para el despliegue de aplicaciones construidas en diferentes tecnologías (Java, Node.js, Ruby, Go, etc). </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Además cuenta con un amplio catálogo de servicios administrados que pueden ser facilmente vinculados a las aplicaciones. De estos servicios se pueden mencionar bases de datos, almacenamiento de objetos, cómputo cognitivo, monitoreo, repositorios de código, despliegue contínuo, contenedores docker, mensajería, entre muchos otros. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bluemix está pensada en ser una oferta de servicios de nube a nivel plataforma (PaaS), es decir facilita la puesta en marcha de aplicaciones y consumo de servicios sin la necesidad de entrar en lios a nivel de infraestructura. Además se basa en proyectos conocidos en la comunidad de desarrollo como Cloud Foundry y Docker además de utilizar un enfoque de microservicios accesibles via REST / HTTP.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Durante algunos proyectos en el año y un pequeño acercamiento con gente de IBM se tuvo la oportunidad ganar experiencia en esta plataforma y dado que parece una navaja suiza que ofrece todo lo necesario a un desarrollador que quiere enfocarse en la construcción de la solución decidí completar alguna certificación en esta plataforma tratando de narrar el proceso de la forma más pseudo-épica posible (dados mis vagos conocimientos Homerísticos).</div>
<div style="text-align: justify;">
<br /></div>
<h2 style="text-align: justify;">
Saliendo de Ítaca</h2>
<div style="text-align: justify;">
El punto de partida fue encontrar algún examen dentro de la oferta de IBM relacionado con los temas de Bluemix lo que me llevó al examen <a href="https://www-03.ibm.com/certify/certs/50001601.shtml" target="_blank">C5050-285 - IBM Cloud Platform Application Development v1</a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Los objetivos del examen son algo extensos pero se pueden resumir en:</div>
<br />
<ul>
<li style="text-align: justify;">Organizaciones, Espacios, Usuarios, Dominios y demás lios de acceso a la plataforma</li>
<li style="text-align: justify;">Generalidades de la plataforma CloudFoundry y el despliegue de aplicaciones</li>
<li style="text-align: justify;">Servicios de datos ofrecidos, haciendo énfasis en Cloudant</li>
<li style="text-align: justify;">Servicio de contenedores basado en Docker</li>
<li style="text-align: justify;">Servicio de mensajería basado en Apache Kafka</li>
<li style="text-align: justify;">Generalidades de Alchemy API</li>
<li style="text-align: justify;">Servicios de DevOps como son el repositorio de código, delivery pipeline, track and plan</li>
</ul>
<div style="text-align: justify;">
Una vez fijado el objetivo y viendo que había mucho que estudiar comenzó mi búsqueda de material.</div>
<div style="text-align: justify;">
<br /></div>
<br />
<h2 style="text-align: justify;">
Consultando al oráculo</h2>
<div style="text-align: justify;">
Dado que en el momento de embarcarme en esta empresa no tenía educación más o menos formal de temas de Bluemix, más allá de desplegar aplicaciones y habilitar algunos servicios, decidí buscar algún curso en línea que sirviera de inducción a los variados temas y me diera mejores armas para afrontar el examen. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Mi punto de partida fue el curso de udemy <a href="https://www.udemy.com/ibm-bluemix/learn/v4/overview" target="_blank">IBM Bluemix Application Development & Certification</a>, el cual abarca casi la totalidad de los temas además de incluir demostraciones, trivias y examenes muestra. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Me tomó alrededor de dos meses completar los temas dedicándole de 2 a 3 horas regularmente, e incluso al finalizar el curso tuve que regresar a repasar los temas iniciales. Varios de las demostraciones me sirvieron de práctica al recrearlas paso a paso y los examenes muestra finales me sirvieron mucho de calentamiento.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Una vez que completé el curso leei <a href="http://www-03.ibm.com/certify/content/studyguides/study_guide_C5050_285.pdf" target="_blank">la guía de estudio</a> publicada por IBM, la cual es un muy buen resumen de todos los temas. Además al final de la misma contiene unos códigos de descuento para la evaluación preeliminar y el exámen.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Dentro de los recursos de estudio ofrecidos por IBM también se cuenta con un documento con <a href="http://public.dhe.ibm.com/partnerworld/pub/certify/samC5020-285.pdf" target="_blank">preguntas muestra</a> disponible de manera gratuita. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Un último recurso que ocupé fue el examen muestra en linea, disponible en el portal de Pearson Vue, con el titulo A5050-285 Assessment: IBM Cloud Platform Application Development v1. Esta evaluación consiste en 48 preguntas y al final da un reporte similar al del examen real.</div>
<div style="text-align: justify;">
<br /></div>
<div>
</div>
<br />
<h2 style="text-align: justify;">
Gorgonas, sirenas y otros mounstuos</h2>
<div style="text-align: justify;">
Además del estudio de la teoría sin duda fue fundamental la práctica que tuve tanto en las peticiones para clientes como en pequeños ejercicios de auto estudio que podrían ser resumidas en lo siguiente.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Debido a proyectos</div>
<div>
<ul>
<li style="text-align: justify;">Despliegue de una aplicación node.js</li>
<ul>
<li style="text-align: justify;">Vinculada a servicios Watson</li>
<li style="text-align: justify;">Vinculada a una base de datos Cloudant</li>
<li style="text-align: justify;">Almacenada en el repositorio JazzHub</li>
<li style="text-align: justify;">Desplegada mediante Delivery Pipeline</li>
</ul>
<li style="text-align: justify;">Despliegue de una aplicación web ruby on rails</li>
<ul>
<li style="text-align: justify;">Vinculada a una base de datos Postgresql</li>
<li style="text-align: justify;">Vinculada a un contenedor de ObjectStorage</li>
<li style="text-align: justify;">Configurada en alta disponibilidad con un balanceador de carga</li>
<li style="text-align: justify;">Vinculada a una instancia de Redis</li>
<li style="text-align: justify;">Desplegada con un buildpack específico</li>
</ul>
<li style="text-align: justify;">Despliegue de un worker ruby on rails</li>
<ul>
<li style="text-align: justify;">Vinculada a una base de datos Postgresl</li>
<li style="text-align: justify;">Vinculada a una instancia de Redis</li>
<li style="text-align: justify;">Desplegada con un buildpack específico</li>
</ul>
</ul>
<div style="text-align: justify;">
Ejercicio de autoestudio</div>
</div>
<div>
<ul>
<li style="text-align: justify;">Instalar Docker localmente y realizar los <a href="https://docs.docker.com/engine/getstarted/" target="_blank">tutoriales básicos</a> </li>
<li style="text-align: justify;">Construcción una imagen Docker y publicación en Bluemix</li>
<li style="text-align: justify;">Prueba de concepto de publicación y consumo de mensajes en Message Hub (Kafka)</li>
<li style="text-align: justify;">Recordar conceptos de Scrum y experimentar como encajan en Track and Plan</li>
<li style="text-align: justify;">Leer teoría de las aplicaciones de <a href="https://12factor.net/" target="_blank">12 Factores</a></li>
</ul>
</div>
<h2 style="text-align: justify;">
Conquistando Troya</h2>
<div style="text-align: justify;">
El día pactado para el examen fue el 29 de diciembre del 2016 y la cita fue en el centro de certificación de casa (aprovechando que solo hay que subir un piso). </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El examen contiene 48 preguntas a realizar en 90 minutos con un mínimo de 32 aciertos para acreditarlo (66%). Había preguntas de casi todos los temas, aunque las más recurrentes tenían que ver con temas de despliegue en CloudFoundry, autoescalamiento, monitoreo y Cloudant. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
La mayoría de las preguntas eran distintas a las realizadas en los examenes de prueba pero en su mayoría temas que se habían estudiado. Muchas preguntas planteaban situaciones prácticas que requerían un poco de razonamiento detenido y algunas más solo teniendo experiencia práctica era posible responder.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Al final el examen me pareció un buen reto y un poco más duro de lo que esperaba pero el estudio y la práctica me permitieron acreditarlo exitosamente al final. Además, más allá del resultado, me quedo con una visión más amplia de esta propuesta de IBM y mucho conocimiento nuevo en temas como Docker, Kafka y Cloud en general.</div>
<br />
<br />
<br />
<br />Anonymousnoreply@blogger.com0Via Magna 25, Bosque de las Palmas, 52787 Naucalpan de Juárez, Méx., Mexico19.4018579 -99.27630620000002219.401799399999998 -99.276385200000021 19.4019164 -99.276227200000022tag:blogger.com,1999:blog-9071618627294105978.post-62982458067170347122016-12-30T02:11:00.000-06:002016-12-30T02:14:28.403-06:00Cerrando 2016 y esperando 2017<div class="" data-block="true" data-editor="98eht" data-offset-key="39f5d-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<div class="_1mf _1mj" data-offset-key="39f5d-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="39f5d-0-0" style="font-family: inherit;">Llego fin de 2016, y se reinicia una vez más el ciclo y empiezan los propósitos de año nuevo. </span></div>
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="3rjeo-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="909l-0-0" style="color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<div class="_1mf _1mj" data-offset-key="909l-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="909l-0-0" style="font-family: inherit;"><span style="background-color: white;">En </span><span style="background-color: rgba(88, 144, 255, 0.14902);">Innbit </span></span><span data-offset-key="909l-2-0" style="background-color: white; font-family: inherit;">creemos firmemente que para lograr un cambio o una innovación; el factor principal son las personas. </span></div>
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="dq89f-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="bt78a-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<div class="_1mf _1mj" data-offset-key="bt78a-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="bt78a-0-0" style="font-family: inherit;">Hemos recorrido en este 2016 un camino interesante, donde internamente estamos buscando modelos de negocio en los cuales no estamos buscando clientes, si no socios y queremos trabajar para hacer un mundo mejor pero al mismo tiempo los que colaboremos obtengamos un beneficio económico y que sirva para dar viabilidad a nuestro modelo de vida.</span></div>
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="15rfj-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="5lrfa-0-0" style="color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<div class="_1mf _1mj" data-offset-key="5lrfa-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="5lrfa-1-0" style="font-family: inherit;"><span style="background-color: rgba(88, 144, 255, 0.14902);">Innbit </span><span style="background-color: white;">es una empresa y con una misión enfocada a que se logre innovación a través de tecnología pero tratando de no recurrir a los modelos tradicionales de negocio y gestión. </span></span></div>
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="cekld-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="6h7vn-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<div class="_1mf _1mj" data-offset-key="6h7vn-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="6h7vn-0-0" style="font-family: inherit;">En 2017, nuestro foco será seguir fortaleciendo nuestras habilidades técnicas para ofrecer una solución tecnológica de valor pero impulsando ante todo las personas. </span></div>
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="96gu9-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<div class="_1mf _1mj" data-offset-key="7in9k-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="7in9k-0-0" style="font-family: inherit;">El valor de </span><span class="_5u8n" data-offset-key="7in9k-1-0" spellcheck="false" style="background-color: rgba(88 , 144 , 255 , 0.14902); border-bottom: 1px solid rgba(88 , 144 , 255 , 0.298039); font-family: inherit;"><span data-offset-key="7in9k-1-0" style="font-family: inherit;"><span data-text="true" style="font-family: inherit;">Innbit t</span></span></span><span data-offset-key="7in9k-2-0" style="font-family: inherit;"> es su equipo de trabajo; con una ética de trabajo para hacer el trabajo bien.</span></div>
<div class="_1mf _1mj" data-offset-key="7in9k-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="7in9k-2-0" style="font-family: inherit;"><br /></span></div>
<div class="_1mf _1mj" data-offset-key="7in9k-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="7in9k-2-0" style="font-family: inherit;">Queremos ser nosotros mismos ejemplo de una empresa que de manera sana desafié los paradigmas tradicionales y cultura de gestión de negocio ; y ayudar a otros grupos de trabajo a recorrer este mismo desafío. Curiosamente, en este momento de Innbit estamos en la fase donde lo tradicional y nuevo están chocando pero confío que van a poder convivir y mostrar ambos enfoques su razón de ser.</span></div>
<div class="_1mf _1mj" data-offset-key="7in9k-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="7in9k-2-0" style="font-family: inherit;"><br /></span></div>
<div class="_1mf _1mj" data-offset-key="7in9k-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="7in9k-2-0" style="font-family: inherit;">El año 2017 parece ser un momento donde hay grupos de personas que quieren cada vez cerrar y seguir atados a conceptos tan arcaicos como nación, religión, fronteras y va a existir una presión fuerte que obligue a muchos a tomar una actitud de ver por el bien personal y no el común.</span></div>
Navegar contra la corriente es difícil pero es el momento de luchar por que empecemos a lograr un cambio, donde la gente deje de pensar que llevar una empresa es gritar, amenazar, castigar, correr. </div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<span style="letter-spacing: -0.24px;">México necesita hoy mas que nunca que se despierte el espíritu que siempre ha tenido pero que ha sido contenido por crisis económicas y sociales y obligan a que la única opción es hacer lo que todos los demás.</span></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<span style="letter-spacing: -0.24px;">Perdamos miedo a no hacer una idea; aprendamos a darle la seriedad para darle una vialidad económica y a colaborar como personas para ayudar a contribuir a la riqueza de nuestra nación.</span></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<span style="letter-spacing: -0.24px;">Tenemos que luchar contra el día a día, gente violenta en el tráfico, maleantes sin control, un gobierno con políticas para seguir alineando a los ciudadanos para que no piensen ni tengan crecimiento económico y social, una parte del Mundo que quiere dividir en lugar de colaborar. </span></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<br /></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
Tengo muchos sentimientos encontrados sobre lo que fue 2016 y lo que depara en 2017 y 2018. De repente temores relacionados con la inercia de los humanos y su "natural" manera de ir con la corriente y no querer cambiar; miedo de volverme a enfrentarme a la maldad humana que de repente es común día a día al momento de ir a trabajar o por vivir en una ciudad o que tanto caos de repente te trunque todo. O que la situación económica orille a los típicos recortes y ser juzgado por las frías finanzas.</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<span style="letter-spacing: -0.24px;">Pero también alimento la esperanza de seguir adelante, por que también me he encontrado con ejemplos de personas o grupos que quieren hacer su trabajo bien.</span></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<span style="letter-spacing: -0.24px;">Me queda decir Feliz Año 2017, como millones de humanos están haciendo en estas épocas; pero más allá es desear que continúen en esta Vida con la meta a lograr felicidad, a cumplir sueños, seguir aprendiendo de sus seres queridos y tener mucha paciencia de los humanos por que la verdad no sabemos lo que hacemos.</span></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<br /></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
Le pido que no pierdan la fe ; aunque el bosque de repente se vea complicado, lo que he aprendido en mis 45 años de vida es que cuando actúas bien tarde o temprano tendrás una sorpresa que va a sumar a tu Felicidad</div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<br /></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<br /></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<br /></div>
<div class="" data-block="true" data-editor="98eht" data-offset-key="7in9k-0-0" style="background-color: white; color: #1d2129; font-family: 'San Francisco', -apple-system, BlinkMacSystemFont, '.SFNSText-Regular', sans-serif; font-size: 14px; font-variant-ligatures: normal; letter-spacing: -0.24px; orphans: 2; white-space: pre-wrap; widows: 2;">
<br /></div>
gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-24428848781303658832016-10-31T20:22:00.000-06:002016-10-31T20:26:40.468-06:00La importancia de seguir soñando<blockquote class="tr_bq">
ALL THIS IS A DREAM. Still examine it by a few experiments. Nothing is too wonderful to be true, if it be consistent with the laws of nature - Michael Faraday </blockquote>
<br />
<div style="text-align: justify;">
Vivimos en un mundo donde por un lado se nos exhorta a soñar desde pequeños, abordar pensamientos que lleguen a nuestra cabeza, tener una mente creativa, despierta, cuestionar todo a nuestro alrededor, apasionarnos, contemplar, pensar fuera de la caja, atrevernos a ir por más y no conformarnos hasta llegar a una conclusión. Por otro lado en un mundo muy práctico donde todo lo no funcional tiende a desecharse, todo se espera de forma inmediata, tenemos miedo al cambio, queremos soluciones confiables, con un resultado predecible, donde si tu pensamiento parece que no lleva a nada útil es mejor dejar de invertir tiempo en él, donde se espera una aceptación y en gran parte resignación a un estado actual. Soñar se liga a un tipo de gente, un tipo de profesión, generalmente involucrada al arte o ciencia, gente que se sacrifica por ese sueño, visto como una causa perdida, con un empleo mal pagado y pocas oportunidades, dejando a otros profesionistas tareas prácticas, repetitivas y funcionales.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Soñar se ve como un defecto y una virtud, se condena a la gente que pasa su tiempo soñando, por no aceptar su realidad presente y actuar conforme a lo más lógico o inmediato, pero al mismo tiempo se enaltece al que nunca se rindió hasta conseguir su sueño, podría decirse que todo el juicio recae en si conseguiste tu objetivo.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
La ingeniería es un ejemplo perfecto donde podemos ver esta dualidad de pensamiento convivir todo el tiempo. Debido a su naturaleza tanto creativa, como práctica.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
El objetivo de la ingeniería es dar soluciones, ya sea mediante un programa, un circuito, una máquina o un sistema, lo que se requiere es resolver un problema. El modelo económico en el que vivimos nos obliga a que dichas soluciones sean inmediatas, pero al mismo tiempo "perfectas", es decir seguras, robustas, probadas, funcionales, vendibles. Lo que lleva a que el ingeniero en el mayor de los casos tome un papel de implementador, ya que entre mayor creación de soluciones propias, existirá mayor tiempo de
desarrollo y mayor riesgo de errores durante el despliegue de la
solución. Siempre existe cierto código o circuito que se tiene que realizar a la medida para armar dichas soluciones, pero es lógico implementar soluciones ya hechas debido al nulo valor agregado que implica crearlas desde cero todo el tiempo.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Innovar, crear algo de valor e implementarlo, es difícil, es tardado, es fracasar todas las veces, hasta que lo logras, es un proceso de
investigación y desarrollo bastante tardado que
en el mejor de los casos llega a una solución imperfecta. Por lo que la inversión en estos proyectos es poco común y donde se ha vuelto un lujo el poder participar. Sin embargo es un proceso necesario, que si es llevado de buena forma puede ser redituable.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Es lógico que una empresa dedicada a la innovación requiere un
flujo de productos rápido, vivimos en un mundo capitalista con inversión
privada y debemos dar respuestas a dicha inversión. Por lo que existen
ciertas herramientas que nos ayudan a crear productos nuevos de forma
más ágil y confiable que esperar a que nos llegue inspiración. Como el caso de
Design Thinking y la implementación de metodologías como lean startup
para la creación de nuevos productos. Sin embardo, estas herramientas no nos ayudan a eliminar problemas referentes al estado de la solución, como
su susceptibilidad a fallas o diseños poco perfeccionados, problemas que solo
serán eliminados al ir puliendo el producto con el tiempo. Es decir, una
empresa dedicada a crear, jamas tendrá un producto tan pulido como una
empresa dedicada a la implementación y competir con estas empresas generará que tengas una solución más cara, más tardada y más susceptible a fallas.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Debido a estos desafíos es necesario que las empresas en estas ramas tengan distintas fuentes de ingresos. Cuando el cliente tiene un problema especifico que se desea solucionar, se debe evitar crear soluciones nuevas por lo mencionado previamente, es mejor impartir procesos que ayuden a crear innovación, examinar el problema y enfocar la solución en cambiar la estrategia, perspectiva y la forma en la que se atacaba
el problema, buscar los problemas raíz, crear soluciones con sistemas ya desarrollados, enfocándonos en su lógica, intercomunicación y arquitectura. En el caso de crear soluciones propias es necesario tener un ciclo, donde existan productos
maduros para su implementación y a la par se debe tener un equipo
encargado en crear nuevos productos, los cuales pasaran por una serie
de pruebas antes de volverse productos maduros y puedan ser
implementados.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Los ciclos de creación de soluciones o productos nuevos puede seguir la metodología lean startup y herramientas como Business Model Canvas, lo que nos genera visibilidad en el estado del producto, necesidad que cubre, mercado que ataca, costo de producción y flexibilidad para cambiar y crear una solución con la mayor posibilidad de éxito en el mercado a través de sus iteraciones.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Estas metodologías son utilizadas en empresas como Samsung para crear sus productos nuevos y aseguran una innovación y liberación de productos constante y hasta cierto punto de forma segura (<strike>como el caso del Galaxy Note 7</strike>). Sin embargo este proceso de innovación tiene una limitante en lo que puede lograr. Este proceso necesita saber cual es tu objetivo, que es lo que deseas solucionar y que herramientas y soluciones utilizaras para ello, es decir es el resultado de la implementación de sistemas y bloques de solución ya hechos, con un problema que sabes que puede ser resuelto. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Uno de los principales problemas que existen con la gente creativa es cuando les preguntan por la funcionalidad de su proyecto. ¿cómo se puede utilizar lo que estas realizando? ¿cuanto cuesta? ¿Que planeas lograr con eso? Una respuesta muy habitual es "no se" lo cual es considerado como algo malo, algo que genera demasiado riesgo invertir, que no ha sido investigado, ni validado. Lo cual es cierto, pero realmente no es una respuesta incorrecta. Muchas veces cuando no se tiene un problema tan especifico a solucionar o todavía no existen herramientas y productos que faciliten su creación quiere decir que es una linea de investigación bastante nueva, que todavía no esta lo suficientemente entendida para saber como aplicarla, con preguntas realmente valiosas que generan un verdadero avance en nuestra sociedad. Los experimentos de Faraday nunca tuvieron la intención de convertirse en la base para las telecomunicaciones modernas, simplemente vio un patrón entre la luz, electricidad y magnetismo. Einstein nunca pensó en vender sistemas de navegación a la gente, su objetivo era resolver huecos que tenia la ley de gravedad tradicional. Cuando un pensamiento llega a tu cabeza y tienes la capacidad de crear o de entender algo, la satisfacción de entenderlo es tu único móvil y eso puede ser difícil de entender si se piensa ganar dinero a través de la innovación, pero son las ideas que más innovación generan a largo plazo.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Implementar soluciones no es menos importante que crear. Para poder implementar se debe perfeccionar, se debe tener soluciones confiables. Podemos ver todo el conocimiento por descubrir como una cueva oscura, soñar y crear es ir iluminando la cueva, perfeccionar es mantener el fuego. Sin iluminar más partes de la cueva nos quedaremos con un espacio limitado y no existirá ningún progreso, pero si solo se dedica a iluminar, se perderá todo lo explorado previamente. De igual forma si solo nos dedicamos a soñar y crear estaremos limitados por la propia fiabilidad de nuestras herramientas, lo que conlleva irónicamente a un avance más lento.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Una empresa de innovación se encuentra en la mitad del espectro, debido a la competencia no puede centrarse en implementar una única solución, pero puede implementar soluciones rápidas, robustas, con productos y soluciones ya creadas que generen un flujo continuo de capital. No puede darse el lujo de frenarse en investigaciones que no lleguen a soluciones aplicables a corto plazo, debe crear soluciones nuevas producto de desarrollo continuo. Pero en forma paralela a estos dos frentes, debe darse la oportunidad de soñar, de crear sin ninguna objetivo, ni justificación aparente más que por pasión. Lo que puede llevar a algo tangible y aplicable o solo al desarrollo creativo de la persona.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Soñar y crear no es especifico para científicos, artistas, ni ingenieros, el
proceso creativo es natural en el ser humano y debe ser explotado por
todos, existen pocas sensaciones comparables a lograr comprender algo,
lo cual he sentido desde crear la arquitectura de un proyecto en mi
cabeza, armar un circuito y verlo funcionando por primera vez, entender
un concepto físico, poder aplicarlo aunque solo sea teóricamente o escuchar una pieza de música, contemplar una pintura u observar una obra de teatro y entender y sentir su mensaje. Cualquier persona
tiene que permitirse soñar, preguntarse cosas y situaciones sin una
respuesta inmediata o aparente, dejarse maravillar, llegar a su barrera de conocimiento y percepción y decir "no se" "no lo entiendo" y sentirse bien en no saberlo, no sentirse insignificantes, si no maravillarse con todo lo que puede ser logrado, todo lo que su mente puede llegar a crear, a comprender y contemplar, simplemente al dejar su mente llevarse, sin ninguna atadura, ni objetivo alguno. Al igual que soñar no depende de ciertas profesiones, todos
realizamos arte, ciencia o ingeniería en nuestra vida cotidiana y no debemos sentirnos abrumados o incapaces de hacerlo, para mi la ciencia es un
método para buscar la
verdad, el arte una forma de expresar y darle un sentido particular a
algún objeto, proceso o concepto, la ingeniería una forma de resolver problemas, eso no nos hace artistas, científicos o ingenieros, pero nos permite a todos soñar, comprender y crear.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Soñar te inspira a entrar a lo desconocido, a crear, a
descubrir, a un proceso que conlleva mucho tiempo, experimentación,
fracasos, soluciones imperfectas, caminos sin salida, soluciones
inútiles o teóricas. Pero también nos lleva a maravillarnos, a ponernos la
piel china al ver posibilidades hasta ese momento ocultas, armar un rompecabezas mental
que de pronto tiene lógica. Es dejarte llevar por tu musa y observar lo que tiene que
decirte, a veces con un objetivo claro, a veces simplemente para asombrarnos. Soñar es trascender de lo funcional e inmediato, es ser un espectador que poco a poco ve un panorama completo. Es investigar, entender, expresar, contemplar y maravillarse. Es superarnos, nos lleva a materializar
pensamientos, construir paso a paso
todo lo que será, entender concepto por concepto todo
lo que es. Soñar nos impulsa, nos da un motivo como seres humanos, un legado, nos hace conectarnos con algo mas grande, es la ultima forma de unir tu individualidad, tu pensamiento único, con lo universal, la verdad, con el cosmos.</div>
<div style="text-align: justify;">
<br /></div>
<br />Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-61151454854628473352016-10-31T15:09:00.000-06:002016-10-31T15:09:14.147-06:00La mejor empresa: Todos para uno y uno para todos.Sin duda se trata de una frase muy famosa, la cual creo que todos los que tengamos arriba de 25-27 años la podremos reconocer.<br />
<br />
¿Pero esto a qué viene?<br />
<br />
Me gustaría aterrizarlo en el ámbito empresarial, ¿sector? el que se nos venga a la mente, para este temática no existe alguno en particular. Día con día las empresas se trazan nuevas metas, nuevos proyectos, mejores prácticas y protocolos más eficientes y gracias a la tecnología, todo lo anterior lo podemos hacer mucho más eficiente; pero realmente tu empresa posee lo necesario, se allega o hace lo necesario para poder lograr un cambio significativo y comenzar a fungir como un líder dentro de su sector?... ¿Qué significa C A M B I A R para tu empresa?<br />
<br />
Hagamos una reflexión brevemente, muchas empresas se olvidan del factor humano y una empresa está constituida por un grupo de personas que deben de tener "el chip" correcto y bien fijado para trabajar y sumar esfuerzos en función de lograr un objetivo en común; para esto, es necesario establecer una Analítica Organizacional que determine correctamente las funciones que deben desempeñarse, los perfiles adecuados, gente que esté realmente motivada y comprometida con el trabajo.<br />
<br />
Siempre he creído y ahora estoy plenamente seguro, que una persona puede dar su máximo cuando realmente su intelecto se ve desafiado, siempre lo he dicho, es mejor buscar "la manera de cómo sí hacer las cosas" en lugar de cómo no hacerlas, ese rubro siempre estará saturado, créeme... Esta es la única forma de evitar el conformismo y de verdad es triste no saber y nunca descubrir cuáles son las capacidades máximas que tiene un ser humano.<br />
<br />
Cuando un grupo de personas es:<br />
<br />
* Objetivo<br />
* Honesto<br />
* Ambicioso con su desempeño<br />
* Comprometido<br />
* Creativo<br />
* Organizado<br />
<br />
Su desempeño comienza a solidificarse y robustecerse y ¿Adivinen qué logramos? Si tu respuesta es impulsar a las empresas, pues estás en lo correcto, entonces aquí es donde viene la parte interesante, comenzarán a surgir de este modo tres tipos de empresas, 1) las empresas líderes, 2) empresas que copian lo que hacen las empresas líderes y por último, 3) las empresas que no hacen nada, creen que hacen mucho y ¿Qué tipo de empresa quieres que sea la tuya?<br />
<br />
A modo de resumen, la empresa la conforman las personas y las personas unidas y bien encaminadas, son las que impulsan a las empresas. El apoyo, la sinergia de equipo, el desafío al intelecto de los empleados es necesario para lograr cambios para bien, cambios sustantivos, cambios retadores en este mundo tan vertiginoso, cambiante y exigente; entonces volvamos un poco al inicio y seamos creadores de nuestro propio futuro:<br />
<br />
¿Qué significa C A M B I A R para tu empresa?<br />
<br />
<br />Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-38660556357912461962016-10-24T14:42:00.005-05:002016-10-24T14:42:56.187-05:00Manufactura como servicio (MaaS) e Industria 4.0<div style="margin-bottom: 6px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Manufactura como Servicio (MaaS) va abrir la posibilidad de producir de manera específica y de acuerdo a un diseño que quiera un cliente.</span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Por ejemplo, yo quiero un juguete de Star Wars y utilizando una aplicación móvil configuro su apariencia, sus colores, su arma.</span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"> La empresa que me vende, contrata un servicio de Manufactura y le envía el diseño a la fábrica remota para que sea construida la figura.</span></div>
<div style="margin-bottom: 6px; margin-top: 6px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Este modelo va a permitir que el foco de la manufactura sea el diseño más que manten<span class="text_exposed_show" style="display: inline;">er lineas de ensamblado y va a permitir que una idea sea "industrializada" en muy poco tiempo y sin tener que invertir capital para establecer una fábrica. Combinado con servicios de logística, en menos de una semana el cliente puede tener su figura en casa.</span></span></div>
<div class="text_exposed_show" style="display: inline;">
<div style="background-color: white; color: #1d2129; margin-bottom: 6px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Los habilitadores son impresión 3D, software CAD-CAM como Solid Works, nube e IoT.</span></div>
<div style="background-color: white; color: #1d2129; margin-bottom: 6px; margin-top: 6px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Esto se conoce como Industry 4.0, donde la robótica que se concebía para la linea de ensamblado, ya tiene inteligencia y colaboran entre ellos</span></div>
<div style="font-family: inherit;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvlOJnIMeWi1EDbqh_0xKPKnXBLP6iKbkGab49L5aYvxgSGUtaQbAFAD1WXMrPBUmA_2RCtZzPY0JxLldCMS1WP65kVEqSYWhS380m5twucrpMO4-tpIAgnornBkCbG1bJLzQ2EFjGnco/s1600/industry4_0.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvlOJnIMeWi1EDbqh_0xKPKnXBLP6iKbkGab49L5aYvxgSGUtaQbAFAD1WXMrPBUmA_2RCtZzPY0JxLldCMS1WP65kVEqSYWhS380m5twucrpMO4-tpIAgnornBkCbG1bJLzQ2EFjGnco/s320/industry4_0.jpeg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; font-size: 14px; text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; text-align: start;"><span style="font-size: large;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; text-align: start;"><b><u><span style="font-size: large;">¿Y por qué no ? Convertir a México el líder en ofrecer Manufacturing as a Service; y nuestras zonas industriales empujarlas hacia esta visión.</span></u></b></span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
</div>
gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-42643684782270841162016-10-24T14:26:00.000-05:002016-10-25T16:38:18.668-05:00Descubriendo lo elemental de la conversación en Watson<div style="text-align: justify;">
Recientemente, para uno de los clientes, se ha estado trabajando con "la mezcla azul" de IBM y su oferta de servicios de nivel plataforma (PaaS), es decir servicios administrados con el propósito de montar aplicaciones. Por mencionar algunos de estos servicios se tienen los servicios de despliegue de aplicaciones para diferentes lenguajes (node.js, java, ruby on rails,...), bases de datos relacionales y no-sql, almacenamiento de objetos, balanceo de carga, servicios de integración y despliegue contínuo, repositorios de código, entre otros.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Dentro de la oferta de servicios ofrecidos destacan aquellos agrupados bajo el nombre de Watson los cuales están enfocados al "cómputo cognitivo", o dicho en otras palabras son una serie de servicios que permite generar aplicaciones donde la experiencia de usuario es cercana a la interacción que se podría tener con otra persona como si de una conversación se tratara.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Precisamente el servicio conversation es el punto medular para el desarrollo de soluciónes que permitan a un usuario la interacción de forma cuasi-natural con una computadora, también conocidas como <i>bots</i>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En principio, el servicio de conversación parecía un poco intimidatorio, pues la documentación presenta un mar de conceptos que requieren un poco de estudio y experimentación. De este modo se ha intentado sintetizar un poco la información y presentarla de manera más pragmática a los lectores de la lengua de Cervantes.</div>
<h2 style="text-align: justify;">
Dialog vs Conversation</h2>
<div style="text-align: justify;">
Anteriormente existía como tal el servicio de dialogo dentro de la oferta de Bluemix. Este servicio tenía el mismo objetivo que la conversación, aunque se definía mediante un archivo XML que debía ser construido desde un editor de texto y se conformaba de una gran variedad de elementos, algunos no tan bien documentados. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Actualmente el servicio de diálogo ha sido retirado de Bluemix para dar paso a la conversación la cual incorporó una serie de mejoras respecto a su predecesor de las cuales podemos destacar: incorporación de una interfaz gráfica para la construcción del servicio; incorporación de intenciones y entidades que permiten mejorar el flujo de la conversación; simplificación del API para consumo desde aplicaciones; espacios de trabajo para agrupar elementos.</div>
<h2 style="text-align: justify;">
Espacios de trabajo</h2>
<div style="text-align: justify;">
Las conversaciones están organizadas en espacios de trabajo (workspaces) los cuales son definidos por un nombre y un idioma.</div>
<div style="text-align: justify;">
<br class="Apple-interchange-newline" />
Al generar un espacio de trabajo se genera un identificador único, el cual es utilizado para interactuar con la conversación que contiene a través de llamadas al API y así poder integrar aplicaciones.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Una vez creado un espacio de trabajo se requiere definir los elementos base de la conversación: intenciones, entidades y el diálogo.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-pPz7U346VsQ/WA5JHc3gWtI/AAAAAAAAAFs/WRLpnkM5ZwMTt4SNBHctamm11P3bCqZmgCLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B12%253A45%253A26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://1.bp.blogspot.com/-pPz7U346VsQ/WA5JHc3gWtI/AAAAAAAAAFs/WRLpnkM5ZwMTt4SNBHctamm11P3bCqZmgCLcB/s640/Screenshot%2Bfrom%2B2016-10-24%2B12%253A45%253A26.png" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Otra bondad del servicio es que cada espacio de trabajo puede ser exportado en un archivo en formato JSON totalmente portable ya sea con fines de respaldo o para clonar el espacio de trabajo original.</div>
<h2 style="text-align: justify;">
Intenciones</h2>
<div style="text-align: justify;">
Dentro del servicio son palabras clave precedidas por el símbolo # y reconocidas por un nombre. Las intenciones se alimentan mediante ejemplos y mediante algoritmos estadísticos permiten determinar que tan aproximado es un texto introducido por un usuario a uno de los ejemplos y categorizar dicha entrada en una intención. </div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://4.bp.blogspot.com/-ZLglitKYuSI/WA49A70cWlI/AAAAAAAAAFE/XZo5Zo7Yki0N_Eqisear5OeQpcUI9bZKgCLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B11%253A55%253A01.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="186" src="https://4.bp.blogspot.com/-ZLglitKYuSI/WA49A70cWlI/AAAAAAAAAFE/XZo5Zo7Yki0N_Eqisear5OeQpcUI9bZKgCLcB/s640/Screenshot%2Bfrom%2B2016-10-24%2B11%253A55%253A01.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Intención que permite identificar respuestas negativas</td></tr>
</tbody></table>
<h2>
Entidades</h2>
<div style="text-align: justify;">
Las entidades son utilizadas para extraer información relevante a partir del texto de entrada. Las entidades pueden ser utilizadas para refinar el comportamiento de la conversación y establecer respuestas más específicas.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Las entidades son precedidas por el símbolo @ y se definen por un valor y una lista opcional de sinónimos.</div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-A9lwTZBsje8/WA4--OvMrHI/AAAAAAAAAFM/-QfcArbKbn4Vf4ebFICDcuyjDty4u8yaQCLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B12%253A03%253A38.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="228" src="https://1.bp.blogspot.com/-A9lwTZBsje8/WA4--OvMrHI/AAAAAAAAAFM/-QfcArbKbn4Vf4ebFICDcuyjDty4u8yaQCLcB/s640/Screenshot%2Bfrom%2B2016-10-24%2B12%253A03%253A38.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Entidad nombres. Los valores se utilizan para determinar la entidad.</td></tr>
</tbody></table>
<h2>
Diálogo</h2>
<div style="text-align: justify;">
El diálogo se asemeja a una máquina de estados, llamados nodos dentro del servicio, en el cual si se satisface una condición, se lleva a cabo una transición a otro estado. El diálogo permite generar una respuesta de acuerdo a una entrada de texto, dependiendo del nodo en el cual se encuentre la conversación. </div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/-eNTvQ0UgDGk/WA5CpTbXYwI/AAAAAAAAAFc/BXzbf7Y8Fw4DAs71uEdhLNih68AokjnzwCLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B12%253A07%253A28.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="284" src="https://3.bp.blogspot.com/-eNTvQ0UgDGk/WA5CpTbXYwI/AAAAAAAAAFc/BXzbf7Y8Fw4DAs71uEdhLNih68AokjnzwCLcB/s640/Screenshot%2Bfrom%2B2016-10-24%2B12%253A07%253A28.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Diálogo conformado por nodos. Cada nodo tiene una condición y una salida</td></tr>
</tbody></table>
<div style="text-align: justify;">
Dentro del diálogo, las entidades y las intenciones pueden ser utilizadas como condiciones para que el diálogo identifique la respuesta más adecuada.</div>
<h3 style="text-align: justify;">
Textos de entrada</h3>
<div style="text-align: justify;">
El texto de entrada por un lado permite definir la información de entrada que será procesada por la conversación y por otro es la acción que dispara la evaluación de condiciones y la transición entre los nodos del diálogo. Esto es, que la conversación se mantendrá en un nodo en espera a que se proporcione un nuevo texto de entrada.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Gráficamente se puede observar el ícono del "globo" de conversación con los tres puntos entre los nodos lo cual representa que en ese punto se espera un texto de entrada.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-SXGLCHu2PVE/WA5V5pyOu2I/AAAAAAAAAGQ/m_fOPR2s5q4mhnl9VPU8xpy3YQfkWNQ2ACLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B13%253A37%253A59.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="204" src="https://3.bp.blogspot.com/-SXGLCHu2PVE/WA5V5pyOu2I/AAAAAAAAAGQ/m_fOPR2s5q4mhnl9VPU8xpy3YQfkWNQ2ACLcB/s640/Screenshot%2Bfrom%2B2016-10-24%2B13%253A37%253A59.png" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Condiciones</h3>
<div style="text-align: justify;">
En cada nodo se puede especificar una o más condiciones, de modo que si estas se cumplen entonces la conversación es ubicada en dicho nodo y el servicio regresa la respuesta establecida en el mismo.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Las condiciones pueden ser intenciones, entidades o valores específicos y puede haber más de una condición en el mismo nodo evaluándolas con los operadores AND y OR. Cabe mencionar que las condiciones se van cumpliendo de acuerdo a las intenciones y entidades identificadas en el texto de entrada de cada nodo.</div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/-FlZsWBt0O0I/WA5TLR4HesI/AAAAAAAAAGE/Jpt2ygFxiZw6QI0vPEMvzEPDBHsMWolKQCLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B13%253A29%253A44.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="283" src="https://3.bp.blogspot.com/-FlZsWBt0O0I/WA5TLR4HesI/AAAAAAAAAGE/Jpt2ygFxiZw6QI0vPEMvzEPDBHsMWolKQCLcB/s400/Screenshot%2Bfrom%2B2016-10-24%2B13%253A29%253A44.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: justify;">En el nodo padre como condición se observa la conjunción (AND) de una intención y la negación de una entidad. En el nodo hijo se observa la disyunción (operador OR) de dos intenciones.</td></tr>
</tbody></table>
<div style="text-align: justify;">
Las condiciones definen en gran medida el flujo de la conversación, pues cada vez que se introduce un texto se evaluan las condiciones del nodo hijo ubicado a la derecha del nodo actual. Si la condición no se cumple se continua con el nodo hermano ubicado justo abajo y así sucecivamente hasta ubicarse en algún nodo que cumpla las condiciones en espera de repetir el proceso.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Las condiciones también pueden ser palabras reservadas del mismo servicio: <i>conversation_start</i> se utiliza para indicar el nodo inicial; <i>Anything else</i> se utiliza como valor por defecto para cuando las condiciones de ningún nodo son satisfechas por el texto de entrada.</div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://4.bp.blogspot.com/-SslrhB2aQTY/WA5WyixQgsI/AAAAAAAAAGU/MWkARj66a14yumL8w5AoXIK0ormi9kq1wCLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B13%253A45%253A13.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="226" src="https://4.bp.blogspot.com/-SslrhB2aQTY/WA5WyixQgsI/AAAAAAAAAGU/MWkARj66a14yumL8w5AoXIK0ormi9kq1wCLcB/s640/Screenshot%2Bfrom%2B2016-10-24%2B13%253A45%253A13.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: justify;">Después que la conversación inicia se espera un texto de entrada. Después de ser evaluado se busca en la primera opción una entidad @nombre, en la segunda una intención #greeting y que no aparezca ningún @nombre. En caso que ninguna condición se cumpla se continua la conversación en el nodo <i>Anything else.</i></td></tr>
</tbody></table>
<h3 style="text-align: justify;">
Continuar desde...</h3>
<div style="text-align: justify;">
La opción <i>Continue from...</i> permite llevar la conversación de un nodo a otro totalmente distinto a manera de salto, similar a cuando se cambia de una página de la mitad del libro al final para ver el glosario durante una lectura.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-GzDTAMO57e4/WA5Zqr6kb2I/AAAAAAAAAGk/QkKJG49Mm0kRVdLEd8uiPBD3yAUzMZx0wCLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B13%253A57%253A33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="61" src="https://3.bp.blogspot.com/-GzDTAMO57e4/WA5Zqr6kb2I/AAAAAAAAAGk/QkKJG49Mm0kRVdLEd8uiPBD3yAUzMZx0wCLcB/s320/Screenshot%2Bfrom%2B2016-10-24%2B13%253A57%253A33.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Esta opción es muy útil para reutilizar ramas de la conversación o recuperar la misma de un texto de entrada inesperado.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
La claúsula <i>Continue from...</i> permite dirigir el flujo de la conversación a una entrada de texto, la condición de un nodo o el texto de salida.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-UWTBWYJy-Kg/WA5aZYgSN4I/AAAAAAAAAGo/wiJN9ivjEGw00M-jWpXGtfwa1Y2NuFEPACLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B13%253A59%253A30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="https://4.bp.blogspot.com/-UWTBWYJy-Kg/WA5aZYgSN4I/AAAAAAAAAGo/wiJN9ivjEGw00M-jWpXGtfwa1Y2NuFEPACLcB/s320/Screenshot%2Bfrom%2B2016-10-24%2B13%253A59%253A30.png" width="320" /></a></div>
<h3 style="text-align: justify;">
Contexto</h3>
<div style="text-align: justify;">
El contexto es un elemento que contiene valores que son mantenidos durante toda la conversación. Es posible agregar valores adiciones al contexto basándose en el estado de la conversación, entidades reconocidas o intenciones detectadas. Para esto se debe cambiar el modo de la respuesta de simple a avanzado para poder editar el objeto JSON.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Una vez en el modo avanzado se define la llave context y dentro del mismo los valores personalizados que pueden ser recuperados desde la aplicación cliente.</div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://2.bp.blogspot.com/-6v_vAS2-n2s/WA5MkDiXn6I/AAAAAAAAAF0/EPvKFiPcV9YWWtPG-wvLm0uF6dZp3z05ACLcB/s1600/Screenshot%2Bfrom%2B2016-10-24%2B13%253A01%253A20.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="246" src="https://2.bp.blogspot.com/-6v_vAS2-n2s/WA5MkDiXn6I/AAAAAAAAAF0/EPvKFiPcV9YWWtPG-wvLm0uF6dZp3z05ACLcB/s400/Screenshot%2Bfrom%2B2016-10-24%2B13%253A01%253A20.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Estableciendo una respuesta avanzada en formato JSON para el nodo.</td></tr>
</tbody></table>
<div style="text-align: justify;">
Los valores personalizados son sumamente útiles para el cliente pues pueden servir para casos de uso como: disparar acciones automáticas; mostrar recomendaciones o valores sugeridos; dirigir el flujo de la conversación.</div>
<h2 style="text-align: justify;">
REST API e integración con otros servicios de Watson</h2>
<div style="text-align: justify;">
Como todos los servicios de Watson, la conversación expone una interfaz de programación de aplicaciónes via REST/HTTP. En este caso solo se expone un método que permite enviar el texto de entrada, junto los valores del contexto de la conversación al servicio y esperar un texto de respuesta. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Internamente el servicio mantiene el estado de la conversación a través de un ID único y un seguimiento de las peticiones asociadas a la conversación, por lo cual es requerido enviar ese ID de conversación en cada petición dentro del contexto.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Dado que los servicios de Watson han sido desarrollados con el enfoque de microservicios, no se contemplan puntos de integración directa entre ellos. Sin embargo, es posible constuir una aplicación que se conecte a los diferentes servicios mediante el API REST y funcione como invocador de los mismos y la conversación pueda definir el momento de dicha invocación de acuerdo al estado de la misma. </div>
<h2 style="text-align: justify;">
Conclusiones</h2>
<div style="text-align: justify;">
El servicio de conversación es una interesante propuesta de IBM aplicable a casos donde se pretenda mejorar la experiencia de usuario para consultar información específica. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Algunos casos de uso de este servicio pueden ser: servicio de preguntas frecuentes; asistente para dirigir la consulta de información; orquestador e integrador de fuentes de información.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Una vez que se ejercita un poco es sencillo construir un servicio personalizado para cada caso de uso particular que puede ser integrado via REST API en aplicaciones web y móviles. </div>
<h2 style="text-align: justify;">
Referencias</h2>
<div style="text-align: justify;">
<a href="https://www.ibm.com/watson/developercloud/doc/conversation/index.shtml" target="_blank">https://www.ibm.com/watson/developercloud/doc/conversation/index.shtml</a></div>
<div style="text-align: justify;">
<br /></div>
Anonymousnoreply@blogger.com0Via Magna 25, Bosque de las Palmas, 52787 Naucalpan de Juárez, Méx., Mexico19.4018579 -99.27630620000002219.401799399999998 -99.276385200000021 19.4019164 -99.276227200000022tag:blogger.com,1999:blog-9071618627294105978.post-44528745702077372852016-10-05T18:46:00.000-05:002016-10-14T18:15:54.938-05:00Innibit - Servicios, Tecnología -En una anterior entrada de nuestro blog, se platicó el enfoque de innovación de Innbit.<br />
<br />
Para nosotros, la tecnología de información es fundamental para poder sustentar la ventaja competitiva de las soluciones de negocio, tus innovaciones.<br />
<br />
Para este fin, nos hemos especializado en varios tópicos:<br />
<br />
<ul>
<li>Innovación y técnicas como <i>Lego Serious Play </i></li>
<li>Mejores prácticas como T<i>OGAF, Scrum, DevOps, Kanban</i></li>
<li>Cloud Computing y nubes públicas como <i>AWS, IBM Bluemix, IBM Softlayer, Google Apps, Google Cloud, Microsoft Azure, OpenStack</i></li>
<li>Desarrollo de Aplicaciones móviles sobre plataforma <i>iOS, Android</i></li>
<li>Desarrollo de Aplicaciones Web - principalmente con <i>Ruby on Rails, Node.js Java, .NET</i> -</li>
<li>Middleware - soluciones de integración de <i>Oracle, IBM y software abierto</i> -</li>
<li>Ciencia de datos - <i>Bases de datos relacionales, NoSQL, R, DataWarehouse, Data streaming </i>-</li>
<li>Aprendizaje Máquina con <i>IBM Watson</i></li>
<li>Redes sociales - integrar tus sistemas de información con redes sociales como <i>Facebook, Twitter </i>y <i>Google</i></li>
</ul>
<div>
Con nuestros servicios, tenemos como objetivo ayudarte a que nuestro conocimiento esté a tu disposición. Los hemos agrupado de acuerdo a las fases en las que tu innovación se encuentra.</div>
<div>
<br /></div>
<div>
<i>¿Quiero empezar a innovar pero no se el método? </i>Nuestro método llamado <span class="innbit"><i><b>SwitchIt</b></i></span> está enfocado a que vivas la experiencia de innovación y dejar a tu equipo habilitado a que adquiera la disciplina. </div>
<div>
<br />
<i>¿ Tengo ya un plan de negocio y definida mi innovación pero debo dar certidumbre a su implantación? </i>Nuestro método <span class="innbit"><i style="font-weight: bold;">RabbIt </i></span>está enfocado a que las mejores prácticas como arquitectura empresarial, administración de proyectos y gestión de servicios se puedan utilizar para que tu solución de negocio se enriquezca y eliminar riesgos y habilitar a tus equipos de construcción a seguir una disciplina enfocada.</div>
<div>
<br />
<i>¿Tengo mi producto ya diseñado pero no tengo habilidades para construirlo? </i>Nuestro método <span class="innbit"><i style="font-weight: bold;">BrickIt </i></span>conjunta técnicas de ingeniería de software y la combinación de tecnología de nube, móvil, web y ciencia de datos para soportar los requerimientos de tu innovación</div>
<div>
<br />
<i>¿Tengo mi producto ya construido pero no tengo suficiente infraestructura y un equipo de operación para escalarlo y entregarlo como servicio? </i>Nuestro método <span class="innbit"><i style="font-weight: bold;">DPloyIt </i></span>te ofrece el diseño, configuración y despliegue de tu solución en nubes públicas y utilizando técnicas de DevOps para habilitar a tus desarrolladores para que automaticen muchos procedimientos operativos. Adicional te podemos proveer de grupos de especialistas para instalar, configurar y administrar la plataforma de software. Y también podemos establecer una mesa de servicios. </div>
<div>
<br />
<i>¿Tengo mi producto ya construido pero no tengo una estrategia de mercadotecnia?</i>Nuestro método <span class="innbit"><i style="font-weight: bold;">Mkt360 </i></span>te ayuda a establecer la mercadotecnia de tu innovación y utilizando redes sociales, apoyarte en la captación, relación y atención con tus clientes, y utilizando técnicas de ciencia de datos para realizar análisis de mercados y comportamiento de clientes.</div>
<div>
<br /></div>
<div>
En Innbit te podemos acompañar desde la concepción de la idea hasta operar tu solución y bajo un enfoque de hacerlo "Todo como Servicio" ( <i>X as a Service</i>)</div>
<div>
<br /></div>
<div>
<br /></div>
gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-60228808621694998882016-10-05T18:10:00.000-05:002016-10-06T13:38:24.791-05:00La ecuación de la innovación<span data-offset-key="lnpm-1-0" style="font-family: inherit;"><span class="innbit">Innbit</span> fue concebido cuando identificamos la necesidad en las organizaciones de tener compañías que se dedicaran a entender sus problemas y buscar soluciones que den impacto a negocio.</span><br />
<span data-offset-key="lnpm-1-0" style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Principalmente en el ámbito de </span><i style="font-family: inherit;">Tecnología de Información</i><span style="font-family: inherit;">, existen historias en las cuales se ha adquirido e implantado software pero sin identificar los verdaderos impactos al negocio; y con capacitación a equipos de trabajo, promesas de solucionar problemas de la organización, pero que al final no se acaban concretando.</span> <br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">La innovación de </span><span class="innbit">Innbit</span><span style="font-family: inherit;"> es no enfocarnos a vender productos y buscar de manera desesperada clientes que nos lo compren. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Tomando las </span><i style="font-family: inherit;">prácticas de innovación</i><span style="font-family: inherit;">, nuestro enfoque es ir primero a tu compañía y lograr la empatía para entender tus problemas de negocio. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Una vez identificadas tus necesidades, empezamos a generar ideas para resolverlos y ayudarte a identificar la viabilidad de esas ideas para convertirlas en innovación.</span><br />
<br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;">El primer paso, es que la idea desde una perspectiva interna siempre es la mejor, es bonita, buena y barata. Sin embargo un principio fundamental de la innovación es <b>colaborar</b> con personas de diversas disciplinas y formaciones y que empiecen a quitarte la venda de tus ojos y de manera positiva te den críticas para que tu idea sea mejorada o se amplíe su alcance o mejor no continuarla. </span><br />
<div class="separator" style="clear: both; margin-top: 20px; text-align: center;">
<a href="https://3.bp.blogspot.com/-c8YcZU1s0YQ/V_Wiaka0ayI/AAAAAAAAA3k/61craRSPkAs0u0XpJeEsdHPYHzVxMzhngCLcB/s1600/workteam-01-a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://3.bp.blogspot.com/-c8YcZU1s0YQ/V_Wiaka0ayI/AAAAAAAAA3k/61craRSPkAs0u0XpJeEsdHPYHzVxMzhngCLcB/s320/workteam-01-a.png" width="375" /></a></div>
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">A esto último muchas personas le temen, lo ven como una falla. </span><span style="font-family: inherit;">Pero eso es muy importante que en los proyectos de innovación se identifiquen de manera temprana antes de empezar a desperdiciar recursos tan valiosos como el dinero, las personas y el tiempo.</span><br />
<span style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">En esta fase, lo que vamos a poder indicarte es que tu idea es viable de ser usada por <b>clientes</b> - pueden ser externos o internos a tu organización - y la manera de como entender y segmentar - .
Una vez que la <i>idea</i> tiene un grupo de clientes identificados, te ayudamos a identificar el valor de la idea, que es lo que la hace única a tu cliente, que necesidad le satisface. Si no tiene un valor adecuado, es necesario plantear la idea o enriquecerla para que tenga un <b>impacto positivo</b>.
Idea, mas clientes mas valor ya permite identificar una innovación; pero también es necesario aterrizar la manera como los clientes van a consumir el producto o servicio que resulte. </span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">A veces mucha gente tiene bien definida la idea, el mercado, lo que están cubriendo de necesidad, pero se topan con <u>regulaciones, normatividad o reglamentos</u>. Esto pasa tanto en <i>sector privado o público</i>. A veces puede tardar un año para que te puedan comprar. Si no tienes ese tiempo, de nuevo es importante reformular la idea
Y lo mas importante, si ya tienes idea, clientes, valor, modelo de adquisición; es vital preguntar cuál es el modelo de negocio y como se va hacer dinero de la idea. </span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-m2n8kaGkS2k/V_aaBIaroTI/AAAAAAAAA4U/87MKL6z57EkDaMTuf5mab0LJPK2RVncqQCLcB/s1600/economic-compensation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="170" src="https://2.bp.blogspot.com/-m2n8kaGkS2k/V_aaBIaroTI/AAAAAAAAA4U/87MKL6z57EkDaMTuf5mab0LJPK2RVncqQCLcB/s400/economic-compensation.png" width="400" /></a></div>
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">En un mundo ideal, y que siempre es la tentación de los que quieren innovar, se desprecia mucho el tema del dinero como algo no vital. Pero es lo que va alimentar todo y permitir que el equipo que elabora el producto/servicio tenga un sueldo diario y esté motivado a seguir innovando.</span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
Idea + Clientes + Valor + Adquisición + Modelo de ingresos; ya es casi pero ahora es importante identificar todos los supuestos de la idea son reales y definir el valor de negocio mínimo del producto/servicio. Se debe probar en la realidad, con los clientes, que la idea es utilizable. No se trata de hacer un prototipo, se trata de explicar la idea y ver que si la quiera el cliente. O en términos llanos: "demostrar que la comida del perro se la va comer el canino".<br />
<br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;">Clientes + Valor + Adquisición + Modelo de ingresos + Diseño del producto ya está a punto de llamarse en una innovación y que se está alcanzando a plasmar para pedir el apoyo financiero a los inversionistas. Sin embargo es necesario demostrar que la idea va a <b>escalar</b>, que no solo es para un tiempo pequeño.sino que se van a poder conquistar otros mercados y aquí se desarrolla el plan de negocio.</span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-BGayJXIvl5M/V_aUar1LVvI/AAAAAAAAA4E/_HPD0xAj3MY7zmrmuFpB9e5AmHQnWhKtwCLcB/s1600/innovacion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="296" src="https://1.bp.blogspot.com/-BGayJXIvl5M/V_aUar1LVvI/AAAAAAAAA4E/_HPD0xAj3MY7zmrmuFpB9e5AmHQnWhKtwCLcB/s400/innovacion.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">Con esto, te ayudamos a que vayas con los altos mandos de tu organización o puedas ir con inversionistas y de una manera razonada les puedas demostrar que tu idea es una innovación que va redituar en un ingreso económico y va querer ser consumida.</span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">En el tema de innovación no estás sujeto a la actitud o berrinches de una sola persona o pequeño grupo. Quien evalúa tu idea - producto o servicio - es el mercado, los consumidores finales. Si lo haces bien, probaras las mieles de poder conquistar un mercado.</span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">Ahora, imagina que tus proyectos internos los manejas como una innovación y te piensas como una compañía dentro de tu organización y donde debes ser competitivo. Eso elimina<i> zonas de confort</i> pero impulsa que muchos integrantes de la organización se transformen y se vuelvan innovadores.</span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;">Así que la meta no es implantar un sistema de inteligencia de negocio, o una solución de integración tecnológica; sino una solución de negocio y que se pueda nombrar una innovación para tu organización y para tus clientes.</span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-5ZSVRm79LoA/V_Wlup7hPPI/AAAAAAAAA30/eb3mg-vNJ00MP1JI3gyGVjLElnM_MK9JwCLcB/s1600/nn.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="173" src="https://4.bp.blogspot.com/-5ZSVRm79LoA/V_Wlup7hPPI/AAAAAAAAA30/eb3mg-vNJ00MP1JI3gyGVjLElnM_MK9JwCLcB/s200/nn.png" width="200" /></a></div>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">Lo que expliqué es el método para planear la innovación. El siguiente paso es la construcción. En Innbit, también estamos habilitados para usar las mejores prácticas pero desde un enfoque ágil y esbelto. De hecho es una nueva entrada de este blog.</span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;">Por lo mismo, nuestro foco no es elaborar aburridos documentos de consultoría o recomendaciones que solo funcionan en láminas de <i><strike>power point</strike></i>. </span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><br /></span>
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;"><span style="font-family: inherit;">Queremos estar contigo para ver tu éxito con tus ideas, por que ese éxito es también nuestro.</span></span><br />
<span data-offset-key="91s35-0-0" style="font-family: inherit;">Esto demanda tener mucho coraje, pero la verdad, para que tu trabajo valga la pena y sea una parte de tu vida, es importante tomar riesgos y hacer bien las cosas y con pasión.</span><br />
<br />gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-14446565073958530842016-07-20T02:01:00.001-05:002016-07-20T02:02:26.185-05:00DevOps - primeras reflexiones - <div class="" data-block="true" data-editor="2qn1o" data-offset-key="656q4-0-0" style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; line-height: 18px; white-space: pre-wrap;">
<div class="_1mf _1mj" data-offset-key="656q4-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="656q4-0-0" style="font-family: inherit;">Es común que los proveedores de Tecnología de Información usen muchas "buzzword" para vender productos.</span></div>
</div>
<div class="" data-block="true" data-editor="2qn1o" data-offset-key="2lgq0-0-0" style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; line-height: 18px; white-space: pre-wrap;">
<div class="_1mf _1mj" data-offset-key="2lgq0-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span style="font-family: inherit;">Una de ellas es DevOps y como suele suceder, muchas organizaciones lo identifican como algo nuevo en tecnología o consultoría.</span></div>
</div>
<div class="" data-block="true" data-editor="2qn1o" data-offset-key="7vs4m-0-0" style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; line-height: 18px; white-space: pre-wrap;">
<div class="_1mf _1mj" data-offset-key="7vs4m-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span style="font-family: inherit;">Parte de utilizar conceptos aplicados en ingeniería industrial. Una de ellas es la teoría de las restricciones (explicado en el libro de la Meta de Eliyahu M. Goldratt ), Kanban y en temas de TI el concepto de Continuous Delivery</span></div>
</div>
<div class="" data-block="true" data-editor="2qn1o" data-offset-key="3k4tl-0-0" style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; line-height: 18px; white-space: pre-wrap;">
<div class="_1mf _1mj" data-offset-key="3k4tl-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span style="font-family: inherit;">Lo importante es que las organizaciones identifiquen la manera como la tecnología de información está soportando a los procesos críticos de la organización.</span></div>
</div>
<div class="" data-block="true" data-editor="2qn1o" data-offset-key="csbmi-0-0" style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; line-height: 18px; white-space: pre-wrap;">
<div class="_1mf _1mj" data-offset-key="csbmi-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="3vc89-0-0" style="font-family: inherit;">Les comparto este video, de la conferencia de O´Reilly - Velocity 2009 - </span><span style="font-family: inherit;">"10+ Deploys Per Day: Dev and Ops Cooperation at Flickr", en el cual se empezó a tratar el tema</span></div>
</div>
<div class="" data-block="true" data-editor="2qn1o" data-offset-key="caisu-0-0" style="background-color: white; color: #1d2129; font-family: helvetica, arial, sans-serif; line-height: 18px; white-space: pre-wrap;">
<div class="_1mf _1mj" data-offset-key="caisu-0-0" style="direction: ltr; font-family: inherit; position: relative;">
<span data-offset-key="caisu-0-0" style="font-family: inherit;"><br data-text="true" /></span></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/LdOe18KhtT4/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/LdOe18KhtT4?feature=player_embedded" width="320"></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: white; color: #1d2129; font-family: inherit; line-height: 18px; text-align: left; white-space: pre-wrap;">En una siguiente entrada, me dedicaré a hablar sobre el libro "The Project Phoenix" y su relación con DevOps</span></div>
gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-3346841067521464112016-07-19T13:26:00.000-05:002016-07-19T13:26:04.351-05:00Historias macabras hacia la certificación de AWS<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: justify;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Recientemente en el equipo nos hemos dado a la tarea de remotar el estudio de la plataforma de </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.6667px; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>Amazon Web Services (AWS)</i></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> para la construcción de soluciones tecnológicas. Para esto nuestro director Gustavo nos encomendó la empresa de llevar a cabo una serie de sesiones maratónicas de estudio incluyendo a los elegidos próximos a certificarse.</span></div>
</div>
<div style="text-align: justify;">
<b id="docs-internal-guid-64fd3d63-fffc-1199-ad3f-d0211fa3d7be" style="font-weight: normal;"><br /></b>
</div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: justify;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Aprovechando esta euforia renovada por la certificación como arquitecto de soluciones, decidí escribir un poco de mi experiencia propia de hace algunos meses que culminó con la aprobación del exámen de certificación.</span></div>
</div>
<b style="font-weight: normal;"><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-ERh3hajvk5k/V41PiHntKgI/AAAAAAAAADE/PaHX-e13yq4Cno8yeXTmYwUHgwpy38phwCLcB/s1600/Solutions-Architect-Associate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="https://1.bp.blogspot.com/-ERh3hajvk5k/V41PiHntKgI/AAAAAAAAADE/PaHX-e13yq4Cno8yeXTmYwUHgwpy38phwCLcB/s320/Solutions-Architect-Associate.png" width="320" /></a></div>
<b style="font-weight: normal;"><br /></b>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: justify;">
<span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Haciendo un poco de memoria, el tema de la certificación en </span><span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.6667px; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>AWS</i></span><span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> ya rondaba mi cabeza desde algunos ayeres y, como si fuera una de las tareas de Heracles, se propuso como objetivo de Innbit lograr una asociación con Amazon que implica, entre otros requisitos, tener un número de elementos certificados en el equipo.</span></div>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: justify;">
<span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">La aventura inició tempestuosamente cuando por temas de los proyectos se requirió empezar a habilitar ambientes de despliegue y ejecución para la puesta en producción de aplicaciones web basadas en Ruby on Rails. Esa fue mi primera experiencia con </span><span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.6667px; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>EC2, RDS, Elastic Load Balancer</i></span><span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> y servicios como </span><span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.6667px; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>Route53</i></span><span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> para la contratación y configuración de nombres de dominio.</span></div>
</div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: justify;">
<span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
</div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Ya teniendo una primera experiencia con </span><span style="background-color: transparent; color: black; font-size: 14.6667px; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><i>AWS</i></span><span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> y el objetivo de la certificación se estableció el objetivo de realizar el examen antes de mi participación en el panamericano de jiujitsu de este año (marzo 2016). </span><span style="font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">Por razones de los proyectos que requerían gran cantidad de tiempo y dado que los temas del examen parecían volverse cada vez más amplios, el día D del examen se programó hasta mayo.</span></span></div>
</div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;"><br /></span></div>
</div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;">El punto de partida de la misión suicida fue revisar la <span id="goog_1871453382"></span><span id="goog_1871453383"></span><a href="https://www.blogger.com/"></a></span></span><a href="https://aws.amazon.com/certification/certified-solutions-architect-associate/" target="_blank">descripción del examen en el portal de AWS</a>, donde se contempla información como el perfil del candidato y enlaces a la guía del examen, un documento con preguntas de muestra y otros recursos. Dentro de la guía del examen se tiene información sobre los temas que son evaluados así como su ponderación, lo que me dió mucha guía sobre el grado de dominio que tenía sobre los temas en relación a la espectativa y resolver ese primer grupo de preguntas muestra me dio un poco de luz (u oscuridad en ese momento) del punto en le que estaba.</span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Ya con los temas en el radar y el conocimiento acotado, me di a la tarea de iniciar los cursos de <a href="https://cloudacademy.com/" target="_blank"><i>CloudAcademy</i></a> y <a href="https://www.udemy.com/courses/" target="_blank"><i>Udemy</i></a> que se componen de videos explicativos por tema, laboratorios y cuestionarios. Personalmente completé en su mayoría la ruta de certificación de <i>CloudAcademy</i>. Por otro lado me apoyé de Udemy para las evaluaciones y cuestionarios. Otro recurso interesante es el portal <a href="https://qwiklabs.com/" target="_blank">https://qwiklabs.com/</a>, que tiene laboratorios interesantes utilizando recursos de <i>AWS</i> reales, donde también completé algunos.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">De <i>CloudAcademy</i> también fue instalada la aplicación móvil la cual permite realizar pequeños cuestionarios de 5 o 10 preguntas, esto a modo de guía para profundizar en los temas que me se requerían refo falta. Esta práctica me permitió estudiar sin saturarme de información, dado que hacía esos pequeños cuestionarios en cualquier oportunidad que tenía y, posteriormente en momentos de más calma, poder referirme a la documentación de <i>AWS</i> o experimentar un poco en la consola.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Además de la información teórica propia de <i>AWS</i> de los cursos y manuales, también me fue muy útil retomar conceptos básicos de computación (redes, almacenamiento, arquitectura,...) y hacer varios experimentos prácticos o en su defecto, ver videos de como implementar ciertas soluciones que trato de resumir a continuación. </span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">IAM</span></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Laboratorio de <i>CloudAcademy</i> para generar usuarios, grupos y permisos</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Entender los diferentes tipos de autenticación de usuarios: contraseña, token de acceso, <i>MFA</i>,</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Laboratorio de <i>CloudAcademy</i> para generar un rol, asociarlo a una instancia de <i>EC2</i> y comprobar que pueda acceder a un <i>bucket</i> de <i>S3</i>.</span></li>
</ul>
<br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">EC2</span></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Comprender los sabores de instancias de EC2, diferencias y casos de uso (t, m, c, g, d)</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar una instancia Linux y una Windows y acceder a ellas. Esto se aborda en los laboratorios de <i>CloudAcademy</i> y <i>Udemy</i>.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar un AMI a partir de una instancia.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Implementar una arquitectura pública en alta disponibilidad con componentes como: Balanceador de carga, grupo de autoescalamiento, configuración de lanzamiento, etc. </span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Configurar <i>SSL</i> en un balanceador de carga público.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Implementar una arquitectura privada en alta disponibilidad con componentes como: Balanceador de carga, grupo de autoescalamiento, configuración de lanzamiento, etc.</span></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Distribución de contenido</span></div>
<div>
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar una lista de distribución de contenido a partir de un <i>bucket</i> de S3</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Agregar otros origenes adicionales a la lista de distribución.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Configurar un nombre de dominio personalizado, previamente registrado en Route53 </span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Configurar SSL</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Configurar <i>origin access identity</i> para restringir que el acceso a los objetos de S3 para que solamente se permita desde la lista de distribución de cloudfront.</span></li>
</ul>
</div>
<br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Almacenamiento</span></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar un <i>bucket</i> de <i>S3</i> y habilitar un sitio web estático</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Comprender las distintas clases de almacenamiento de <i>S3</i>, así como sus niveles de durabilidad y disponibilidad</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Laboratorios de <i>Udemy</i> del ciclo de vida y versionamiento de objetos en <i>S3</i></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Revisar los conceptos sobre arreglos de discos: <i>RAID 0, 1, 10</i></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Revisar el video <a href="https://www.youtube.com/watch?v=TT6Qx3FhN1I" target="_blank">RAID 0 on Amazon linux EBS/EC2</a> para entender como implementar un arreglo de discos mediante volúmenes <i>EBS</i>.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Laboratorios de <i>CloudAcademy</i> y/o <i>Udemy</i> para generar un volúmen <i>EBS</i> y montarlo en una instancia de <i>EC2</i>. </span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Laboratorios de <i>CloudAcademy</i> y/o <i>Udemy</i> para generar un snapshot a partir de un volumen <i>EBS</i> y un volumen a partir de un <i>snapshot</i>.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Revisar el video <a href="https://www.youtube.com/watch?v=-f6NWEs4EeE&feature=youtu.be" target="_blank">Veeam - Archive Backups using AWS Storage Gateway and S3</a> que hace una demostración real del uso de <i>Gateway Storage</i></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Leer sobre los modos en que se pueden configurar los volúmenes de Gateway Storage (<i>Gateway-cached, Gateway-stored, virtual tape library</i>)</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar un <i>vault</i> de <i>Glacier</i> desde la consola y generar una regla del ciclo de vida en <i>S3</i> para enviar objetos.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Leer sobre las diferencias entre <i>import/export disk</i> y <i>snowball</i>.</span></li>
</ul>
<br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">RDS</span></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar un <i>database group</i></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar una instancia de <i>RDS</i> sin replicación multizona</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Configurar la replicación multizona de la instancia de <i>RDS</i></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar una réplica de solo lectura</span></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">VPC</span></div>
<br />
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Estudiar conceptos básicos de direcciones IP, máscaras de subred, clases de direcciones IP.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar una <i>VPC</i> con al menos dos subredes públicas y dos privadas. Configurar el<i> internet gateway</i>, <i>NACL's</i>, <i>NAT</i> (como servicio y apartir de una instancia de <i>EC2</i>). Para este ejercicio se tienen dos laboratorios en <i>CloudAcademy</i> que contemplan todos los puntos.</span></li>
</ul>
<br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Route53</span></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Estudiar sobre conceptos básicos de DNS y los diferentes tipos de registro (CNAME, A, MX, SOA, NS, etc)</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Registrar un nombre de dominio. Puede comprarse desde la consola</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar una <i>hosted zone</i> e identificar el default record set.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar diferentes alias y asociarlos a balanceadores de carga y listas de distribución de <i>CloudFront</i></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Leer sobre que es la zona <i>APEX</i> y sus restricciones. </span></li>
</ul>
<br />
<div style="text-align: justify;">
<i>CloudWatch</i></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Explorar las gráficas generadas para <i>EC2</i> y <i>RDS</i></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Explorar las alertas enviadas a la consola</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Realizar el laboratorio de <a href="http://qwiklabs.com/" target="_blank">qwiklabs.com</a> para generar métricas personalizadas de memoria y uso de disco de una instancia de <i>EC2</i> y mostrarlas en la consola de <i>CloudWatch</i></span></li>
</ul>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Otros</span></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Leer sobre <i>MemCache</i> y <i>Redis</i>, los cuales se ofrecen como servicios en <i>Elastic Cache</i>, así como sus casos de uso.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Retomar los conceptos de colas de mensajes y las diferencias y casos de uso de los modelos productor-consumidor y publicador-subscriptor.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Entender como se implementan los modelos de mensajería y notificaciones a través de los servicios <i>SQS</i> y <i>SNS</i>.</span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Retomar conceptos de <i>Hadoop</i> y entender como se implementan a través del servicio <i>EMR.</i></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Generar una tabla en <i>DynamoDB</i> y experimentar con un cliente Rails para escribir y recuperar datos en <i>JSON</i>.</span></li>
</ul>
</div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<div style="line-height: 1.38; text-align: justify;">
<span style="background-color: transparent; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Al estudiar estos temas uno puede notar que en realidad es bastante información. Cuando estudié la carrera tuve cursos específicos para algunos de los temas y la realidad no terminé de sentirme totalmente preparado al llegar la fecha del examen. Aún así, decidí relizarlo en la fecha pactada y al final concluí lo siguiente.</span></div>
<br />
<ul>
<li style="text-align: justify;"><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><span style="font-family: Arial, Helvetica, sans-serif;">Dedicar un tiempo diario en solitario (incluso fines de semana) al estudio y la práctica. No tiene que ser intenso todo el tiempo pero si constante. Personalmente me funciona estudiar algo muy concreto a ratos en lugar de saturarme de información en una sesión demasiado larga.</span></span></li>
<li style="text-align: justify;"><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><span style="font-family: Arial, Helvetica, sans-serif;">Establecer una fecha de examen, diría que alrededor de mes y medio de estudio constante puede ser suficiente.</span></span></li>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">El examen no tiene un mínimo de aciertos definido para acreditar, uno debe mentalizarse para obtener la calificación más alta posible.</span></li>
<li style="text-align: justify;"><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><span style="font-family: Arial, Helvetica, sans-serif;">No postergar tanto el examen a pesar de la sensación de no estar totalmente preparado. En el peor de los casos solo no se acredita y se vuelve a programar, lo cual también es experiencia valiosa.</span></span></li>
<li style="text-align: justify;"><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><span style="font-family: Arial, Helvetica, sans-serif;">En el examen tratar de no dedicar demasiado tiempo a una pregunta, si se tiene que leer más de dos veces o se lleva más de 45 segundos sin contestar mejor dejarla para después. El examen se compone de 60 preguntas en un tiempo de 80 minutos, lo que da un promedio de 1:15 por pregunta.</span></span></li>
<li style="text-align: justify;"><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><span style="font-family: Arial, Helvetica, sans-serif;">Disfrutar la experiencia. Uno de mis profesores de jiujitsu siempre que ha enseñado que la probabilidad de éxito se incrementa cuando se disfruta cada emoción que se vive al entrar a una competencia. Este exámen para mi fue un torneo más para ganarse el Valhalla y la entrada al Mictlan.</span></span></li>
</ul>
</div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
Anonymousnoreply@blogger.com2Bosque de las Palmas, Naucalpan de Juárez, Méx., Mexico19.402285168665035 -99.274928569793719.402051168665036 -99.2752435697937 19.402519168665034 -99.2746135697937tag:blogger.com,1999:blog-9071618627294105978.post-79373020754014128902016-07-11T11:17:00.000-05:002016-07-11T11:17:17.893-05:00PMTour - Administración de Proyectos en las Empresas<div style="text-align: justify;">
<br /></div>
<br />
<div style="text-align: justify;">
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;">Hace 2 semanas tuve la oportunidad de asistir al evento que la PMI organiza en México trayendo a algunos conferencistas de algunos países del extranjero, así como algunos muy buenos también de nuestro país.</span></div>
<div style="text-align: justify;">
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;"><br /></span></div>
<div style="text-align: justify;">
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;">Me sorprende y no, que en la mayoría de los países la administración de proyectos esta realmente en pañales, más que nada por la "falta de tiempo" "rapidez con las que se exigen los proyectos, "cultura", etc...</span></div>
<div style="text-align: justify;">
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;"><br /></span></div>
<div style="text-align: justify;">
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;">En una conferencia que me tuvo bastante atrapada de Liliana Buchtik, comentaba acerca de los riesgos en los proyectos y claro que me impacto, no sólo por la manera tan apasionada que da sus pláticas, si no por las cosas que se tocaron. El PMBOK te dice que antes de comenzar un proyecto debes de medir los riesgos pero que tan a profundidad??? </span><span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;">La cantidad de proyectos irreales, con costos bajos, con tiempos cortos, con material de bajo costo, con personal no calificado, etc. Que se vendieron, licitaron u ofertaron con tal de ser ganados o vendidos es increíble. Si no se miden los riesgos, ocasionaran sobre costos y mala calidad, entregas a destiempo y el colapso del proyecto por ende la pérdida de dinero de las empresas. Les suena??? Para tomar bastante en cuenta en todas y cada una de nuestras propuestas.</span></div>
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;"><div style="text-align: justify;">
Y bueno claro las conferencias todas y cada una hablando del desarrollo de los proyectos, las tareas mal asignadas, los recursos desperdiciados, el tiempo perdido, los documentos y las juntas interminables que al final acaban haciendo de un proyecto un caos. </div>
</span><span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;"><div style="text-align: justify;">
Y la verdad es que llevo bastante tiempo viendo muchos proyectos ir y venir, todos con sus bemoles, cada uno con técnicas diferentes con administradores diferentes y al final no todos acaban mal claro pero creo que también es importante aquí la dirección y el liderazgo.</div>
</span><span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;"><div style="text-align: justify;">
Y hablando del liderazgo de el PM, me encantó un video que pusieron en una conferencia en donde un equipo de Remos (si donde unas personas van remando al mismo tiempo y alguien hasta adelante los va dirigiendo) choca contra unos postes y caen, todo porque en este caso el líder no tuvo una buena comunicación con el equipo, lo que derivó en el fracaso de todos. Y si es un muy buen ejemplo de lo que pasa en la administración de proyectos, al no tener un buen liderazgo, aunque todos los pasos se sigan al pie de la letra, el proyecto no funcionará, y es aquí donde me pregunto que debe de tener un buen líder? Organización, visión, saber escuchar a su equipo, disposición a los cambios y opiniones, ser buen comunicador, inteligente, entusiasta, positivo, tener motivación, comprensión de su equipo, trabajar en equipo, confiable.... mmmm y creo que tener el control de las emociones, este punto es importante porque al final el último que debería de perder la cabeza es el líder. Y esto lo he ido aprendiendo con el tiempo, llevo algo así como 10 años a cargo de personal, en donde me ha ido desde muy mal, hasta no tan mal y claro que sigo aprendiendo porque de todas las características que mencione me hacen falta bastantes. </div>
<div style="text-align: justify;">
Y ese es uno de los puntos clave que comentaron los conferencistas, seguir aprendiendo y estar abierto a nuevas técnicas y modelos; porque son buenos, crean cultura y organización a la empresa, porque hacen bien y sobre todo porque hacen que el negocio prospere.</div>
</span><div style="text-align: justify;">
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;">En resumen creo que no hay una receta completa y exacta para dirigir un proyecto, no todo puede ser By the Book, pero si podemos tomar de algunos modelos los que mejor se acomoden a nuestra organización.</span></div>
<div style="text-align: justify;">
<span style="color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;"><br /></span></div>
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;"><div style="text-align: justify;">
"No podemos ser lo que deseamos, si seguimos siendo lo que somos" John Maxwell</div>
</span><br />
<br />
<span style="background-color: #fafafa; color: rgba(0, 0, 0, 0.870588); font-family: "Roboto Slab", "Times New Roman", serif; font-size: 14px; line-height: 19px; white-space: pre-wrap;"><a href="http://www.pmichapters-mexico.org/PMTOUR/pmtour" target="_blank">http://www.pmichapters-mexico.org/PMTOUR/pmtour</a></span>Anonymoushttp://www.blogger.com/profile/04312845797811852999noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-59120103849442321532016-06-26T04:15:00.002-05:002016-06-26T04:15:06.647-05:00Lego Serious Play con PMBOKEl día miércoles 22 de junio 2016 tuve la oportunidad de impartir el taller de<i> Administración de proyectos a través de métodos lúdicos con Lego Serious Play.</i><br />
<br />
Esta taller fue el resultado de una idea de más de dos años, y que consiste en utilizar Lego para hacer los cursos de buenas prácticas (ITIL, TOGAF, PMBOK) y que de ahí me llevo a descubrir Lego Serious Play, De ahí tuve que esperar un año para tomar la certificación con Robert Rasmussen.<br />
<br />
La duda que a los lectores les aparece es sobre como se combina Lego Serious Play con lo indicado por el PMBOK.<br />
<br />
Lego Serious Play es utilizado cuando una pregunta tiene múltiples respuestas y se requiere obtener un consenso de diversas ópticas y personas. Su enfoque de que el 100% de los participantes estén activos en las sesiones de trabajo y que expresen sus ideas a través de bloques de Lego como metáforas<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJMaMIFY8dOzbYYjdbvRX8F0mmlRjEp4qznUbikiuVTaP1Y7KR3JQcUtqLbedp-NFh38yIK5OWgdzj8vhkPcS7bg04Rjnq4JP5azjANcrfDsnk4_ABewStIMz02FphyphenhyphenW4YU60rqUc2qoo/s1600/13533061_1427227880636215_6534973608529414348_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJMaMIFY8dOzbYYjdbvRX8F0mmlRjEp4qznUbikiuVTaP1Y7KR3JQcUtqLbedp-NFh38yIK5OWgdzj8vhkPcS7bg04Rjnq4JP5azjANcrfDsnk4_ABewStIMz02FphyphenhyphenW4YU60rqUc2qoo/s640/13533061_1427227880636215_6534973608529414348_n.jpg" width="480" /></a></div>
<br />
<br />
Si ustedes leen el PMBOK, muchos de los procesos mencionan que se utilice como técnica el juicio de experto y juntas.<br />
<br />
Por tanto, las juntas y juicio de expertos pueden ser conducidos bajo el enfoque de Lego Serious Play y con la ventaja de que se involucra a todos y se puede vencer la típica idea de que las juntas de administración de proyectos son aburridas.<br />
<br />
Voy a listar, de acuerdo a los grupos de procesos y áreas de conocimiento, algunos ejemplos en donde LSP se puede utilizar:<br />
<br />
<br />
<ul>
<li>Inicio. Identificar usuarios involucrados. Los asistentes modelan los usuarios interesados que identifican y su nivel de poder e interés.</li>
<li>Inicio. Elaborar acta constitutiva. Los asistentes acuerdan el objetivo, la visión de negocio, las restricciones</li>
<li>Planeación. Obtener requerimientos. Se utiliza un modelo de Lego Serious para acordar los requerimientos del producto</li>
<li>Planeación. Definir el alcance. Elaborar una maqueta que defina al proyecto y el alcance</li>
<li>Planeación. Identiicar riesgos. Cada riesgo u oportunidad se puede concebir en términos de Lego Serious Play como eventualidad y narrados como metáfoaas que se pueden conectar a la maqueta que representa al proyecto y alcance. </li>
<li>Monitero y Control. Realizar el control integral del cambio. Los participantes pueden utilizar la maqueta de Lego para analizar el impacto, explorando las diversas relaciones o contestando preguntas de tipo "Que pasa si?"</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQgRGeCFGRPTumrjkFd4IwC2XYqyEO7N0oY0dW196fQmcko7zhPiSaObcVSIW8js5PoA8-vGo6aydd7Rjv0OmA6eSMQXJIf3Ma1-NEBMMApijpQwhdP7v1w9wlQKSmDY4SQs8AclprbI0/s1600/83399024.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQgRGeCFGRPTumrjkFd4IwC2XYqyEO7N0oY0dW196fQmcko7zhPiSaObcVSIW8js5PoA8-vGo6aydd7Rjv0OmA6eSMQXJIf3Ma1-NEBMMApijpQwhdP7v1w9wlQKSmDY4SQs8AclprbI0/s400/83399024.png" width="400" /></a></div>
<div>
<br /></div>
<br />
<br />
Durante el taller que impartí, solicite a los asistentes que para inicio y planeación me utilizaran una maqueta de Lego Serious Play y le fueran agregando características adicionales, representado los usuarios involucrados, las funcionalidedes, los riesgos, criterios de calidad. Y cuando les pedi un cambio, utiilzar la maqueta para deliberar los cambios.<br />
<br />
Dado que LSP permite entender en una maqueta de tres dimensiones, las relaciones, la complejidad, faciilita el entendimiento de varios conceptos y poder simularlos.<br />
<br />
El reto que puse a los asistentes del taller fue la creación de un puente.<br />
La foto que pongo aquí , fue el primer intento, que tuvo diversos detalles.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglvwDkzkUOtS1tk6kj5eiFGRZRqDViLli6wmDA-W_nJVdoRt4JqszGx_HpDzP0uO4DUuvpoyrxHnORFnBwofQtWu2FLxs6Bu6K9Lh9sdQQ-qDI2QJNsGroc_x2ZSqoaTDIYzBGs-cXGf4/s1600/13512238_1427227873969549_365173542027585022_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglvwDkzkUOtS1tk6kj5eiFGRZRqDViLli6wmDA-W_nJVdoRt4JqszGx_HpDzP0uO4DUuvpoyrxHnORFnBwofQtWu2FLxs6Bu6K9Lh9sdQQ-qDI2QJNsGroc_x2ZSqoaTDIYzBGs-cXGf4/s400/13512238_1427227873969549_365173542027585022_n.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
El proyecto se convirtió en hacer el puente, pero con una separación en dos vías e integrado con otras figuras de Lego - barco, carros - y que entregaran 7 videos representando diversas escenas.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hubo varios descubrimeintos del equipo, desde que los administradores de proyectos aún seguian metiendose a la fabricación del puente, la comunicación y que muchas veces las instrucciones no eran entendidas, o los administradores de proyecto no iban midiendo el avance. Siempre reforazando a que se enfocarn a su modelo de Lego Serious Play que era su guia para el proyecto. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Fue un ejercico de 8 horas, donde 2 horas se tuvieron que usar para habilitar a los quince asistentes en el uso de la metodología. Pero también fueron horas de trabajo muy efectivas, donde el tiempo paso rápidamente y de un equipo que fue heterogeneo, fue poco a poco conformandose y tomando sus roles. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Fue una experiencia enriquecedora, cada vez que tengo la oportunidad de usar Lego Serious Play, es soprendente como cada participante concibe las ideas.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Como siempre digo, en los proyectos es fundamental el tema de las personas y la comunicación. Con Lego Serious Play, ambas areas de conocimiento son enfocadas de manera intríseca.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Al final, lo que quiero concluir es que la admnistración de proyectos no debe ser una actividad mecánica o aburrida, sino apasionante, donde el rol de administrador de proyecto debe poner de su parte innovador y riqueza humana para lograr los objetivos del proyecto.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
El adminstrador de proyecto debe ser un líder y gran comunicador. Debe usar de muchas herramienas que tenga a la mano. Una de ellas puede ser Lego Serious Play. El reto es que las personas que tomen el rol de adminstrador de proyecto rompan enfoques ortodoxos y busquen cambiar la óptica de trabajo para bien de los involucrados.</div>
<br />gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-15749893837274945592016-05-29T13:34:00.003-05:002016-05-29T13:34:39.386-05:00Agile Open MX 2016<div style="line-height: normal;">
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;">El sábado 28 de mayo se llevó a cabo el evento Agile Open MX 2016, en éste se organizaron varias charlas, y talleres sobre temas de metodologías ágiles: Scrum, Extreme Programming, Lean, Kanban, Software Craftsmanship, frameworks, herramientas de desarrollo de software, y otros más.</span></span><br />
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;"><br /></span></span>
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;">Asistí a varias pláticas donde se manejaron temas desde los principios y valores del agilismo, pasando por el desarrollo profesional, cambio cultural de equipos, DevOps y hasta la práctica de la facilitación gráfica para la comunicación visual. Lo común en todas fue el reforzamiento de los principios, valores y prácticas del agilismo y coincidir con gente interesada en compartir experiencias propias y entablar conversación </span></span><br />
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;"><br /></span></span>
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;">Aunque no llegué a tiempo para la ceremonia de apertura estuve en la del cierre en la que se realizó un ejercicio de retrospectiva de una sola palabra. “Divertido”, “Interesante”, “Increíble”, “Dinámico”, “Amoroso” y varias palabras más surgieron de los que asistimos para expresar nuestra emoción al respecto. </span></span><br />
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;"><br /></span></span>
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;">Después tuvimos la agradable sorpresa de la llegada de Mike Beedle, uno de los firmantes del Manifiesto Ágil y dedicado promotor de Scrum, para cerrar el evento con una charla en la que destacó varias razones por las cuáles el agilismo debe ser una práctica de todos los días en las organizaciones del Siglo XXI. Un comentario de parte de Mike fue muy interesante: “Ir a tomar un curso para certificación o tomar un examen está bien pero dedicar todo un día de un fin de semana a la difusión del agilismo demuestra pasión por esto”. </span></span><br />
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;"><br /></span></span>
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;">Es emocionante y prometedor escuchar de varios de los participantes como es que el agilismo se va filtrando a una variedad cada vez más amplia de organizaciones incluso en algunas que tradicionalmente se resisten al cambio. Éstas prácticas que hasta hace unos pocos años se veían con desconfianza y desdén son ahora la manera en las que las empresas buscan apoyarse para cambiar de acuerdo a la competencia de su industria y la demanda de sus clientes. Creí y sigo creyendo que ésta manera dinámica y adaptable es una mejor manera de construir productos o servicios y estos eventos y las personas que participan refuerzan esa confianza.</span></span><br />
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;"><br /></span></span>
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;">Una de las cosas curiosas del agilismo es la manera tan fácil de describirlo y la complejidad para ejecutarlo. Me parece que la dificultad radica en que se trata de una mentalidad, de una forma de hacer las cosas que es a la vez simple y obvia pero que es difícil describir en un texto o imágenes y que la mejor manera de entenderlo es ejercitarlo en el día a día. Práctica, práctica, práctica. Todos los días.</span></span><br />
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;"><br /></span></span>
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;">Una de las cosas que si quisiera cambiar es el uso de anglicismos o términos en inglés. Menos “spanglish” y más español. Puede que eso también sea una barrera de aceptación y sí es así hay que derribarla.</span></span><br />
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;"><br /></span></span>
<span style="color: #454545; font-family: "helvetica";"><span style="font-size: 12px;">Se han estado organizando eventos mensuales que son difundidos a través de las redes sociales, vamos a estar al pendiente y buscar la manera de asistir y mejor aún de participar.</span></span></div>
Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-92139201727462415452016-05-24T15:55:00.000-05:002016-05-24T15:55:20.233-05:00Parrafo final del libro el Arte de Amar de Erich FrommMe atrevo a reproducir el último párrafo del Arte de Amar de Erich Fromm<br />
<br />
<i><span style="font-family: Courier New, Courier, monospace;">Si el hombre quiere ser capaz de amar, debe colocarse en su lugar supremo. La máquina
económica debe servirlo, en lugar de ser él quien esté a su servicio. Debe capacitarse para
compartir la experiencia, el trabajo, en vez de compartir, en el mejor de los casos, sus beneficios.
La sociedad debe organizarse en tal forma que la naturaleza social y amorosa del hombre no
esté separada de su existencia social, sino que se una a ella. Si es verdad, como he tratado de
demostrar, que el amor es la única respuesta satisfactoria al problema de la existencia humana,
entonces toda sociedad que excluya, relativamente, el desarrollo del amor, a la larga perece a
causa de su propia contradicción con las necesidades básicas de la naturaleza del hombre.
Hablar del amor no es «predicar», por la sencilla razón de que significa hablar de la necesidad
fundamental y real de todo ser humano. Que esa necesidad haya sido oscurecida no significa
que no exista. Analizar la naturaleza del amor es descubrir su ausencia general en el presente y
criticar las condiciones sociales responsables de esa ausencia. Tener fe en la posibilidad del
amor como un fenómeno social y no sólo excepcional e individual, es tener una fe racional
basada en la comprensión de la naturaleza misma del hombre.</span></i><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Times, Times New Roman, serif;">A nuestros lectores les invito a reflexionar este párrafo y extrapolar en su vida actual. Busquen si no están perdiendo la oportunidad de Amar frente a trabajar, tener mucho dinero, o prestigio o anexas. Al final de este camino llamado vida, lo único que nos vamos a llevar es los momentos de amor. Todo lo material aquí se queda.</span><br />
<span style="font-family: Times, Times New Roman, serif;"><br /></span>
<span style="font-family: Times, Times New Roman, serif;">Existir para amar es el sentido de la vida de los seres humanos, es nuestra Naturaleza.</span><br />
<span style="font-family: Times, Times New Roman, serif;"><br /></span>gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-10359410922628664022016-05-10T21:09:00.000-05:002016-05-10T21:09:52.003-05:00 Más poder a los devs - Microsoft Azure Dev Camp 2016Hace un par de días tuvimos la oportunidad de participar en un <i>Dev Camp</i> enfocado en las tecnologías de <b>Azure</b>, la apuesta a la nube por parte de Microsoft; un servicio que incluye los productos ahora típicos en ofertas de nube: máquinas virtuales, infraestructura-estilo-datacenter, servicios administrados de bases de datos y soluciones de autenticación y seguridad, entre otros. A pesar de estar familiarizados con las ofertas básicas de otros proveedores, resultó ser un vistazo interesante a la perspectiva de un gigante de la tecnología, por mucho tiempo pensado como monolítico y acorbatado, a los procesos y servicios comúnmente relacionados con las empresas más jóvenes y ágiles.<br />
<br />
Aunque Azure es una propuesta con mucho tiempo gestándose, su relativa anonimidad es sorprendente (y esto lo digo como desarrollador primariamente de .Net). Durante nuestro día con Azure pudimos observar 3 servicios principales: servicios administrados de aplicaciones (<b>Azure Web Apps</b>), integraciones con dispositivos Internet-of-Things (<b>Azure IoT Hub</b>), y aplicación y creación de servicios de ciencia de datos (<b>Azure Machine Learning</b>).<br />
<br />
Si hay algo que se puede decir sobre los productos de Microsoft donde la mayoría de las personas estarían de acuerdo, es que <i>Visual Studio</i> es una herramienta genial (mundo <i>FOSS</i>, espero pacientemente sus cartas al editor). Microsoft sabiamente ha casado las diferentes propuestas de su nube a su plataforma de desarrollo de una manera fluida y discreta, abstrayendo muchas de las consideraciones y suposiciones de una integración de este tipo para simplemente dejar al desarrollador desarrollar.<br />
<br />
Azure Web Apps es un servicio interesante que permite aprovisionar, lanzar, probar y monitorear aplicaciones de todo tipo, directamente desde el ambiente de desarrollo. El proceso clásico de levantamiento y configuración de un ambiente que tantas veces se convierte en un agujero de tiempo para el equipo se convierte en una serie de clicks, elección de algunos nombres y uno o dos llenados de tazas de café. Con elecciones de lenguajes como C#, JavaScript, Java, PHP y Python, la habilidad de pasar de un ambiente dev/test a producción en 2 clicks e integración transparente con analíticos de medición y DevOps, simplifica enormemente nuestros procesos y permite que nos concentremos en entregar funcionalidad real (o leer Stack Overflow, sus kilometrajes pueden variar).<br />
<br />
De la misma manera, Azure IoT Hub abstrae muchos de los dolores de cabeza usuales de la comunicación y administración de dispositivos distribuídos, como seguridad de comunicaciones, deshabilitación remota, administración de llaves, e incluso algunos mas recientes como analíticos y ciencia de datos. Una de las demostraciones incluyó el procesamiento de un video de webcam con visión computacional para detectar información general sobre el usuario final, tales como estado emocional general, género y perfil visual (lentes, barba), pasada directamente por un motor de Business Intelligence para generar gráficas y reportes tiempo real.<br />
<br />
En el tema caliente de ciencia de datos y aprendizaje máquina, Azure Machine Learning experimenta con traer las cualidades <i>drag-and-drop</i> del software visual de Microsoft a métodos como entrenamiento, modelado, transformación de datos, regresión, clasificación y validación. Desde la interfaz web se pueden arrastrar módulos preconfigurados, importar código de R, correr simulaciones y despues convertir el proyecto en un servicio Web predictivo basado en los resultados, todo a través de una interfaz similar a Visio. Mi percepción de RStudio ha cambiado drásticamente después de esto, debo admitir.<br />
<br />
En el plano personal, y además de lo ya mencionado arriba, fue bastante agradable ver que Microsoft ya despertó al Nuevo Orden Mundial y abraza muchas tecnologías <i>FOSS</i>, como Node, R, Cordova en el lado móvil y particularmente Linux y su ecosistema. Como desarrollador primordialmente en Windows, se me hace increible mantener mi ambiente IDE preferido pero poder incluír el vínculo con estas nuevas tecnologías tan poderosas con un mínimo de curva de configuración.<br />
Claro está que como buen carro familiar, uno no puede ir tan rápido y tiene bolsas de aire por todos lados, y ciertamente a veces en vez de una vagoneta necesitas un trophy truck de offroad, un Fórmula 1 o un Bugatti sexy, cada proyecto tiene sus características particulares; creo que lo que más nos llevamos del evento es que hay varias maneras de apostarle a la nube y Microsoft en particular busca hacerlo a través de servicios transparentes basados en el evangelista mas poderoso: el desarrollador.Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-6807142506981191202016-05-10T19:03:00.002-05:002016-05-10T19:03:36.748-05:00Youth de Paolo SorrentinoDespués de la ola de super producciones como Civil War, el domingo 8 de mayo fui a ver la película Youth.<br />
<br />
No quiero hacer una sinopsis ni critica de toda la película.<br />
<br />
Cabe destacar la actuación de Michael Caine y Harvey Keitel.<br />
<br />
La película se desarrolla en su mayoría en un hotel spa de Suiza, donde de entrada las escenas visuales son bastante apreciables. Muestra a veces imágenes de gente mayor y como trata de preservar su cuerpo o de algunos jovenes pero cuyo espíritu ha envejecido antes. De repente aparece un Maradona donde es una sombre de lo que fue.<br />
<br />
Hay mucho que entender de la película. Michael Caine interpretando un compositor de música que ya se declaró retirado, con 80 años de edad pero aún con fortaleza física y mental, pero que durante todo el film se niega a volver a su antigua disciplina y poco a poco se descubre por qué.<br />
<br />
Solo un evento que él no esperaba, se da cuenta de que en esta vida, nuestra obra no hay que atarla a las acciones de los demás, y nunca es tarde para crear. <br />
<br />
He visto como mucha gente se ata a su esposo, papás, hijos para justificar su vida y su día a día y cuando algo no sale bien, paran o caen en una etapa de tristeza. Parte de la magia de existir es entender lo que somos y lo que podemos ofrecer, aunque sea lo más simple, por que a alguien más le ayudará tu obra. <br />
<br />
También es reflexionar sobre la juventud, nuestro cuerpo.<br />
<br />
Hoy con el estilo de vida guiado por minuteros y eficiencias de productividad, dejamos para al rato el encontrar un equilibrio físico que garantice a un futuro que podamos soportar los efectos del tiempo y ya no poder dar más por que la salud no lo permite.<br />
<br />
Esta melodía-canción es con la que cierra la película .<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/RQsgSTFw8Q4/0.jpg" src="https://www.youtube.com/embed/RQsgSTFw8Q4?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Traten de ver la película, antes de que la desaparezcan de la cartelera, donde ha sobrevivido a 5 cines, frente a cientos que proyectan Civil War</div>
<br />gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0tag:blogger.com,1999:blog-9071618627294105978.post-403313769268250662016-04-23T05:13:00.001-05:002016-04-23T05:13:26.095-05:00O Reilly Software Architecture ConferenceLa semana del 4 de abril tuve la oportunidad de asistir como asistente/oyente al evento de Software Architecture Conference en la ciudad de Nueva York.<br />
<br />
El objetivo de este evento, es mostrar los principales tópicos en el contexto de arquitectura de software.<br />
<br />
El primer día asistía a dos talleres prácticos, uno impartido por <a href="https://www.thoughtworks.com/" target="_blank">Thoughtworks</a>, en el cual nos enseñaron como ir manejando una aplicación que iba desde el modelo monolítico de multicapa a un modelo de microservicios, llevando esto a conceptos de Continuous Delivery (CD), contenedores (Docker). Lo interesante de este taller fue que mostró que los microservicios no solo es el hecho de hacer un componente de software, sino que también se requiere la automatización de la infraestructura sobre la cual se ejecuta, así como tener un pipeline para llevar el ensamblado y despliegue en dicha infraestructura. Esto es muy importante, por que el desarrollo de software bajo este enfoque no sólo se limita a tener el bloque funcional, sino a también codificar la automatización de la infraestructura. En el ejemplo, usamos <a href="https://www.go.cd/download/" target="_blank">Go</a> para manejar el tema de Continous Delivery.<br />
<br />
Es interesante como el modelo de múltiples capas es calificado como monolítico. Y la verdad ya lo es. Hace 20 años, dada nuestra capacidad de recursos de cómputo, el modelo era útil e inclusive el dividir en varios componentes una aplicación era demandante en arquitectura física. Hoy ya no, con esquemas de virtualización y de nube una aplicación puede ser procesada en decenas o centenas de servidores.<br />
<br />
El otro punto es que el concepto de servidor se está volviendo cada vez menos necesario. El servidor se está volviendo una unidad de procesamiento más, y lo mas importante, no hay que preocuparse por el número de instancias de procesamiento. Es lo que se conoce como serverless computing.<br />
<br />
El segundo taller fue después del almuerzo y orientado a Java, y hablar de como integrar Spring con JEE o viceversa, en algunos lados he visto como unas guerras santas entre fanáticos de ambas visiones. Sabiamente los expositores nos explicaron los detalles de como lograr la convivencia de <a href="http://cdn.oreillystatic.com/en/assets/1/event/145/Integration%20architecture%20with%20Java%20EE%20and%20Spring%20Presentation.pdf" target="_blank">ambos enfoques</a>. A los que están contaminados aún con los cursos monolíticos, ortodoxos y arcaicos que dan en ORACLE de arquitectura JEE, les invito se vacunen y lean este <a href="http://developers.redhat.com/promotions/distributed-javaee-architecture/?tcUser=Gustavo+Tovar&tcDownloadFileName=Modern_Java_EE_Design_Patterns_Red_Hat.pdf&tcRedirect=5000&tcSrcLink=https%3A%2F%2Fwww.jboss.org%2Fdownload-manager%2Fcontent%2Forigin%2Ffiles%2Fsha256%2Fa3%2Fa3ff84543ab8a8e303c85c584c978e6d9f2183539f2afa2c564a7b30645bdae1%2FModern_Java_EE_Design_Patterns_Red_Hat.pdf&p=Modern+Java+EE+Design+Patterns&pv=Modern+Java+EE+Design+Patterns&tcDownloadURL=https%3A%2F%2Faccess.cdn.redhat.com%2Fcontent%2Forigin%2Ffiles%2Fsha256%2Fa3%2Fa3ff84543ab8a8e303c85c584c978e6d9f2183539f2afa2c564a7b30645bdae1%2FModern_Java_EE_Design_Patterns_Red_Hat.pdf%3F_auth_%3D1461399957_332bc9a26d12b29adba9d428beffbfb2" target="_blank">libro</a>.<br />
<br />
En paralelo hubo otros talleres interesantes, uno de ellos se saturó, pero afortunadamente aquí están las <a href="http://conferences.oreilly.com/software-architecture/engineering-business-us/public/schedule/detail/48048" target="_blank">láminas</a>.<br />
<br />
Al otro día, se arrancaron con una serie de platicas (keynotes) bastante interesantes. Una de ellas, sobre <a href="https://www.oreilly.com/ideas/conversational-commerce" target="_blank">Conversational Commerce</a>, muy interesante.<br />
<br />
Después, tome la conferencia sobre como en l<a href="http://cdn.oreillystatic.com/en/assets/1/event/145/Road%20traffic%20analysis%20and%20agile%20architectures%20Presentation.pdf" target="_blank">as carreteras de Noruega</a> se está instrumentando para obtener diversas métricas.<br />
<br />
La siguiente <a href="http://cdn.oreillystatic.com/en/assets/1/event/145/Connect%20and%20control%20IoT%20devices%20in%20minutes%20Presentation.pdf" target="_blank">plática</a> que tome, fue sobre Internet of Things y los diversos esquemas de integración y comunicación. MQTT , Watson, API management y usando BlueMix<br />
<br />
Pasando entonces a la siguiente plática, sobre <a href="http://cdn.oreillystatic.com/en/assets/1/event/145/Domain-driven%20data%20Presentation%201.pdf" target="_blank">Domain Driven Data</a> , que por cierto, me llama la atención como varios arquitectos aún no identifican el concepto de Domain Driven Design y que es un tema que se está mencionando de manera continua para el diseño de microservicios. Aparecieron varios modelos de base de datos NoSQL y el concepto de Command Query Responsability Segregation (CQRS) . Dado el concepto de microservicios, lo que expusieron en esta platica es que ya la arquitectura depende de un solo repositorio de base de datos relacional, sino que puede existir diversos repositorios y de acuerdo al dominio del problema. Lo que si quiero hacer notar es que esto está llevando a un modelo de sistema distribuido donde el <a href="https://dzone.com/articles/better-explaining-cap-theorem" target="_blank">teorema CAP </a>debe ser tomado en cuenta .<br />
<br />
Mucha información en menos de un día, verdad? Y aún faltaban dos pláticas mas.<br />
<br />
La plática sobre las mejores prácticas para implementar el modelo de arquitectura serverless (aún no me atrevo a dar la traducción en español) que dio el CEO de <a href="https://www.iron.io/" target="_blank">iron.io </a> . Lo interesante es que iron.io es una compañía que está apostando bastante al concepto de serverless computing , la idea de microcontainers, procesamiento masivo. Sala llena por cierto.<br />
<br />
La última del día fue sobre como usar AWS Lambda para implantar una a<a href="http://conferences.oreilly.com/software-architecture/engineering-business-us/public/schedule/detail/47978" target="_blank">plicación serverless </a>.<br />
<br />
Por cierto, si quieren tener una herramienta que les ayude a definir API Webs, revisen <a href="http://swagger.io/" target="_blank">Swagger</a><br />
<br />
Llegó el miércoles, el último día, mas keynotes. <br />
<br />
El arquitecto de <a href="https://www.oreilly.com/ideas/from-static-to-future-proof-enterprise-architectures-in-the-age-of-the-customer" target="_blank">HomeDepot</a> platicó la estrategia para ir hacia microservicios. Insisto, no es ahora poner en el mapa de trabajo de TI de las empresas el uso de microservicios, pero si están llegando a un nivel de madurez donde la complejidad de las aplicaciones están generando pesadillas tanto en la ejecución como en tiempo de desarrollo, hay que pensar en un cambio.<br />
<br />
Les pongo estas ligas de Martin Fowler, donde habla del concepto de <a href="http://martinfowler.com/articles/microservices.html" target="_blank">microservicios</a> y ojo, las <a href="http://martinfowler.com/articles/microservice-trade-offs.html" target="_blank">implicaciones</a>. Por favor, comunidad de TI, no caigamos en buzzwords que luego generan los falso profetas (de manera típica, los archienemigos de los arquitectos, ventas).<br />
<br />
<a href="https://www.oreilly.com/ideas/from-static-to-future-proof-enterprise-architectures-in-the-age-of-the-customer" target="_blank">Uno de ellos</a> fue dado por el director de arquitectura de SalesForce y lo que destaco de esta plática es como la arquitectura se ve beneficiada por incluir conceptos como meta datos, la habilidad de combinar piezas de software y el tratar grandes volúmenes de datos.<br />
<br />
Y el último keynote, muy interesante, <a href="https://www.oreilly.com/ideas/lets-make-the-pain-visible" target="_blank">la continua repetición del dolor</a> en el desarrollo de software. Uno de los puntos, es que muchas organizaciones se la pasan gastando recursos en hacer mejoras que derivan en un impacto mínimo o nulo. Pongo <a href="https://www.dropbox.com/s/hpotfc36xjukny8/ideaflow.pdf?dl=0" target="_blank">la liga del libro </a>de <a href="https://leanpub.com/ideaflow" target="_blank">Janelle Klein</a>. Yo diría, basta de <a href="https://en.wikipedia.org/wiki/The_IT_Crowd" target="_blank">IT Crowd</a> way of life. Una <a href="http://www.openmastery.org/" target="_blank">manera responsable de pensar en TI</a><br />
<br />
De ahí, ya la primera plática sobre <a href="http://cdn.oreillystatic.com/en/assets/1/event/145/Unikernel-powered%20transient%20microservices_%20Changing%20the%20face%20of%20software%20architecture%20Presentation" target="_blank">Unikernels</a> y donde empiezo a oír de Russell Pavlicek, quien busca adelgazar a las Virtual Machines para poder acelerar el tiempo de arranque de instancias, particionar los recursos de acuerdo a los microservicios y no desperdiciar recursos en cargar librerías y procesos innecesarios. Un enfoque es el que está haciendo la comunidad de Xen, con <a href="https://mirage.io/" target="_blank">Mirage OS</a>. Me gusto mucho el enfoque de Russell, práctico.<br />
<br />
Otra plática, habla sobre como pensar la arquitectura como un <a href="https://speakerdeck.com/foliosus/how-new-relic-builds-software-a-biological-approach-to-architecture-1" target="_blank">sistema biológico</a>.<br />
<br />
Y lo que esperaba, ver a Adrian Cockfrot en vivo, quien ayudo a Netflix a poder soportar grandes escalas. Su plática fue sobre microservicios.<br />
<br />
Continuado entonces una plática sobre la <a href="http://www.embarc.de/wp-content/uploads/2016/04/SANY16_TOTH.pdf" target="_blank">arquitectura de Netflix sobre nube (AWS) </a><br />
<br />
Y la última del evento, de nuevo fui a escuchar a Rusell Pavlicek, donde su <a href="http://cdn.oreillystatic.com/en/assets/1/event/145/The%20bare-metal%20hypervisor%20as%20a%20platform%20for%20innovation%20Presentation.pdf" target="_blank">plática</a> fue sobre el tema de hipervisores.<br />
<br />
En resumen, un evento interesante, lleno de diferentes enfoques de arquitectura de software, pero bastante orientado a lo práctico, no a lo abstracto. Los expositores son conocidos en su ámbito, muchos de ellos autores de libros de O´Reilly.<br />
<br />
No deja de ser apasionante el arte de la arquitectura de software; dado que todo este cuerpo de conocimiento, toca en lo personal como arquitecto, tratar de sintetizar, tomar decisiones para lograr cumplir con las expectativas técnicas de una solución.<br />
<br />
El arquitecto de software no deja de seguir tecleando código o instalando/configurando. Es muy importante que conozca lo que implica sus soluciones.<br />
<br />
Ojalá las generaciones actuales que luego se coronan de manera inmediata como arquitectos, entiendan que es una gran responsabilidad portar este titulo.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com2tag:blogger.com,1999:blog-9071618627294105978.post-78099780349403037342016-04-20T04:57:00.002-05:002016-04-20T12:12:24.636-05:00El modelo de Innovación de Innbit<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
En <b>Innbit</b> te ayudamos a que tu organización capitalice las ideas de sus recursos humanos para generar innovaciones a través de servicios de que den valor a tus clientes; utilizando un enfoque para dar certidumbre a los proyectos y apoyando con tecnología de vanguardia, con la visión de que dichos servicios tengan un alta diferenciación y <b>ventaja competitiva</b>. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Para esto, tenemos un <b>modelo de innovación</b> y que es la manera para ir enfocando a tu organización en los primeros pasos para generar soluciones innovadoras.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy_zqHJX8UD7zgP9IGcexaz5GoURtOOovvLf878LIfTWFjljUfmdUvIqJNqhfja01omxJYUge6dDsG7eVtvFclbrhJPN3Jsjqg7eXX4RMd-Mi5N4Y5RVVBIkYSkaH3I7-hvNk-8Ln58IA/s1600/IMG_1109.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy_zqHJX8UD7zgP9IGcexaz5GoURtOOovvLf878LIfTWFjljUfmdUvIqJNqhfja01omxJYUge6dDsG7eVtvFclbrhJPN3Jsjqg7eXX4RMd-Mi5N4Y5RVVBIkYSkaH3I7-hvNk-8Ln58IA/s400/IMG_1109.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
El modelo consiste en hacer que tu organización conforme un equipo de personas que ya tienes como parte de tu <b>Capital Humano </b>y con la capacidad y la ansiedad de generar ideas. Es sorprendente, pero en muchas organizaciones la gente que es callada son las que tienen un mejor potencial pero que guardan silencio al identificar culturas ortodoxas o burocráticas. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Para conformar al equipo de innovación, no basta con citarlos y ponerlos en un área de trabajo para ver como se les ocurren ideas. Es muy importante que en una organización identifique el tipo de innovación a buscar. La innovación se puede dar al generar una nueva manera de otorgar los servicios a los clientes o por generar nuevas características sobre productos ya existentes; y es normal que detrás de un proceso burocrático o un producto con baja calidad esté la respuesta y una persona con talento de innovación identifica como una oportunidad (lo contrario es cuando las personas ven los errores pero solo se quejan y nunca proponen como cambiar) y empieza a proponer ideas que típicamente mezclan dos o más conceptos que previamente no eran compatibles.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Piensen cuando tenemos que sufrir tiempos de espera en organizaciones que dan servicio, o cuando nos piden documentos para otra vez comprobar nuestra identidad, o cuando hablas a un centro de contactos y no saben nada de ti. En ese momento está una oportunidad de innovación.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Para que una idea se convierta en innovación, se debe llevar a dicha idea a que sea <b>comercializable</b>, que tenga consumidores que la utilicen y la hagan parte de su vida laboral o personal. Muchos equipos de trabajo se quedan encantados y atrapados en su idea pero eso les impide ir a la fase de comercialización.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
La formula de la innovación es igual a <b>IDEA * COMERCIALIZACIÓN</b>. Si no hay comercialización, no es innovación.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Entonces, que pasos deben seguirse para llevar una Idea a transformarse en una innovación. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
El primer paso es hacer que las personas se conformen como un equipo y sepan a expresar sus ideas. Con la técnica de Lego Serious Play (LSP) se logra integrar equipos de trabajo, permite que el 100% de los participantes aporte y colabore y al concluir las sesiones tienen una maqueta en 3D que representa via metáforas, la visión o estrategia o el producto o servicio. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Una vez que el equipo de innovación se conformó, para cada Idea, debe someterla a estas preguntas:</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>¿ Quién es tu cliente ?</li>
<li>¿ Qué puedes hacer por tu cliente ?</li>
<li>¿ Cómo van adquirir a tu producto o servicio ?</li>
<li>¿ Cómo obtener dinero del producto ?</li>
<li>¿ Cómo diseñar y fabricar a tu producto ?</li>
</ul>
<div>
En Innbit, en esta serie de pasos, también nos atrevemos a ser innovadores. Convertimos una disciplina que es acusada de ortodoxa - <b>Arquitectura Empresarial</b> - y la enfocamos para que se contesten las preguntas anteriores y sumando también <b>Lego Serious Play</b>.<br />
<br />
Al concluir, tenemos un modelo de empresa escalable y que se sustenta en tres pilares tecnológicos:<br />
<br />
<ul>
<li><b>Consumibles Digitales</b> que se traduce a Aplicaciones móviles, Gadgets (Internet of Things) y todo lo que permite entregar y enviar información a las personas</li>
<li><b>Servicios Digitales</b> que se traduce a Servicios Web (o Web API) y que envuelven los procesos y lógica de negocio</li>
<li><b>Nube </b>que se traduce a la infraestructura tecnológica (Computo, Almacenamiento) sobre el cual ejecutar a los servicios digitales</li>
</ul>
<div>
Y algo que es muy importante, como parte de una empresa que quiere innovar y es el hecho de aprovechar la <b>información</b> para identificar a tus clientes, hacer predicciones; utilizando técnicas de <b>ciencia de datos</b>. </div>
<div>
Inclusive, muchas organizaciones pueden vender sus volúmenes de datos para ayudar a identificar comportamiento o tendencias. Hoy siento que muchas organizaciones están ignorando el poder de la información que ya tienen a la mano y están desperdiciando <b>TeraBytes</b> al día. </div>
<div>
<br /></div>
<div>
Entonces, innovar no es una ciencia oculta, es algo que de manera natural cualquier organización puede hacer y utilizando la tecnología de información como diferenciador.</div>
<div>
<br /></div>
<div>
En Innbit te podemos ayudar a dar los pasos que necesites, te acompañamos hasta donde tú desees. Por que nuestro trabajo es despertar al equipo de personas que transformen a tu organización e inspirarles para que definan productos y servicios con Tecnología de Información de vanguardia. </div>
<div>
<br /></div>
<br />
<br />
<br />
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />gusdelacthttp://www.blogger.com/profile/01280814569141135139noreply@blogger.com0