Sistemas frágiles
Deuda técnica
Arquitectura poco sólida
Requisitos no funcionales poco solventes
| Definiciones | |
|---|---|
| Decisiones tomadas durante el desarrollo de un software que, en el corto plazo, permiten un desarrollo más rápido o una solución temporal, pero que crean problemas de NFR a largo plazo | |
| Aspectos que no están relacionados directamente con la funcionalidad de un sistema software, sino con características no directamente vinculados a sus funciones específicas (rendimiento, usabilidad, confiabilidad, seguridad, eficiencia, etc.) | |
| Estructura y diseño organizativo de un sistema de software, sobre cómo sus |
DevOps es la unión de personas, procesos y productos para una entrega continua de valor a los usuarios finales
Cada proceso tiene su propio



| Definiciones | |
|---|---|
| acción de compilar y ensamblar el código fuente de una aplicación en un formato ejecutable o en un conjunto de artefactos que se pueden utilizar en un entorno de ejecución específico | |
| un conjunto automatizado y secuencial de procesos que permiten la ejecución de tareas específicas. Analogía de una línea de montaje de la industria de fabricación | |
| entorno de prueba que replica el entorno de producción para realizar pruebas finales (con usuarios) antes del despliegue |
| Definiciones | |
|---|---|
| resultado del build. Pueden ser binarios ejecutables, bibliotecas, paquetes de instalación, etc., necesarios para ejecutar la aplicación | |
| una versión específica y completa de una aplicación o software que se considera lista para ser distribuida y utilizada por los usuarios finales | |
| release con el potencial de convertirse en la versión final o lanzamiento si no se encuentran problemas significativos durante las pruebas |
Provisioning
Feature flags
Dockerfile:
FROM ubuntu
RUN apt-get update
RUN apt-get install -y nginx
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]
EXPOSE 80
provider "aws" {
region = "West Europe" # Cambia esto según tu región de AWS
}
resource "aws_ecs_cluster" "example_cluster" {
name = "example-cluster"
}
resource "aws_ecs_task_definition" "example_task" {
family = "example-task"
network_mode = "bridge"
requires_compatibilities = ["EC2"]
...
...
container_definitions = <<EOF
[
{
"name": "example-container",
"image": "nginx:latest",
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
]
}
]
EOF
}
...
...
resource "aws_ecs_service" "example_service" {
name = "example-service"
cluster = aws_ecs_cluster.example_cluster.id
task_definition = aws_ecs_task_definition.example_task.arn
launch_type = "EC2"
desired_count = 1
network_configuration {
# Coloca las ID de tus subredes aquí
subnets = ["subnet-xxxxxxxxxxxxxx", "subnet-yyyyyyyyyyyyyy"]
# Coloca la ID de tu grupo de seguridad aquí
security_groups = ["sg-xxxxxxxxxxxxxxxxx"]
}
}
IaC: Infrastructure as Code
Feature flags
Análogas al desarrollo de software:
IaC: Infrastructure as Code
Provisioning
| Definiciones | |
|---|---|
| práctica en la que la infraestructura de sistemas, redes y otros recursos tecnológicos se gestiona y |
|
| proceso de preparar y configurar de manera automática los recursos de infraestructura necesarios para ejecutar una aplicación o servicio | |
| técnica de desarrollo de software que permite habilitar o deshabilitar características específicas de una aplicación durante o después del despliegue |