DevOps, un enfoque ágil para el desarrollo de aplicaciones móviles
DevOps agiliza el ciclo de vida de las aplicaciones, impactando en la habilidad para responder rápidamente a las oportunidades del mercado.
Para muchas empresas, cumplir con las expectativas de sus clientes requiere una gran dosis de flexibilidad y agilidad. Por ello, crear aplicaciones más rápido, con menor costo y mayor calidad se convierte en una ventaja competitiva, y allí es donde entra DevOps. Este movimiento, orientado a facilitar la colaboración entre las áreas de desarrollo y operaciones de TI de una compañía, busca hacer más ágil el ciclo de vida de la entrega de software y así impactar en la habilidad de una empresa para responder rápidamente a las oportunidades del mercado.
Francisco Dal Fabbro, vicepresidente de preventas y CTO para América Latina de CA, explicó que la tecnología que soporta DevOps permite que las áreas de desarrollo aprovechen los ambientes de virtualización para crear productos más rápidamente, y el enfoque ágil facilita encontrar posibles errores de manera temprana en el ciclo de desarrollo del software, bajando así los costos que implicaría una corrección tardía de los mismos.
“DevOps debería servir para todas las empresas que quieran producir aplicaciones más grandes, más baratas, y de mayor calidad en general. Este enfoque tiene su mayor valor cuando las organizaciones deben desarrollar aplicaciones que necesitan estar en el mercado muy rápidamente, o crear nuevas funcionalidades rápidamente”, dijo Dal Fabbro.
El ejecutivo apuntó que algunas industrias están más adelantadas, como las que tienen la satisfacción del cliente como algo de primer nivel; es decir, las de telecomunicaciones, la industria financiera, la de seguros y los nuevos negocios que tienen que crear innovación de forma más rápida.
Sin embargo, el ejecutivo indicó que, por cuestiones de volumen, las empresas más grandes y aquellas que se dedican al desarrollo de software serán las que obtengan los mayores beneficios de DevOps.
Ambiente virtualizado, esencial para la agilidad
Crear un ambiente orientado a crear nuevos servicios y aplicaciones muy rápidamente pasa por la virtualización del entorno. ¿Cómo empezar? Dal Fabbro recomendó identificar un servicio crítico, pero que permita tenga un caso de negocio que traiga beneficios muy rápidamente, y luego ir avanzando a otras áreas dentro de la compañía.
“Normalmente no se hace la virtualización de todos los servicios de una sola vez, sino de forma incremental. Siempre se busca algo que sea crítico, una gran restricción, porque es muy caro crear un ambiente de pruebas. Eso justifica la inversión, de forma que traiga los beneficios muy rápidamente”, dijo Dal Fabbro.
Al aislar los ambientes productivos de desarrollo, se crea un ambiente seguro para los desarrolladores, porque no pueden transmitir datos a otros servicios externos. Si a esto se le añade data mining se puede también enmascarar los datos, para que sea lo más próximo al ambiente real en términos de funcionalidad.
Adicionalmente, con herramientas de simulación se puede probar que todos los componentes que forman parte de una aplicación funcionan bien, antes incluso de integrarlos. Dal Fabbro explicó que estos simuladores permiten representar los componentes que aún no existen, o que están siendo desarrollados por terceros, para que los equipos puedan terminar con su desarrollo. Igualmente, los simuladores pueden permitir aparentar situaciones reales para probar el correcto desempeño de una aplicación.
“Cuando se desarrolla una aplicación para servicios financieros, por ejemplo, no se puede acceder al servicio real [de una tarjeta de crédito] para ver si está funcionando bien, así que resulta fundamental una herramienta como Lisa Search Virtualization de CA para simular estos servicios en tiempo real”, comentó.
Eso mismo pasa con las pruebas que requieren datos. Se puede crear un ambiente virtual de datos con muestras que simulan datos reales para cada desarrollador, y permitir que los equipos sean autosuficientes y rápidos. Además, las simulaciones facilitan encontrar errores más pronto en el desarrollo, y detectar brechas de seguridad.
“El mercado para DevOps en América Latina está detrás del de Estados Unidos, pero no mucho. Creo que están avanzando muy rápidamente, y que [la región] encierra grandes oportunidades”, subrayó Dal Fabbro.
El ejecutivo señaló que espera un crecimiento muy rápido en operadoras, bancos y empresas de retail.
Pasos para implementar DevOps
Dal Fabbro dijo que para seguir el enfoque de DevOps, una empresa necesita:
1. Unametodología de desarrollo, preferentemente las que implementan las metodologías ágiles.
2. Crear un ambiente de codificación y modelamiento de las aplicaciones que utilicen esta tecnología. No importa el lenguaje de desarrollo, pues hay muchas herramientas de producción de código.
3. Crear ambientes de pruebas durante el ciclo de desarrollo. Hay que tener muy claro cuál es el ciclo de vida del desarrollo de software, la gestión del ciclo de vida de las aplicaciones, y el proceso.
4. Colocar el software en producción de forma más ágil. Esto puede lograrse a través de la colocación automatizada en producción del código creado y probado, con poca intervención de los humanos. Esto también permitirá una entrega continua.