Escolar Documentos
Profissional Documentos
Cultura Documentos
recomendadas
para el desarrollo
de aplicaciones
modernas
Cómo reinventar la manera en la
que su empresa genera valor
INTRODUCCIÓN
56 %
nuevas aplicaciones modernas en la nube, muchas 1 F
avorecer la realización de pruebas
otras adoptan una estrategia gradual, una aplicación mediante el establecimiento de una cultura
a la vez. Independientemente del enfoque que de responsabilidad
afirmó que las mejoras aumentaron
elija, con seguridad querrá tener en cuenta las
los ingresos en el primer año 2 U
tilizar microservicios para crear
prácticas recomendadas que hemos observado
aplicaciones integradas por componentes
implementar a nuestros clientes mientras creaban
3 A
ctualizar aplicaciones e infraestructura
aplicaciones modernas.
42 %
rápidamente mediante la automatización
Estas prácticas recomendadas para el desarrollo de la canalización de lanzamientos
de aplicaciones modernas surgen de nuestra 4 M
odelar y aprovisionar recursos para
adoptó una postura empresarial experiencia en la creación de aplicaciones para aplicaciones mediante el uso de
que prioriza la digitalización Amazon.com, así como de la prestación de infraestructura como código
servicios a millones de clientes de AWS de todo el 5 S
implificar la administración de
mundo. Hemos observado prácticas comunes que infraestructura con tecnologías sin servidor
permitieron a nuestros clientes aumentar el nivel de
“La invención requiere dos cosas: 6 Incrementar
la visibilidad para mejorar
agilidad y crear aplicaciones mejores que respaldan
poder realizar muchas pruebas el rendimiento de las aplicaciones
el éxito de sus empresas. Si bien es posible abordar
7 P
roteger el ciclo de vida entero de las
y no tener que lidiar con el daño estas prácticas desde cualquier punto de partida
aplicaciones mediante la automatización
colateral de las pruebas fallidas”. y en cualquier orden, el resultado es el mismo:
de los procesos de seguridad
aplicaciones más seguras, fiables, escalables y
–Andy Jassy, CEO, Amazon Web Services
rápidamente disponibles para sus clientes y socios. • Comience a implementar el desarrollo
de aplicaciones modernas hoy mismo
3
INNOVADORES DIGITALES
1
Digital Rewrites The Rules Of Business, The Vision Report In The Digital Business Playbook, Nigel Fenwick y Ted Schadler,
26 de febrero de 2018, ©2018 Forrester Research, Inc.
4
INNOVADORES DIGITALES
Si desea innovar a escala, • Interacción directa con los clientes - Utilizar precisión de la toma de decisiones desde el
plataformas digitales para entrar en contacto área editorial a la de ventas mediante el uso de
coloque la tecnología con los clientes y atender sus necesidades datos procesables recopilados a partir de una
como elemento central de manera directa ayuda a las empresas a gran cantidad de fuentes.
6
UNA CULTURA DE RESPONSABILIDAD
7
CULTURA DE RESPONSABILIDAD/CAPITAL ONE
Capital One se dio cuenta de la importancia Mediante la modificación de la manera en la que “Establecer una cultura de desarrolladores
de convertirse en una excelente compañía de entrega software con la nube de AWS, Capital sólida es importante para atraer y conservar
tecnología digital para poder continuar siendo One logró reducir el tiempo necesario para crear profesionales talentosos. Adoptar un proceso
un excelente banco. Con ese objetivo en mente, infraestructura de aplicaciones en un 99 %. El de DevOps en la nube es tan solo otra manera
adoptaron un modelo de DevOps para sus cambio también fomentó una cultura de mayor mediante la cual podemos fomentar y respaldar
equipos de productos. Este modelo unifica los colaboración y ayudó a la compañía a atraer la existencia de equipos independientes y
equipos de desarrollo y operaciones y utiliza excelentes desarrolladores. autónomos que se sientan empoderados para
automatización, monitorización e integración hacer su mejor trabajo todos los días”.
continua de código nuevo para lograr ciclos
–George Brady, vicepresidente ejecutivo y director
de desarrollo más rápidos.
de tecnología, Capital One
8
MICROSERVICIOS
9
MICROSERVICIOS
Para una compañía en rápido crecimiento que TODO Y UNA SOLA COSA: DOS TIPOS DE APLICACIONES
intenta innovar y competir, este contexto de
sobrecargas y lentitud es inaceptable. Si adopta
los microservicios, puede dividir una aplicación
Aplicaciones monolíticas Hace todo
monolítica en servicios de funciones mínimos que
se pueden implementar juntos para lograr un Aplicación única
caso de uso más amplio. Los equipos que crean
cada microservicio asumen la responsabilidad Debe implementarse una aplicación entera
de diseñar, implementar, proveer respaldo en
Una base de datos
producción, introducir correcciones y, sobre todo,
se encargan de la calidad. Organización en función de capas de tecnología
La independencia tiene sus beneficios. Cuando Estado en cada instancia de tiempo de ejecución
una aplicación monolítica se divide, cada
microservicio cuenta con su propio almacén de Una pila de tecnología para la aplicación entera
datos completamente descentralizado. Ya no
existen bus de servicios empresariales, bases de
Aplicación monolítica
datos únicas ni ningún recurso integral. También
es posible modificar y actualizar cada componente
con rapidez, sin afectar demasiado la aplicación en Microservicios Hace una cosa
su conjunto. Ahora que logró reducir el impacto de
cualquier cambio, puede empezar a probar ideas Servicios de funciones mínimos
nuevas con mayor frecuencia y menor riesgo.
Implementación individual, interacción conjunta
El estado se externaliza
10
MICROSERVICIOS/YELP
Gracias a su firme enfoque en conectar a las El equipo de Yelp utilizó AWS Step Functions “Podemos seleccionar tareas
personas con empresas locales, Yelp logró para refactorizar su proceso monolítico de forma individuales de manera flexible
generar una de las comunidades más leales segura y gradual, modelando tareas pequeñas
y migrarlas a AWS Lambda, y
de Internet. La compañía tomó la decisión de individualmente mientras incorporaba pasos
reemplazar su proceso monolítico de facturación nuevos al flujo de trabajo. Esta metodología Step Functions nos compaña durante
de suscripciones, que controla una sección suministró mayores niveles de visibilidad para todo el trayecto desde la estructura
de vital importancia para sus operaciones: realizar un seguimiento del progreso de cada monolítica a la sin servidor, lo que nos
compras recurrentes en más de 100 000 cuentas etapa, coherencia del manejo integrado de errores, ayuda a crear rápidamente sistemas
publicitarias. Yelp trabajó junto con AWS para eficiencia de marcos paralelos y flexibilidad para
más eficientes y resilientes”.
transformar de manera segura la plataforma de ejecutar tareas independientemente de si se
facturación crítica para el negocio en un entorno encuentran en entornos locales, en contenedores –Dave Marin, ingeniero de minería de datos, Yelp
sin servidor basado en microservicios modernos o en funciones.
alojados en la nube.
11
AUTOMATIZAR LA CANALIZACIÓN DE LANZAMIENTOS
Para poder agilizar dicho proceso, debe automatizar cada uno de esos pasos.
Mediante la automatización, puede crear un movimiento repetible que aumente la
velocidad de su rueda. Estos procesos se denominan integración continua y entrega
continua (CI/CD). Automatizar la canalización de lanzamientos a través de CI/CD Más detalles:
ayuda a los equipos a lanzar código de alta calidad con mayor rapidez y frecuencia.
Integración continua - La integración continua es una práctica
Los equipos que adoptan CI/CD envían más código y lo hacen con más de desarrollo de software en la que los desarrolladores fusionan
celeridad. De hecho, según el informe "Puppet state of DevOps", los equipos que modificaciones de código en un repositorio centralizado.
implementan estas prácticas tienen un índice de error 5 veces inferior, un plazo A continuación, se ejecutan compilaciones y pruebas automatizadas.
desde la etapa de confirmación a la de implementación 440 veces más rápido y un La integración continua se refiere con más frecuencia a la etapa de
índice de implementaciones con una frecuencia 46 veces superior. Particularmente, compilación o integración del proceso de lanzamiento de software e
los equipos que incorporan CI/CD invierten el 44 % de su tiempo en la creación de incluye tanto un componente de automatización (por ej., un servicio
características y código nuevos en vez de en administrar procesos y herramientas. de compilación o CI) y un componente cultural (por ej., aprender
Las canalizaciones de CI/CD se han convertido en la nueva planta de producción para a realizar integraciones con frecuencia).
la creación de aplicaciones modernas. En Amazon, comenzamos a usar CI/CD para
aumentar la velocidad con la que se realizaban los lanzamientos y los resultados Entrega continua - La entrega continua es una práctica de desarrollo
fueron increíbles: logramos millones de implementaciones al año y el nivel de de software en la que las modificaciones de código se preparan
agilidad sigue aumentando de un año al siguiente. Para que las compañías puedan automáticamente para entregarse en la etapa de producción. La
beneficiarse de nuestra experiencia, creamos un conjunto de herramientas destinadas entrega continua se amplía sobre la integración continua mediante
a desarrolladores que están basadas en las herramientas que utilizamos internamente. la implementación de todos los cambios de código en un entorno
De esta manera, nuestros clientes pueden entregar código con mayor rapidez. de pruebas o de producción después de la etapa de compilación.
12
AUTOMATIZACIÓN CI/CD/LULULEMON
Con AWS, Lululemon Athletica pone en Lululemon disminuyó el tiempo necesario para “Cualquier canalización de integración e
funcionamiento entornos de desarrollo en cuestión crear nuevas cuentas de producción de dos días a implementación continuas debe ser automatizada,
de minutos en vez de días, automatiza el entorno y unos pocos minutos mediante el uso de plantillas fácil de administrar y detectable, y eso es
permite el uso de la integración e implementación de AWS CloudFormation y AWS CodePipeline. El exactamente lo que obtenemos mediante el uso
continuas. La compañía canadiense vende incremento de agilidad permitió a los equipos de de AWS. Obtenemos un nivel de simplicidad y
vestimenta inspirada en el yoga y otras prendas de desarrollo de Lululemon realizar pruebas y lograr transparencia que no podíamos lograr en nuestro
vestir en más de 350 ciudades de todo el mundo. las mejores soluciones en vez de conformarse con entorno local anterior”.
Lululemon ejecuta sus entornos de desarrollo y aquello para lo que tenían recursos asignados.
–Sam Keen, director de arquitectura de productos,
pruebas (así como una próxima aplicación móvil) Lululemon
en la nube de AWS.
13
INFRAESTRUCTURA COMO CÓDIGO
14
INFRAESTRUCTURA COMO CÓDIGO/WASHINGTON POST
The Washington Post reestructuró su modelo a los usuarios crear rápidamente sus propias “La capacidad para realizar implementaciones con
empresarial mediante la creación de Arc aplicaciones en la plataforma a través del uso del rapidez es fundamental. Cuando se necesita iterar
Publishing, una plataforma de SaaS que permite código de dichas plantillas. Con un compromiso con agilidad en un sistema, dicha capacidad es un
a cualquier compañía del sector de medios de enfocado en el mantenimiento del nivel de gran beneficio. Eso es lo que logramos con AWS”.
comunicación aprovechar la plataforma de calidad y de la velocidad, The Post permite a sus
–Patrick Cullen, arquitecto en jefe, The Washington Post
publicación escalable y flexible que The Post equipos distribuidos innovar de manera autónoma
desarrolla para sus propios fines. Arc, que está con supervisión mínima. Dicha libertad, sumada a
diseñada para lograr una innovación constante, la habilidad del periódico para conservar equipos
tiene más de 100 microservicios conformados pequeños y ágiles, ayudó a que Arc Publishing se
por más de 3000 contenedores que se ejecutan convirtiese en un éxito más allá de las paredes
en más de 150 instancias de Amazon EC2. de su propia sala de redacción. Mediante el uso
de una plataforma de desarrollo personalizada,
The Post adoptó una estrategia de infraestructura también creada en AWS, Arc finaliza diariamente
como código (IaC) en relación con la creación más de 50 implementaciones.
de plantillas de infraestructura, lo que permite
15
TECNOLOGÍAS SIN SERVIDOR
implificar la administración de
S ¿Cuál es la definición de la modalidad sin servidor en AWS?
infraestructura con tecnologías Cuando decimos "sin servidor", nos referimos a la eliminación de las
operaciones de servidor, tareas arduas que no marcan ninguna diferencia.
sin servidor Esta es una distinción importante porque le permite enfocarse en la
creación de aplicaciones en vez de en la administración y el escalado de la
A medida que se modifiquen los procesos de entrega de software y los
infraestructura necesaria para respaldar la aplicación. Los cuatro principios
patrones de arquitectura, probablemente quiera adoptar un modelo operativo
de un modelo operativo sin servidor son:
que le permita quitar cualquier actividad que no sea una competencia principal
de su empresa. Para lograr un nivel de agilidad que le permita innovar con
1. Eliminación de la administración de servidores – No es necesario
rapidez, recomendamos crear arquitecturas basadas en microservicios que
aprovisionar ni mantener servidores. No se debe instalar, mantener
utilicen tecnologías sin servidor, siempre que sea posible.
ni administrar software ni tiempo de ejecución.
Las tecnologías sin servidor son ideales para las compañías de gran crecimiento que desean
innovar con rapidez. Estas tecnologías respaldan el trabajo de equipos responsables encargados
de crear aplicaciones modernas y evita que estos deban pensar en servidores; con la modalidad
sin servidor, todo está automatizado. Las tecnologías sin servidor permiten a los equipos trabajar
aún más rápido y conservar un enfoque específico en las actividades que diferencian su empresa,
de manera que pueda aumentar la velocidad de su rueda de la innovación.
16
VISIBILIDAD
17
SEGURIDAD Y CONFORMIDAD
Proteger el ciclo de
vida entero de las
aplicaciones mediante
la automatización de los
procesos de seguridad CANALIZACIÓN DE ENTREGA
Si bien esta práctica recomendada se incluyó
al final, no se equivoque: la seguridad de las
Compilar Probar Lanzar
aplicaciones es la mayor prioridad. La seguridad y
la conformidad deben incluirse en cada etapa del
ciclo de vida del desarrollo de aplicaciones y en
cada componente de la aplicación. Usted desea
garantizar que sus aplicaciones funcionen de la Desarrolladores Seguridad Clientes
manera prevista (y solo de la manera prevista)
para poder proteger su empresa y sus clientes. www
18
SEGURIDAD Y CONFORMIDAD
Más detalles:
19
SEGURIDAD Y CONFORMIDAD/FICO
FICO provee un servicio de calificación crediticia desarrolladores pudieran enfocarse más en la ahora se puede finalizar en un día. A los fines de
y otros servicios al 95 % de las instituciones creación de características y funcionalidad, FICO limitar qué código se envía a producción, FICO
financieras más grandes de los EE.UU. Innovar quería migrar DMS a la nube. Al mismo tiempo, usa un ciclo de vida de desarrollo de software
con rapidez es clave para ser líder del sector. debía ofrecer un nivel de seguridad sólido y administrado para garantizar que los datos
Sin embargo, durante muchos años, FICO no continuar cumpliendo con las normas de PCI, financieros de sus clientes cumplan las obligaciones
contó con la agilidad necesaria para desarrollar GDPR, entre otras. de conformidad correspondientes. Para ello, utiliza
e implementar sus soluciones, como su producto herramientas de seguridad propias y servicios de
Después de evaluar las opciones disponibles,
estrella FICO Decision Management Suite AWS para cumplir todos los requisitos normativos
FICO migró DMS a AWS, lo que permitió a la
(DMS), con rapidez. Con el objetivo de que los y de seguridad.
organización introducir más innovación al mercado,
y con mayor rapidez. Lo que solía llevar semanas
20
RESUMEN FINAL
21
© 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Todos los derechos reservados.
RESUMEN FINAL
El desarrollo de aplicaciones
modernas en AWS
Millones de clientes de todo el mundo (incluidas las startups de mayor crecimiento, Más información acerca de cómo
grandes corporaciones y agencias gubernamentales líderes) confían en AWS para implementar prácticas recomendadas para
respaldar su infraestructura, incrementar el nivel de agilidad y disminuir los costos.
AWS ofrece una cartera integral de servicios para respaldar su negocio mientras
el desarrollo de aplicaciones modernas g
desarrolla aplicaciones modernas.
Informática sin servidor Servicio de cola Mensajería de Organización Bases de datos MYSQL
basada en eventos de mensajes publicación o suscripción AWS Step y POSTGRESQL
AWS Lambda Amazon SQS Amazon SNS Amazon Aurora Serverless
SEGURIDAD
Control del acceso Detección de amenazas Nube virtual privada Protección contra Administración de
AWS Identity and Access Amazon GuardDuty Amazon Virtual Private ataques DDOS certificados SSL/TLS
Management (IAM) Cloud (VPC) AWS Shield AWS Certificate Manager
22