DevOps para desarrollo móvil

Desarrollo integral y operaciones para obtener calidad y el suministro continuo de plataformas múltiples.

La informática móvil es probablemente el tema más popular para los equipos de desarrollo y operaciones en este momento. Los empleados de grandes y pequeñas empresas tienen varios dispositivos móviles que utilizan para su trabajo y muchos de ellos son personales. Las empresas de todo el mundo quieren explotar el mercado móvil, al proporcionar a sus clientes y usuarios aplicaciones que facilitan la informática móvil. De esa forma, es importante para las empresas pensar no sólo en el desarrollo de la capacidad móvil, sino también cómo la aplicarán y cómo garantizarán la continuidad de las capacidades a medida que esto cambie con el paso del tiempo. Este artículo cubre cómo DevOps (desarrollo y operaciones) puede ayudar a enfrentar estas cuestiones de implementar diferentes versiones de aplicaciones a diferentes dispositivos.

Michael Rowe, Rational Strategist, IBM

Michael Rowe es parte del equipo de estrategia comercial de IBM Rational y se ha focalizado en la integración entre el desarrollo y las operaciones en Rational por más de cuatro años. Durante los últimos años, ha estado observando la intersección entre el fenómeno de la aplicación móvil y la infraestructura de TI existente en el contexto de cómo gestionar el desarrollo y la aplicación de estas aplicaciones en la infraestructura.



24-09-2012

Leer la transcripción del video anterior.

Aplicaciones móviles: Nuevo proceso de pensamientos y comportamientos

En el espacio móvil, hay una plétora de posibles plataformas de desarrollo. De alguna manera, es similar a la situación en el desarrollo del escritorio tradicional de hace muchos años atrás, cuando existían varios estándares de competencia. Lo que es diferente de los móviles es que no sólo hay muchos sistemas operativos competidores, como Android, iOS, BlackBerry y Windows, sino que también hay muchas características de dispositivos diferentes: resoluciones de pantalla, procesadores, capacidades de gráficos, capacidades de redes y más. Cada uno de estos agrega una capa potencial a la complejidad de la implementación en los contextos móviles.

Como resultado, las empresas necesitan utilizar diferentes procesos de pensamiento y comportamiento cuando se desarrolla y diseña para dispositivos móviles. Por ejemplo, un enfoque que muchas empresas utilizan en la actualidad consiste en focalizarse en aplicaciones móviles habilitadas por la Web. Los equipos de desarrollo que ya están trabajando en portales web y en capacidades web simplemente los extienden a móviles por medio de HTML5.

Sin embargo, la desventaja de ese enfoque es que no es posible explotar todo el poder y las características de las diferentes plataformas móviles. Inevitablemente, los usuarios solicitan una mejor navegación con la funcionalidad nativa existente en el dispositivo móvil, como la aplicación del calendario. Cumplir con estas demandas requiere aplicaciones nativas cuando la plataforma no ofrece APIs para acceder a las funciones—, y es estonces cuando usted comenzará a hacer preguntas sobre cuáles y con cuántas plataformas soportará. Además, ¿cuántas versiones de la plataforma mantendrá? Dado que la mayoría de los clientes mantendrán un dispositivo por pocos años, ¿cuánto riesgo hay en excluir una versión y no elegir brindar ayuda a estos clientes? ¿Sustenta o excluye una plataforma completa, como iOS? ¿Una versión de Android, como 3.2? ¿Extiende las capacidades completas de Jelly Bean, la última versión de Android?

Junto con el desafío del desarrollo y la implementación de las aplicaciones móviles, se encuentra lo que se llama "masificación del consumo" de TI. Más y más empleados y clientes aportan sus propios dispositivos en el contexto empresarial. Por ejemplo, en IBM, en enero, había aproximadamente 10 000 iPads dentro de la empresa y más de 30 000 de otros dispositivos iOS. Esto significa que una empresa ya no puede tener un estándar corporativo que establezca que sólo soportarán iOS, versión 4, dado que los consumidores compran iPhones actualizados o Samsung Galaxies, tablets y otros smartphones. Aunque existan ventajas cuando las empresas utilizan los dispositivos de sus empleados, la masificación del consumo crea un gran conjunto de contextos orientados, lo que aumenta los costos tanto del desarrollo como de la gestión.


Los escollos de la implementación de aplicaciones móviles

Uno de los escollos principales del desarrollo y la implementación de aplicaciones móviles es acumular demasiados cambios en una implementación general. Este método en cascada tradicional de desarrollo también prevalece en el desarrollo de la aplicación empresarial. Una empresa invierte de seis a ocho meses trabajando en requisitos, desarrollo, pruebas para luego producir su aplicación masiva. El problema es que probablemente, durante todo este tiempo, los equipos involucrados pierdan los requisitos, el seguimiento de los componentes y hasta puedan llegar a destruir parte de la construcción. Entonces, para reducir ese riesgo, la empresa implementa un proceso de gestión complejo y riguroso.

Generalmente, las empresas quieren aplicar este mismo enfoque para el desarrollo y la implementación móvil, dado que pretenden realizar el primer lanzamiento al mercado de una capacidad móvil para que su base de usuarios o empleados sea perfecta. En realidad, la aplicación no tiene que ser perfecta; simplemente, tiene que ser utilizable e intuitiva. Sin embargo, la mayoría de las empresas no se dan cuenta de esto e invierten mucho tiempo y esfuerzo en lo que podría convertirse en un esfuerzo costoso — y, a menudo, tardío. La mayoría de las aplicaciones que son el resultado del desarrollo en cascada tardan en salir al mercado y, a menudo, terminan no satisfaciendo las necesidades de los usuarios.

DevOps es una manera de enfrentar los desafíos de desarrollo de varios sistemas operativos, dispositivos y la masificación del consumo al extender la metodología ágil de desarrollo para implementar rápidamente la funcionalidad necesaria para aplicaciones móviles exitosas.


El poder de DevOps

Básicamente, DevOps atiende las necesidades de implementar una aplicación en funcionamiento con las últimas funciones, fuera del contexto de producción en un punto dado en el tiempo. Este es un enfoque ágil, donde la metodología del desarrollo en cascada no funcionará. Es importante definir sus requisitos y desarrollar en pequeña medida piezas funcionales del valor comercial. Todas las noches, cada quince minutos o cada vez que se verifica un cambio en el sistema de gestión de un código fuente, usted quiere asegurarse de que es posible construir su función comercial o para productos. Esta es la capacidad de integración continua de DevOps. Además, dada la complejidad de las aplicaciones móviles empresariales, es no es sólo compilar el código para el dispositivo móvil. Las aplicaciones empresariales nivelan los sistemas internos, lo que también podría necesitar incluir una nueva funcionalidad.

Capturar la compilación e implementarla a través de contextos diferentes requiere un conjunto robusto de capacidades de envío continuo que pueda empujar las aplicaciones:

  • Desde el escritorio de un desarrollador con un simulador Android, iOS u otra plataforma móvil
  • Para el contexto de prueba que podría implicar una prueba de aparatos telefónicos diferentes de terceros
  • Para los sistemas internos que exponen servicios para consumir mediante dispositivos móviles
  • Y dentro de un contexto de producción donde se lo envía a varios dispositivos

Cada plataforma tiene características diferentes desde una perspectiva de implementación. Sin embargo, no importa qué plataforma se utilice para que el envío sea exitoso, sino que debe identificar, rastrear, captar y probar cada cambio. Esto requiere de un enfoque disciplinario que una a los equipos de desarrollo y operación para garantizar suministros de software de alta calidad, confiables y frecuentes. Los equipos de desarrollo y operación trabajan juntos hacia un objetivo común: suministro continuo de aplicaciones móviles en funcionamiento sin que nadie culpe a otros o tenga excusas. La automatización es muy crucial.

Ese es el motivo por el cual DevOps es tan poderoso para el desarrollo y la implementación de las aplicaciones móviles. DevOps puede:

  • Capturar cambios.
  • Automatizar cómo pueden realizarse esos cambios.
  • Automatizar las pruebas.
  • Mantener un mínimo de cambios, lo suficiente como para reducir el riesgo del negocio cuando se trasladan a un ambiente de producción.
  • Garantizar que, en cada etapa a lo largo de la canalización, se repliquen y empujen las funciones comerciales empaquetadas.

Con DevOps, está utilizando un enfoque disciplinado y automatizado al aplicar mejoras funcionales pequeñas que podrían, con el paso del tiempo, convertirse en una capacidad compleja y de gran extensión. Empuja sus aplicaciones y sus actualizaciones a través de sus capacidades de aprovisionamiento hacia los dispositivos de varios puntos finales en sus ecosistema móvil. DevOps también significa transparencia en los cambios, entonces todos los accionistas están al tanto de cómo las nuevas capacidades están progresando y, de esa forma, reducen el riesgo comercial. Se toman las métricas y las medidas y se las expone en tableros, lo que aumenta la transparencia y la responsabilidad.

DevOps es un enfoque ideal cuando también considera que el marco de tiempo para el suministro de las aplicaciones móviles es más breve que para las aplicaciones empresariales. Las empresas quieren comenzar ya. Por lo tanto, es importante tomar el tiempo necesario para integrar los grupos y los procesos en lanzamientos de aplicaciones móviles y de actualizaciones, y ayudar a todos a entender que el objetivo no es la perfección; la meta es el avance. Esto inicia todo de la forma correcta y el progreso es más rápido y mucho mejor. Las eficiencias suceden y los procesos se mejoran al mismo tiempo que se los automatiza.


Conclusión

Las empresas de todo el mundo quieren explotar el mercado móvil al proporcionar a sus clientes y usuarios aplicaciones que facilitan la informática móvil. Para hacer esto, es importante pensar en el desarrollo de la capacidad, cómo la implementará y cómo puede garantizar la continuidad de sus capacidades a medida que las cambia con el transcurso del tiempo. DevOps ayuda garantizar un ciclo de vida exitoso de las aplicaciones móviles que toma todo esto en cuenta. No solo proporciona automatización, sino que resultados comerciales porque DevOps estrecha el ciclo de retroalimentación entre los desarrolladores y las operaciones. Los desarrolladores pueden hacer cambios más rápidamente y las organizaciones pueden acelerar el refinamiento y las actualizaciones de sus aplicaciones.

Recursos

Aprender

Obtener los productos y tecnologías

  • Evalúe los productos de IBM de la forma que más le convenga: Descargue pruebas de productos, pruebe un producto en línea, utilice un producto en el contexto de la nube o pase algunas ora en SOA Sandbox para aprender a implementar eficientemente arquitectura orientada al servicio.

Comentar

  • Participe de la comunidad developerWorks. Conéctese con otros usuarios de developerWorks mientras explora los blogs conducidos por desarrolladores, foros, grupos y wikis.

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Desarrollo móvil, Rational
ArticleID=836546
ArticleTitle=DevOps para desarrollo móvil
publish-date=09242012