Diapositivas del primer live de mi canal de YouTube, donde hablamos de las tendencias más importantes de arquitectura y desarrollo de software en el 2019.
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Socialmetrix
Juan Martín Pampliega presenta sobre la construcción de una infraestructura de Big Data escalable y rentable. Explica que evolucionaron su arquitectura para manejar un volumen creciente de datos, reducir tiempos de procesamiento, y mitigar errores. Adoptaron conceptos como la arquitectura Lambda y sistemas distribuidos. Implementaron Kafka, Spark y Cassandra para lograr procesamiento distribuido, robusto y escalable. Aprendieron que es importante probar los sistemas y monitorearlos, y que herramientas no deben usarse
Este documento describe la evolución de las prácticas de TI desde los enfoques tradicionales hasta los enfoques ágiles y DevOps. Explica que DevOps surgió para mejorar la colaboración entre los equipos de desarrollo y operaciones. También describe cómo DevSecOps integra la seguridad en todas las fases del ciclo de vida del desarrollo de software de una manera ágil y automatizada.
Modelos del ciclo de vida del softwareAbner Torres
Este documento describe diferentes modelos de ciclo de vida para el desarrollo de software. Explica que los modelos prescriptivos prescriben actividades, tareas y productos para cada proyecto. Luego describe el modelo en cascada, incremental y evolutivos como los paradigmas más antiguos. Finalmente, analiza cuando se utilizan cada uno y sus ventajas e inconvenientes.
En los últimos años, la forma de desarrollar software ha evolucionado. Nuevos patrones, nuevas arquitecturas y nuevas tecnologías como cloud y microservicios. Pero, ¿cómo desarrollo ahora? ¿Cómo despliego el software? ¿Cómo manejo los nuevos modelos de base de datos? DevOps y DataOps son la respuesta.
El documento describe el Desarrollo Rápido de Aplicaciones (RAD), un proceso de desarrollo de software que permite construir sistemas en poco tiempo, normalmente entre 60 y 90 días. El RAD se caracteriza por el uso de equipos híbridos, herramientas especializadas, "timeboxing" y prototipos iterativos y evolucionarios. El proceso implica modelado de gestión, datos, procesos y generación de aplicaciones con pruebas de entrega.
Este documento describe los conceptos y prácticas del Continuous Delivery. Explica que el Continuous Delivery busca entregas de software frecuentes, baratas, rápidas y predecibles mediante la automatización del proceso de desarrollo e implementación. También describe técnicas como las tuberías de despliegue, las ramas cortas en Git, los pequeños cambios incrementales, y el uso de interruptores de características para introducir grandes cambios de forma gradual.
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
El documento presenta las ventajas de utilizar metodologías ágiles como SCRUM y buenas prácticas de desarrollo de software junto con herramientas como Team Foundation Server. Explica cómo estas técnicas pueden ayudar a los equipos a mejorar la planificación, calidad, velocidad de desarrollo y gestión general de proyectos. También resalta los desafíos iniciales y cómo superarlos para lograr resultados espectaculares como aumento de productividad y satisfacción del cliente.
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Socialmetrix
Juan Martín Pampliega presenta sobre la construcción de una infraestructura de Big Data escalable y rentable. Explica que evolucionaron su arquitectura para manejar un volumen creciente de datos, reducir tiempos de procesamiento, y mitigar errores. Adoptaron conceptos como la arquitectura Lambda y sistemas distribuidos. Implementaron Kafka, Spark y Cassandra para lograr procesamiento distribuido, robusto y escalable. Aprendieron que es importante probar los sistemas y monitorearlos, y que herramientas no deben usarse
Este documento describe la evolución de las prácticas de TI desde los enfoques tradicionales hasta los enfoques ágiles y DevOps. Explica que DevOps surgió para mejorar la colaboración entre los equipos de desarrollo y operaciones. También describe cómo DevSecOps integra la seguridad en todas las fases del ciclo de vida del desarrollo de software de una manera ágil y automatizada.
Modelos del ciclo de vida del softwareAbner Torres
Este documento describe diferentes modelos de ciclo de vida para el desarrollo de software. Explica que los modelos prescriptivos prescriben actividades, tareas y productos para cada proyecto. Luego describe el modelo en cascada, incremental y evolutivos como los paradigmas más antiguos. Finalmente, analiza cuando se utilizan cada uno y sus ventajas e inconvenientes.
En los últimos años, la forma de desarrollar software ha evolucionado. Nuevos patrones, nuevas arquitecturas y nuevas tecnologías como cloud y microservicios. Pero, ¿cómo desarrollo ahora? ¿Cómo despliego el software? ¿Cómo manejo los nuevos modelos de base de datos? DevOps y DataOps son la respuesta.
El documento describe el Desarrollo Rápido de Aplicaciones (RAD), un proceso de desarrollo de software que permite construir sistemas en poco tiempo, normalmente entre 60 y 90 días. El RAD se caracteriza por el uso de equipos híbridos, herramientas especializadas, "timeboxing" y prototipos iterativos y evolucionarios. El proceso implica modelado de gestión, datos, procesos y generación de aplicaciones con pruebas de entrega.
Este documento describe los conceptos y prácticas del Continuous Delivery. Explica que el Continuous Delivery busca entregas de software frecuentes, baratas, rápidas y predecibles mediante la automatización del proceso de desarrollo e implementación. También describe técnicas como las tuberías de despliegue, las ramas cortas en Git, los pequeños cambios incrementales, y el uso de interruptores de características para introducir grandes cambios de forma gradual.
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
El documento presenta las ventajas de utilizar metodologías ágiles como SCRUM y buenas prácticas de desarrollo de software junto con herramientas como Team Foundation Server. Explica cómo estas técnicas pueden ayudar a los equipos a mejorar la planificación, calidad, velocidad de desarrollo y gestión general de proyectos. También resalta los desafíos iniciales y cómo superarlos para lograr resultados espectaculares como aumento de productividad y satisfacción del cliente.
Este documento presenta una introducción al desarrollo móvil con Android y Firebase. Explica que Android es un sistema operativo con gran cantidad de usuarios y bajas barreras de entrada para desarrolladores. También describe las herramientas necesarias como Android Studio y Xamarin, así como habilidades como programación orientada a objetos y patrones de diseño. Finalmente, presenta las características y usos de Firebase como base de datos en la nube, autenticación, almacenamiento y más.
Trabajo de sistemas de informacion radHenry Cambal
Este documento describe el método de Desarrollo Rápido de Aplicaciones (RAD) para el desarrollo de software. RAD enfatiza un ciclo de desarrollo corto a través del uso de equipos híbridos, herramientas especializadas como prototipos funcionales, y un proceso iterativo de reuniones con usuarios. RAD es adecuado para proyectos con alcance limitado pero no para sistemas que requieren alta confiabilidad, desempeño o interoperabilidad.
Trabajo de sistemas de informacion radHenry Cambal
Este documento describe el método de Desarrollo Rápido de Aplicaciones (RAD), el cual enfatiza un corto ciclo de desarrollo utilizando componentes reutilizables y herramientas automatizadas. El RAD asume el uso de técnicas de cuarta generación y la reutilización de componentes existentes. Algunas características clave del RAD son los equipos híbridos interdisciplinarios, herramientas especializadas y un proceso iterativo que involucra prototipos y retroalimentación de usuarios.
Este documento presenta una introducción a los frameworks de desarrollo web y al framework Grails en particular. Explica que un framework es una estructura de soporte para organizar y desarrollar proyectos de software de manera estructurada y reutilizable. Luego, describe las características y componentes de Grails, un framework para el desarrollo rápido de aplicaciones web basado en Java y el patrón MVC. Finalmente, muestra los pasos para crear un proyecto simple en Grails.
Este documento trata sobre DevOps y cómo los administradores de bases de datos (DBAs) pueden contribuir a este enfoque. Explica brevemente el concepto de DevOps y algunas de las prácticas clave como la automatización, entrega continua y contenedores. También destaca áreas en las que los DBAs pueden agregar valor como garantizar que los datos no sean un cuello de botella y adoptar nuevas habilidades de DevOps.
El documento describe el Desarrollo Rápido de Aplicaciones (RAD), un modelo de desarrollo de software que enfatiza ciclos cortos de desarrollo. Explica que RAD utiliza un enfoque basado en componentes para lograr un desarrollo rápido. También describe las fases del proceso RAD como el modelado de gestión, datos y procesos, así como la generación de aplicaciones y pruebas.
Modelo de desarrollo rapido de aplicaciones (5)ClaudiaLeaos
El documento describe el modelo de desarrollo rápido de aplicaciones (RAD). Explica que RAD es un proceso de desarrollo de software que enfatiza ciclos de desarrollo cortos. Fue desarrollado inicialmente por James Martin en 1980 e incluye fases como modelado de gestión, datos y procesos, generación de aplicaciones y pruebas. Algunas características clave de RAD son el uso de equipos híbridos, herramientas especializadas, timeboxing y prototipos interactivos.
El documento presenta el modelo de desarrollo rápido de aplicaciones (RAD). RAD es un proceso de desarrollo de software que enfatiza un ciclo de desarrollo corto, desarrollado inicialmente por James Martin en 1980. Comprende fases como modelado de gestión, datos, procesos, generación de aplicaciones y pruebas. Se caracteriza por equipos híbridos, herramientas especializadas, timeboxing y prototipos interactivos. Proporciona ventajas como flexibilidad y menor costo, pero también riesgos como falta de precis
El documento presenta una introducción a las metodologías ágiles y nuevas técnicas para el desarrollo de software. Explica los problemas comunes en proyectos de software, como especificaciones incompletas y cambios frecuentes de requisitos. Luego introduce Scrum como una metodología ágil para la gestión de proyectos de software de manera iterativa e incremental. Finalmente, menciona algunas técnicas utilizadas por la empresa como pruebas unitarias y automatizadas para mejorar la calidad del software.
DevOps es una filosofía que enfatiza la colaboración entre desarrolladores de software y operaciones de TI. Se centra en automatizar el proceso de entrega de software y cambios en la infraestructura para permitir la construcción, prueba y lanzamiento de software de manera rápida y confiable. Involucra prácticas como automatización de compilación, pruebas unitarias, despliegue continuo y monitoreo para mejorar la comunicación entre equipos de desarrollo y operaciones.
El documento describe los principios de RobotOps, una propuesta para aplicar prácticas de operaciones similares a las de Internet para mantener la operación de la Internet de las Cosas. Se describen 10 reglas como testeo dirigido, uso de línea de comandos, compatibilidad con múltiples plataformas, generadores de código, coordinación de grupos, APIs, herramientas administrativas, sintaxis declarativa, documentación y soporte, y seguridad. Finalmente, se mencionan tres frameworks de código abierto (Artoo, Gobot y Cylon)
El documento presenta el programa del evento Web Day de Plain Concepts. Se detallan las charlas y temas que se abordarán durante el día, incluyendo diseño web, arquitectura frontend, autenticación, integración frontend-backend, testing, DevOps, control de versiones con Git, integración continua y entrega continua utilizando Visual Studio Team Services.
El documento describe el modelo de desarrollo rápido de aplicaciones (RAD), incluyendo sus características principales como el uso de equipos híbridos, herramientas especializadas, y el desarrollo de prototipos iterativos. RAD tiende a funcionar mejor para aplicaciones independientes con componentes reutilizables, mientras que tiende a fallar para sistemas que requieren alta interoperabilidad o desempeño.
El término “Data Science” se ha vuelto muy popular recientemente con el aumento de popularidad de las redes sociales, análisis predictivos y el análisis de datos no estructurados como parte del crecimiento del “Big Data”. En esta sesión estaremos viendo que es “Data Science”, que necesitamos saber o aprender para poder convertirnos en un científico de datos y estaremos viendo algunos ejemplos de usos muy comunes usando lenguajes como Python, R y el cómo podemos integrar estos en SQL Server y Azure . Al final de esta charla tendrás un entendimiento más amplio de las técnicas de manejos de datos, modelamiento, visualización y los lenguajes y productos para poner tus proyectos en marcha.
Este documento resume una presentación sobre buenas prácticas para el desarrollo web en PHP. La presentación cubre temas como el uso de IDEs, estándares de codificación, documentación interna de código, control de versiones, seguimiento de incidencias, uso de wikis, metodologías ágiles, frameworks de PHP, bibliotecas, seguridad, depuración, pruebas unitarias, pruebas automatizadas, integración continua, métricas, rendimiento, despliegues, entornos, búsqueda y equipo.
DevSecOps se refiere a la unión de personas, procesos y herramientas para permitir la entrega continua de valor a los usuarios finales de manera segura. Integra las prácticas de seguridad en el ciclo de desarrollo de software para automatizar la entrega de aplicaciones más seguras de forma rápida. El objetivo es que los equipos de desarrollo y seguridad colaboren estrechamente para identificar y mitigar vulnerabilidades lo antes posible en el proceso de desarrollo.
Este documento presenta los patrones de diseño en la arquitectura de integración moderna. Explica cómo la transformación digital está impulsando la necesidad de sistemas más flexibles, escalables y autónomos. También describe varios patrones, frameworks y suites que pueden usarse para lograr este tipo de arquitecturas, así como el marco OMESA para diseñar soluciones modernas.
Este documento presenta una introducción al desarrollo móvil con Android y Firebase. Explica que Android es un sistema operativo con gran cantidad de usuarios y bajas barreras de entrada para desarrolladores. También describe las herramientas necesarias como Android Studio y Xamarin, así como habilidades como programación orientada a objetos y patrones de diseño. Finalmente, presenta las características y usos de Firebase como base de datos en la nube, autenticación, almacenamiento y más.
Trabajo de sistemas de informacion radHenry Cambal
Este documento describe el método de Desarrollo Rápido de Aplicaciones (RAD) para el desarrollo de software. RAD enfatiza un ciclo de desarrollo corto a través del uso de equipos híbridos, herramientas especializadas como prototipos funcionales, y un proceso iterativo de reuniones con usuarios. RAD es adecuado para proyectos con alcance limitado pero no para sistemas que requieren alta confiabilidad, desempeño o interoperabilidad.
Trabajo de sistemas de informacion radHenry Cambal
Este documento describe el método de Desarrollo Rápido de Aplicaciones (RAD), el cual enfatiza un corto ciclo de desarrollo utilizando componentes reutilizables y herramientas automatizadas. El RAD asume el uso de técnicas de cuarta generación y la reutilización de componentes existentes. Algunas características clave del RAD son los equipos híbridos interdisciplinarios, herramientas especializadas y un proceso iterativo que involucra prototipos y retroalimentación de usuarios.
Este documento presenta una introducción a los frameworks de desarrollo web y al framework Grails en particular. Explica que un framework es una estructura de soporte para organizar y desarrollar proyectos de software de manera estructurada y reutilizable. Luego, describe las características y componentes de Grails, un framework para el desarrollo rápido de aplicaciones web basado en Java y el patrón MVC. Finalmente, muestra los pasos para crear un proyecto simple en Grails.
Este documento trata sobre DevOps y cómo los administradores de bases de datos (DBAs) pueden contribuir a este enfoque. Explica brevemente el concepto de DevOps y algunas de las prácticas clave como la automatización, entrega continua y contenedores. También destaca áreas en las que los DBAs pueden agregar valor como garantizar que los datos no sean un cuello de botella y adoptar nuevas habilidades de DevOps.
El documento describe el Desarrollo Rápido de Aplicaciones (RAD), un modelo de desarrollo de software que enfatiza ciclos cortos de desarrollo. Explica que RAD utiliza un enfoque basado en componentes para lograr un desarrollo rápido. También describe las fases del proceso RAD como el modelado de gestión, datos y procesos, así como la generación de aplicaciones y pruebas.
Modelo de desarrollo rapido de aplicaciones (5)ClaudiaLeaos
El documento describe el modelo de desarrollo rápido de aplicaciones (RAD). Explica que RAD es un proceso de desarrollo de software que enfatiza ciclos de desarrollo cortos. Fue desarrollado inicialmente por James Martin en 1980 e incluye fases como modelado de gestión, datos y procesos, generación de aplicaciones y pruebas. Algunas características clave de RAD son el uso de equipos híbridos, herramientas especializadas, timeboxing y prototipos interactivos.
El documento presenta el modelo de desarrollo rápido de aplicaciones (RAD). RAD es un proceso de desarrollo de software que enfatiza un ciclo de desarrollo corto, desarrollado inicialmente por James Martin en 1980. Comprende fases como modelado de gestión, datos, procesos, generación de aplicaciones y pruebas. Se caracteriza por equipos híbridos, herramientas especializadas, timeboxing y prototipos interactivos. Proporciona ventajas como flexibilidad y menor costo, pero también riesgos como falta de precis
El documento presenta una introducción a las metodologías ágiles y nuevas técnicas para el desarrollo de software. Explica los problemas comunes en proyectos de software, como especificaciones incompletas y cambios frecuentes de requisitos. Luego introduce Scrum como una metodología ágil para la gestión de proyectos de software de manera iterativa e incremental. Finalmente, menciona algunas técnicas utilizadas por la empresa como pruebas unitarias y automatizadas para mejorar la calidad del software.
DevOps es una filosofía que enfatiza la colaboración entre desarrolladores de software y operaciones de TI. Se centra en automatizar el proceso de entrega de software y cambios en la infraestructura para permitir la construcción, prueba y lanzamiento de software de manera rápida y confiable. Involucra prácticas como automatización de compilación, pruebas unitarias, despliegue continuo y monitoreo para mejorar la comunicación entre equipos de desarrollo y operaciones.
El documento describe los principios de RobotOps, una propuesta para aplicar prácticas de operaciones similares a las de Internet para mantener la operación de la Internet de las Cosas. Se describen 10 reglas como testeo dirigido, uso de línea de comandos, compatibilidad con múltiples plataformas, generadores de código, coordinación de grupos, APIs, herramientas administrativas, sintaxis declarativa, documentación y soporte, y seguridad. Finalmente, se mencionan tres frameworks de código abierto (Artoo, Gobot y Cylon)
El documento presenta el programa del evento Web Day de Plain Concepts. Se detallan las charlas y temas que se abordarán durante el día, incluyendo diseño web, arquitectura frontend, autenticación, integración frontend-backend, testing, DevOps, control de versiones con Git, integración continua y entrega continua utilizando Visual Studio Team Services.
El documento describe el modelo de desarrollo rápido de aplicaciones (RAD), incluyendo sus características principales como el uso de equipos híbridos, herramientas especializadas, y el desarrollo de prototipos iterativos. RAD tiende a funcionar mejor para aplicaciones independientes con componentes reutilizables, mientras que tiende a fallar para sistemas que requieren alta interoperabilidad o desempeño.
El término “Data Science” se ha vuelto muy popular recientemente con el aumento de popularidad de las redes sociales, análisis predictivos y el análisis de datos no estructurados como parte del crecimiento del “Big Data”. En esta sesión estaremos viendo que es “Data Science”, que necesitamos saber o aprender para poder convertirnos en un científico de datos y estaremos viendo algunos ejemplos de usos muy comunes usando lenguajes como Python, R y el cómo podemos integrar estos en SQL Server y Azure . Al final de esta charla tendrás un entendimiento más amplio de las técnicas de manejos de datos, modelamiento, visualización y los lenguajes y productos para poner tus proyectos en marcha.
Este documento resume una presentación sobre buenas prácticas para el desarrollo web en PHP. La presentación cubre temas como el uso de IDEs, estándares de codificación, documentación interna de código, control de versiones, seguimiento de incidencias, uso de wikis, metodologías ágiles, frameworks de PHP, bibliotecas, seguridad, depuración, pruebas unitarias, pruebas automatizadas, integración continua, métricas, rendimiento, despliegues, entornos, búsqueda y equipo.
DevSecOps se refiere a la unión de personas, procesos y herramientas para permitir la entrega continua de valor a los usuarios finales de manera segura. Integra las prácticas de seguridad en el ciclo de desarrollo de software para automatizar la entrega de aplicaciones más seguras de forma rápida. El objetivo es que los equipos de desarrollo y seguridad colaboren estrechamente para identificar y mitigar vulnerabilidades lo antes posible en el proceso de desarrollo.
Este documento presenta los patrones de diseño en la arquitectura de integración moderna. Explica cómo la transformación digital está impulsando la necesidad de sistemas más flexibles, escalables y autónomos. También describe varios patrones, frameworks y suites que pueden usarse para lograr este tipo de arquitecturas, así como el marco OMESA para diseñar soluciones modernas.
Similar a Tendencias arquitectura y desarrollo 2019 (20)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)AbrahamCastillo42
Power point, diseñado por estudiantes de ciclo 1 arquitectura de plataformas, esta con la finalidad de dar a conocer el componente hardware llamado tarjeta de video..
para programadores y desarrolladores de inteligencia artificial y machine learning, como se automatiza una cadena de valor o cadena de valor gracias a la teoría por Manuel Diaz @manuelmakemoney
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)codesiret
Los protocolos son conjuntos de
normas para formatos de mensaje y
procedimientos que permiten a las
máquinas y los programas de aplicación
intercambiar información.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
20. TypeScript
• Proyectos de gran escala.
• Configuración mínima.
• Buena integración con IDEs.
• Refactors más seguros.
• Buen repositorio de definiciones de tipos.
20
Technology Radar
Lenguajes y frameworks
Adoptar
24. Arquitecturas evolutivas
Una arquitectura evolutiva
soporta los cambios
incrementales y guiados,
como principio a través de
múltiples dimensiones.
24
Trend reports
Arquitectura
Adopción temprana
25. Arquitecturas evolutivas
• Modularidad.
• Organizadas alrededor del negocio.
• Trae el dolor (Bring the Pain Forward)
• Dilatar decisiones (Last Responsible
Moment)
25
Trend reports
Arquitectura
Adopción temprana
26. Programación reactiva
• Programar utilizando flujos de datos
asíncronos.
• Pensar la lógica en términos de una
secuencia de eventos relacionados.
26
Trend reports
Arquitectura
Adopción temprana
28. Serverless
• Funciones como Servicios (FaaS).
• Backend como Servicio (BaaS).
• Base de datos como servicio (DBaaS).
28
Trend reports
Arquitectura
Adopción temprana
30. Ingeniería del caos
Es un enfoque para aprender como se
comporta un sistema aplicando un
enfoque de exploración empírica.
30
Technology Radar
Técnicas
Probar
31. Ingeniería del caos
• Hacer hipótesis acerca del
comportamiento normal del sistema.
• Variar eventos del mundo real.
• Hacer pruebas en producción.
• Automatizar experimentos.
• Minimizar el efecto de las pruebas.
31
Technology Radar
Técnicas
Probar
33. Secretos como servicio
• Los repositorios de código no deberían
utilizarse para información
confidencial.
• API Keys.
• Contraseñas.
• Nombres de usuario.
33
Technology Radar
Técnicas
Adoptar
Azure Key Vault
Amazon Key Management
Service
Google Key Management
Service
34. Deno
• Del creador de Node.js, Ryan Dahl.
• Intenta evitar los errores de Node.js.
• Para TypeScript y JavaScript.
• Hecho en V8 y Rust.
34
Technology Radar
Plataformas
Evaluar
35. Contentful
• Ojo, desarrolladores Wordpress.
• Headless CMS.
• CMS como código.
• Plataforma de contenido.
35
Technology Radar
Plataformas
Adoptar
39. Next.js
• Framework basado en React.
• No es tan genérico como React:
• Enrutamiento.
• Renderizado del lado del servidor.
39
Technology Radar
Lenguajes y frameworks
Evaluar
Hemos visto a muchos equipos crear un frontend monolítico — una aplicación grande y complicada en el navegador montada sobre servicios backend — que neutraliza en gran medida los beneficios de tener microservicios.
Desde que describimos por primera vez micro frontends como técnica para atacar este problema, hemos tenido muchas experiencias positivas con este enfoque y hemos encontrado una serie de patrones para usar micro frontends incluso a medida que más y más código se mueve del servidor al navegador. Sin embargo, los componentes web (web components) se han mostrado esquivos en este campo por el momento.
Hemos visto a muchos equipos crear un frontend monolítico — una aplicación grande y complicada en el navegador montada sobre servicios backend — que neutraliza en gran medida los beneficios de tener microservicios.
Desde que describimos por primera vez micro frontends como técnica para atacar este problema, hemos tenido muchas experiencias positivas con este enfoque y hemos encontrado una serie de patrones para usar micro frontends incluso a medida que más y más código se mueve del servidor al navegador. Sin embargo, los componentes web (web components) se han mostrado esquivos en este campo por el momento.
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
Nuestros equipos informan que Apollo se ha convertido en la librería por excelencia al desarrollar una aplicación en React que usa GraphQL para obtener datos de un servicio back-end. A pesar de que el proyecto Apollo también provee un framework para el servidor y una pasarela (gateway) para GraphQL, el cliente Apollo llama nuestra atención porque simplifica el problema de conectar componentes de interfaz de usuario con datos servidos por cualquier backend GraphQL. En pocas palabras, esto significa menor cantidad de código que al usar REST backends y redux.
In 2015, however, the Internet Engineering Task Force (IETF) released HTTP/2, the second major version of the most useful internet protocol, HTTP.
HTTP/1.1. It was last updated in 1992, so why are we still using it?
Ktor is a framework built by JetBrains for creating Web applications in Kotlin, making use of coroutines for high scalability and offering an easy-to-use and idiomatic API.
detekt, a static code analysis tool for the Kotlin programming language. It operates on the abstract syntax tree provided by the Kotlin compiler.
http4k is a lightweight but fully-featured HTTP toolkit written in pure Kotlin that enables the serving and consuming of HTTP services in a functional and consistent way. http4k applications are just Kotlin functions which can be mounted into a running backend.
TypeScript, un lenguaje estáticamente tipado y superconjunto de Javascript, se ha convertido en nuestro lenguaje por defecto.
Proyectos de gran escala son los más beneficiados por la seguridad de tipos.
Nuestros desarrolladores apoyan su gestión mínima de configuracion, buena integración en IDE y su capacidad de refactorizar código de forma segura y gradualmente adopter tipos.
Con el buen repositorio de definiciones de tipos de TypeScript a mano, nos podemos beneficiar de la riqueza de las librerías de JavaScript mientras ganamos seguridad de tipos.
Desde su última aparición en el Radar de enero del 2015, hemos visto un aumento sostenido en el interés en Rust. Algunos
de nuestros clientes están utilizando Rust actualmente, principalmente en lo relative a herramientas de infraestructura, pero
también en dispositivos embebidos de gran potencia. El interés incrementó por un creciente ecosistema, así como también
por las mejoras en el lenguaje en sí. Esto último incluye mejoras en el rendimiento, pero también cambios que hacen a Rust más intuitivo, por ejemplo, el cambio hacia
ámbitos no léxicos. La mayoría de los cambios se incluyen en la versión Standard del 2018, publicada en diciembre pasado.
a particular type of objective function that is used to summarize…how close a given design solution is to achieving the set aims.
Los pipelines de construcción necesitan secretos para comunicarse con infraestructuras seguras como son los registros de contenedores, las aplicaciones usan llaves de API como secretos para
tener acceso a funcionalidades de negocio y la comunicación servicio-servicio se asegura usando certificados y llaves. Estos
secretos se pueden establecer y obtener de varias maneras. Hace tiempo se le ha advertido a los desarrolladores acerca del uso de repositorios de código fuente para
el almacenamiento de secretos.
Hemos recomendado desacoplar el manejo de secretos del código fuente y utilizar herramientas como git-secrets y Talisman
para evitar el almacenamiento de secretos en el código. Igualmente, hemos estado utilizando secretos como servicio como
una técnica para almacenar y acceder a los secretos. Mediante esta técnica Podemos emplear herramientas como Vault o AWS Key Management Service (KMS) para leer o escribir secretos sobre un endpoint HTTPS con niveles de acceso bien definidos