Presentación realizada en el grupo AWS meetup de Zaragoza.
Experience de integración continua en AWS con Docker, ECS y PHP7.
Caso de uso de aplicación real con API-céntrica y experiencia de migración de Azure a Amazon Web Services.
Versión sin gatitos :)
Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design to provide software developers and business analysts with shared tools and a shared process to collaborate on software development
Introducción a Azure DevOps "Ventajas y características principales de Azure DevOps"
Introducción a DevSecOps
Azure DevOps + AST (Application Security testing tools)
¿Por qué usar Secure DevOps Kit for Azure?
Charla presentada en el DevDays 2014 (http://www.comunidadesmicrosoft.org/detalles-de-developer-days-2014) presentando la necesidad de Integración y Entrega Continua, y el como Visual Studio Online nos facilita el poder desplegar nuestros proyectos a la nube y a entornos on premise.
Cualquier duda consultarme en twitter via @fisica3
DotNet 2019 | Luis Fraile - Tests de integración con .NET Core, Docker y Azur...Plain Concepts
En esta sesión hablaremos sobre como poder crear nuestras pruebas funcionales en aplicaciones de .NET Core. Incluyendo la integración con servicios externos como bases de datos, caches etc. Todo ello preparándolo no solamente para la ejecución en nuestro entorno local sino integrándolo en nuestros Azure Pipelines ayudándonos de Docker y la tecnología de Service Containers de Azure DevOps.
Kubernetes es mas conocido por hacer despliegues de contenedores no dependientes del estado, pero tambien es capaz de manejar cargas de trabajo que dependen del estado, como las bases de datos. Con Kubernetes es muy facil tener aplicaciones que tengan alta disponibilidad y que los cambios se hagan de una forma transparente. Pero, ¿Podemos/Queremos tener estos beneficios para las bases de datos? ¿Que pasa con los servicios gestionados como Azure SQL? En esta sesion mi objetivo es introducirte al mundo de Kubernetes respecto al manejo de aplicaciones dependientes del estado y cuales son las opciones junto a los conceptos que existen en el ecosistema. Luego, a travez de una demostracion podras ver si te vale desplegar tu base de datos en Kubernetes, o no.
Webinar automatizacion de pruebas con smart selenium kitatSistemas
Smart Selenium Kit es un conjunto de herramientas desarrolladas por atSistemas, basado en Selenium WebDriver y TestN, para obtener la máxima productividad de Selenium, evitando errores de regresión. SSK es utilizada como plataforma de productividad del Centro Nearshore de Testing y Desarrollo de atSistemas, disponible para nuestros clientes.
DevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructuraAlejandro García Miravet
Auditar y evaluar la seguridad de tu infraestructura siempre es una ardua tarea. También el realizar tests de tu infraestructura, ya sea on-premise o cloud. Pero realizar este tipo de tareas, tenemos Inspec que es un lenguaje open source que nos permite realizar tests de seguridad y de tu infraestructura de manera fácil y sencilla.
En la charla veremos desde como empezar con Inspec hasta como podemos integrar estos tests dentro de nuestros pipelines CI/CD, asegurando que siempre que desplegamos nuestra infraestructura se cumplen las mejores prácticas y recomendaciones se seguridad en nuestra infraestructura.
Después de la charla, Inspec se convertirá en una herramienta indispensable de tu toolset DevOps.
Diseñamos soluciones basadas en flujos de trabajo para optimizar procesos de TI, utilizando técnicas de automatización para ayudar a los negocios a escalar.
Analizamos, construimos y automatizamos procesos de TI con herramientas de Integración Continua y Despliegues Continuos (CI/CD) que entregan recursos de TI como servicios de Nube y aplicaciones.
Actualmente, las compañías más innovadoras, tienen despliegues de software medido en términos de días, en vez de meses. Esta agilidad es permitida gracias al uso de Continuous Delivery, habilitando la automatización de procesos de Built, Test y Entrega de cambios de códigos, usando DevOps. Estas automatizaciones ayudan a identificar bugs mucho antes en el proceso, para así incrementar la productividad de los desarrolladores.
En este webinar, vamos a compartirles el proceso que los ingenieros de Amazon usan para la práctica de DevOps, también discutiremos cómo usted puede traer estos procesos a su compañía usando un nuevo grupo de herramientas disponibles en AWS (AWS CodeCommit, AWS CodePipeline and AWS CodeDeploy). Estos servicios fueron inspirados por las mismas herramientas internas y cultura de DevOps en Amazon.
Objetivo de aprendizaje:
- Aprender qué es Continuous Delivery, sus beneficios y cómo implementarlos.
- Aprender cómo aumentar la frecuencia y confiabilidad de las actualizaciones de su aplicación.
- Aprender a crear un flujo de despliegue de software automatizado en AWS.
- Entender los aspectos básicos de AWS CodePipeline y AWS CodeDeploy
En este webinar, aprenderá cómo las empresas pueden aprovechar la nube de AWS para automatizar los pipelines de desarrollo de software. Este enfoque permite que su equipo sea más ágil, mejorando su capacidad para entregar aplicaciones y servicios rápidamente.
Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design to provide software developers and business analysts with shared tools and a shared process to collaborate on software development
Introducción a Azure DevOps "Ventajas y características principales de Azure DevOps"
Introducción a DevSecOps
Azure DevOps + AST (Application Security testing tools)
¿Por qué usar Secure DevOps Kit for Azure?
Charla presentada en el DevDays 2014 (http://www.comunidadesmicrosoft.org/detalles-de-developer-days-2014) presentando la necesidad de Integración y Entrega Continua, y el como Visual Studio Online nos facilita el poder desplegar nuestros proyectos a la nube y a entornos on premise.
Cualquier duda consultarme en twitter via @fisica3
DotNet 2019 | Luis Fraile - Tests de integración con .NET Core, Docker y Azur...Plain Concepts
En esta sesión hablaremos sobre como poder crear nuestras pruebas funcionales en aplicaciones de .NET Core. Incluyendo la integración con servicios externos como bases de datos, caches etc. Todo ello preparándolo no solamente para la ejecución en nuestro entorno local sino integrándolo en nuestros Azure Pipelines ayudándonos de Docker y la tecnología de Service Containers de Azure DevOps.
Kubernetes es mas conocido por hacer despliegues de contenedores no dependientes del estado, pero tambien es capaz de manejar cargas de trabajo que dependen del estado, como las bases de datos. Con Kubernetes es muy facil tener aplicaciones que tengan alta disponibilidad y que los cambios se hagan de una forma transparente. Pero, ¿Podemos/Queremos tener estos beneficios para las bases de datos? ¿Que pasa con los servicios gestionados como Azure SQL? En esta sesion mi objetivo es introducirte al mundo de Kubernetes respecto al manejo de aplicaciones dependientes del estado y cuales son las opciones junto a los conceptos que existen en el ecosistema. Luego, a travez de una demostracion podras ver si te vale desplegar tu base de datos en Kubernetes, o no.
Webinar automatizacion de pruebas con smart selenium kitatSistemas
Smart Selenium Kit es un conjunto de herramientas desarrolladas por atSistemas, basado en Selenium WebDriver y TestN, para obtener la máxima productividad de Selenium, evitando errores de regresión. SSK es utilizada como plataforma de productividad del Centro Nearshore de Testing y Desarrollo de atSistemas, disponible para nuestros clientes.
DevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructuraAlejandro García Miravet
Auditar y evaluar la seguridad de tu infraestructura siempre es una ardua tarea. También el realizar tests de tu infraestructura, ya sea on-premise o cloud. Pero realizar este tipo de tareas, tenemos Inspec que es un lenguaje open source que nos permite realizar tests de seguridad y de tu infraestructura de manera fácil y sencilla.
En la charla veremos desde como empezar con Inspec hasta como podemos integrar estos tests dentro de nuestros pipelines CI/CD, asegurando que siempre que desplegamos nuestra infraestructura se cumplen las mejores prácticas y recomendaciones se seguridad en nuestra infraestructura.
Después de la charla, Inspec se convertirá en una herramienta indispensable de tu toolset DevOps.
Diseñamos soluciones basadas en flujos de trabajo para optimizar procesos de TI, utilizando técnicas de automatización para ayudar a los negocios a escalar.
Analizamos, construimos y automatizamos procesos de TI con herramientas de Integración Continua y Despliegues Continuos (CI/CD) que entregan recursos de TI como servicios de Nube y aplicaciones.
Actualmente, las compañías más innovadoras, tienen despliegues de software medido en términos de días, en vez de meses. Esta agilidad es permitida gracias al uso de Continuous Delivery, habilitando la automatización de procesos de Built, Test y Entrega de cambios de códigos, usando DevOps. Estas automatizaciones ayudan a identificar bugs mucho antes en el proceso, para así incrementar la productividad de los desarrolladores.
En este webinar, vamos a compartirles el proceso que los ingenieros de Amazon usan para la práctica de DevOps, también discutiremos cómo usted puede traer estos procesos a su compañía usando un nuevo grupo de herramientas disponibles en AWS (AWS CodeCommit, AWS CodePipeline and AWS CodeDeploy). Estos servicios fueron inspirados por las mismas herramientas internas y cultura de DevOps en Amazon.
Objetivo de aprendizaje:
- Aprender qué es Continuous Delivery, sus beneficios y cómo implementarlos.
- Aprender cómo aumentar la frecuencia y confiabilidad de las actualizaciones de su aplicación.
- Aprender a crear un flujo de despliegue de software automatizado en AWS.
- Entender los aspectos básicos de AWS CodePipeline y AWS CodeDeploy
En este webinar, aprenderá cómo las empresas pueden aprovechar la nube de AWS para automatizar los pipelines de desarrollo de software. Este enfoque permite que su equipo sea más ágil, mejorando su capacidad para entregar aplicaciones y servicios rápidamente.
Con el lanzamiento de ASP.NET Core se abrieron puertas para desplegar aplicaciones y microservicios usando herramientas antiguamente disponibles para otros Stacks. Pablo Castro Gonzalez y Eduardo Campañó presentan este modelo de arquitectura y como utilizarla con ASP.NET Core y Docker.
Derribando la torre de marfil - Plain Concepts Dev DayPlain Concepts
Los microservicios son el nuevo hype del desarrollo pero, ¿seguro que sabemos cómo y cuándo utilizarlos? En esta charla veremos, a través de un ejemplo de un caso de negocio, una breve introducción a los microservicios, ventajas y retos que plantea (no todo va a ser fácil), incluyendo buenas prácticas.
El nuevo paradigma Cloud está cambiando la forma en la que entendemos el desarrollo de software. Simplifica notablemente el manejo de la infraestructura para que puedas centrarte exclusivamente en tu negocio. El IaaS Cloud da una vuelta de tuerca a la instalación de arquitecturas y reduce el tiempo de setup, provisioning y puesta en marcha de semanas a horas o minutos.
SQL Server 2014 y La Plataforma de DatosJoseph Lopez
Un análisis objetivo y amplio (Vista rápida) sobre las nuevas características en la versión 2014, aplicadas al desempeño y ejecución de escenarios empresariales de alto desempeño como lo es In-Memory for OLTP, Update Capable Column Store Index, Alta Disponibilidad y Misión Critica sobre altos volúmenes de transaccionalidad de datos.
Sql server 2014 y la plataforma de datosSpanishPASSVC
Un análisis objetivo y amplio (Vista rápida) sobre las nuevas características en la versión 2014, aplicadas al desempeño y ejecución de escenarios empresariales de alto desempeño como lo es In-Memory for OLTP, Update Capable Column Store Index, Alta Disponibilidad y Misión Critica sobre altos volúmenes de transaccionalidad de datos.
Monster Migrations & hybrid cloud es una presentación que realizó durante el día 27 de septiembre Aryam Gutierrez, Manager de Devops en Cloudmas. En la presentación podrás encontrar los motivos por los cuales debemos migrar a AWS y los pasos indicados para realizar una migración a AWS con éxito.
Al final de la presentación, podréis encontrar un caso práctico de como pudimos realizar una migración con éxito a la plataforma de AWS.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
3. Carlos Arilla Navarro – Cloud architect. Everis Zaragoza.
Manuel Boira Cuevas – Software architect. Everis Zaragoza.
Trabajamos en un proyecto para una compañía multinacional con sede
en UK y ámbito europeo.
Nuestro equipo está deslocalizado. Lo forman 21 desarrolladores y 10
testers siguiendo metodología SCRUM. Colaboramos con diversos
equipos del cliente y proveedores externos.
¿Quiénes somos?
4. ¿Cuál era el reto?
El cliente buscaba una solución capaz de ofrecer a cada uno de sus partners un
producto “marca blanca” para la gestión de grandes flotas de vehículos.
Requisitos clave:
• Multi-tenant.
• Configurable, flexible.
• Orientado a integración.
• Auditable.
• Alta disponibilidad.
• Desarrollo ágil: Time-To-Market.
5. Como manager de
compras de ACME
quiero introducir 2000
nuevas unidades
Como jefe de
mantenimiento
quiero inspeccionar
todas las unidades
Como jefe de ventas
quiero que se anuncien
los unidades de esta
marca concreta.
Voy a comprar
unidades usadas para
mi tienda.
Casos de uso
7. Static content Web
API
BPM
Integration
API
Business Rules Engine
Service Modules
Persistence
Estructura de la aplicación
Cliente
Front End
Orquestador
(Workflows)
Decisiones
Lógica de
negocio
Interfaces
External services
10. Despliegue en Azure
• Despliegue en máquinas virtuales ordinarias.
• Un entorno completo dentro de cada VM.
• Orquestado de contenedores mediante
Docker compose.
• Todos los servicios funcionando sobre
Docker, incluyendo MySQL y MongoDB.
11. Despliegue en Azure
Esquema de un entorno:
• docker-compose.yml
• Volúmenes permanentes para las BD
• Instalación manual
• Jenkins, registro y otras herramientas en VM auxiliar
13. Despliegue en Azure
Desde DevOps:
● Docker registry para imágenes.
● Jenkins para CI
● Testlink para QA
● SonarQube para code review
● Otras herramientas (Newman, Protractor, Composer…)
usadas sobre Docker
14. Despliegue en Azure
Ventajas de esta estructura:
•Difícilmente escalable, admite scale-up pero no scale-out
•Servicios altamente acoplados
•Dificulta crecer en tamaño de datos
•Montaje más sencillo posible
•Muy sencillo de arrancar y parar
•Fácil de portar
•Sin vendor lock-in
Desventajas de esta estructura:
Conclusiones:
•Entorno válido para desarrollo
16. Migración a AWS
El entorno de Azure es demasiado básico, necesitamos un entorno más
potente:
• El escalado horizontal es imprescindible.
• El escalado ha de poder ser asimétrico.
• El mantenimiento de grandes bases de datos debe ser sencillo.
• La gestión del registro de Docker debe ser más sencilla.
• El entorno debe ser resiliente y estable.
18. Migración a AWS
El escalado ha de poder ser asimétrico.
El mantenimiento de grandes bases de datos debe ser sencillo.
19. Migración a AWS
La gestión del registro de Docker debe ser más sencilla.
El entorno debe ser resiliente y estable.
En el momento en que se tomó la decisión no todas estas alternativas existían.
20. Migración a AWS
Tareas necesarias para la migración:
• Diseño de la arquitectura.
• Modificación de los contenedores.
• Traslado de los datos.
• Adaptación y configuración de las herramientas DevOps.
• Transición del equipo de desarrollo a la nueva plataforma.
25. DevOps pipelines
APP Build and Deployment from Jenkins
Deploy
Start
Build API
Build
WEB
Build
BPM
Build
CRON
Deploy to
DEV ECS
Launch
Regression
Test
Git
checkout
app code
Git
checkout
infra code
Docker
Build
Docker
Build
Docker
TAG
ECR
push
28. 360º Quality Assurance
Los procesos de QA deben estar presentes en cada paso de la línea de
desarrollo de software para garantizar la integridad y ofrecer feedback
inmediato así como información para diagnósticos precisos.
Peer review
Unit testing
Pull Request test
Regression tests
API Client
Health check
Deploy
Development
Pull request
Build
Pull
29. 360º Quality Assurance
Code metrics
Load Tests
Security scan
Control explícito y periódico con mayor o menor automatización.
E2E Integration
Exploratory
tests
Technical debt
Security
threats
Performance
Bugs
BACKLOG
Profiling
30. 360º Quality Assurance
QA Monitoring dashboard
Usando un plugin de Jenkins y un PC sencillo hemos montado un monitor
de tiempo real a la vista del equipo en todo momento.
Green = Todo bien : Red = Blaming despiadado
Health checks
Build information
Regression tests
Pull requests
Code metrics Deployment info