Hace unos días compartimos la historia de la primera especialización de Paradigma sobre Google Cloud. Ahora llega el momento de hablaros de otra nueva especialización que hemos conseguido recientemente: Desarrollo de Aplicaciones sobre Google Cloud.

Para Paradigma Digital, y en especial para Goodly, esta especialización refuerza la alianza y el partnership que tenemos con Google, posicionándonos como un partner con un nivel de conocimiento muy alto y una experiencia contrastada en el desarrollo de aplicaciones sobre GCP.

En este artículo vamos a detallar los puntos claves de “la práctica” del desarrollo de aplicaciones sobre GCP para la creación de aplicaciones cloud native, centrándonos en la evaluación de capacidades específicas de esta especialización.

La especialización: Application Development - Services

La especialización de desarrollo de aplicaciones va mucho más allá de demostrar que sabemos hacer aplicaciones cloud-native. Trata de demostrar la capacidad de diseccionar la integridad de las aplicaciones, de demostrar que existe un proceso productivo para construir, mantener y operar aplicaciones y servicios de diferente naturaleza e identificar oportunidades y puntos de mejora para nuestros clientes. Todo ello, soportado por casos de uso de nuestros clientes y proyectos recientes.

En primer lugar, es importante seleccionar las aplicaciones candidatas a ser evaluadas, para que las evidencias presentadas sean suficientemente robustas a la hora de enseñar el proceso relativo al desarrollo de aplicaciones. Para ello, se recomiendan aplicaciones con las siguientes tipologías:

Independientemente de la aplicación seleccionada, las aplicaciones cloud-native pueden ser muy distintas. Estos son algunos puntos a tener en cuenta para que el desarrollo finalice con éxito:

1 Delivery process for developing applications on Google Cloud

En el desarrollo de aplicaciones no hay un proyecto igual que otro, ni todos los proyectos parten del mismo punto. Esto hace que la naturaleza de este tipo de proyectos sea muy heterogénea. En todos los casos, se define un plan de trabajo siguiendo la metodología agile que nos lleva a realizar entregas de valor constantes y periódicas.

Desde Paradigma hemos definido e instrumentalizado los siguientes subprocesos que nos ayudan a formalizar el proceso de entrega de aplicaciones:

2 Business / functional and technical requirements for solution

En Paradigma buscamos siempre la mejora continúa. Como parte de esta iniciativa y en un proceso iterativo de escuchar, analizar y mejorar lo que ofrecemos a nuestros clientes, junto con la experiencia de los proyectos realizados, ideamos un producto en 2014 que denominamos Sprint 0.

Este producto es el inicio de un proceso iterativo para acompañar a nuestros clientes y ayudarles a entender mejor su producto, objetivos del mismo y, en consecuencia, mitigar sus miedos.

Como resultado de este Sprint 0, el cliente tiene una serie de entregables, como un Product Backlog inicial con el que poder preparar una planificación y una conceptualización para visualizar un boceto de lo que sería el resultado final del mismo.

3 Constraints and assumptions for the solution

Como parte del Sprint 0 y de las metodologías utilizadas para instrumentalizar el proceso iterativo, se analizan y se tienen en cuenta todo tipo de limitaciones: técnico-funcionales, integraciones, dependencias de terceros, limitaciones en tiempo, alcance, etc.

Existe una evaluación continua de los requisitos técnicos y una total transparencia con nuestros clientes. Este proceso es esencial para la gestión de riesgos y alineación con las expectativas del cliente.

4 Security

La seguridad es una parte integral del desarrollo de los proyectos en Paradigma. Una de las tareas más importantes a este respecto es asegurarse de que se cumplen las recomendaciones de seguridad de los proveedores de software y de servicios que empleamos en nuestros proyectos.

El proceso incluye actividades como:

5 Data assessment

Este proceso trata de adaptar la nube y los diferentes servicios del proveedor cloud (GCP), a las necesidades del cliente, de forma tal que el uso de la nube sea lo más óptimo y seguro posible para el ecosistema de datos de los clientes.

Por lo tanto, el objetivo del proceso de data assessment es definir una arquitectura de
almacenamiento,
de tal forma que se pueda crear un nuevo proyecto en GCP de manera automatizada siguiendo las buenas prácticas definidas por cada cliente.

6 Architectural diagram

Desde Paradigma a la hora de presentar documentos de arquitectura, seguimos las best practices de GCP en cuanto a propuestas de arquitectura y usamos los diagramas de arquitecturas de referencia propuestos por Google como base en nuestras propuestas de soluciones a clientes.

La documentación entregada al cliente tiene la siguiente estructura:

7 Analysis of solution, performance, and environment

Este apartado probablemente es uno de los más complejos a nivel técnico, ya que cubre una amplia gama de factores a tener en cuenta. El proceso lleva a cabo un análisis de solución que permite cubrir las necesidades de infraestructura para aplicaciones, componentes, servicios, monitorización, uso de APIs GCP y analítica de datos. También se incluyen las consideraciones de diseño en cuanto a escalabilidad, integración con terceros, seguridad, SLA y Disaster Recovery.

8 Solution components and integrations

Parte del proceso consiste en presentar al cliente documentación detallada sobre su solución. Para ello, una vez debatidas y tomadas las decisiones principales de la fase de análisis de la solución, performance y entornos se elabora un documento técnico con la descripción detallada de todos los componentes de la solución y las integraciones con otros componentes propios o de terceros.

Cada componente estará perfectamente documentado atendiendo a aspectos como:

9 Application development - specific considerations: operations and DevOps

En Paradigma tenemos una amplia experiencia en el desarrollo de aplicaciones, permitiéndonos eficientar los procesos de Operaciones y Devops y contar con perfiles especializados. Consideramos este punto como dos procesos independientes que funcionan conjuntamente:

1. Operaciones, proceso encargado de los siguientes puntos:

2. DevOps, proceso centrado en:

10 Implementation planning

Los proyectos asumidos por Paradigma siguen siempre un proceso de planificación de la implementación similar.

Una vez se consigue una oportunidad de proyecto con un cliente, el equipo encargado de desarrollarlo, se encarga de comenzar las reuniones con el cliente, para empezar a trabajar en la obtención de los requisitos, la planificación de los hitos/sprints y el alcance del proyecto. En cualquier caso, siempre teniendo presente el descubrimiento de riesgos y la mitigación de los mismos.

11 Validation plan

En Paradigma (y como parte de nuestro plan de pruebas) solemos incorporar herramientas que nos permitan realizar distintos tipos de tests y planes de prueba. Generalmente, utilizamos JMeter, Gatling o Locust.

La evaluación de capacidades descrita tiene que estar basada en experiencia demostrable mediante casos de éxito específicos y recientes. Para la especialización de desarrollo de aplicaciones estos son algunos casos de éxito:

Cada día, más especialistas

El reconocimiento de Google (con ambas especializaciones) es una carta de presentación perfecta para que futuros clientes confíen en nuestro equipo para desarrollar nuevas aplicaciones cloud native en la nube de Google, aportando una visión end to end que involucra todas las fases de un proyecto, desde desarrollar y operar su infraestructura, hasta desarrollar y mantener aplicaciones cloud native.

Y, además, a nuestros clientes actuales les proporciona una razón más para seguir confiando en nosotros/as.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.