#1: Webapp cluster en AWS: ver este proyecto AQUÍ
- Un balanceador Elastic (ELB) para 2 Webservers
- 2 Webservers (Instancias EC2) para alta disponibilidad
- Un balanceador para 2 aplication Appservers
- 2 Appservers para alta disponibilidad
- Autoscaling group (ASG): para ajuste automático de webservers y Appservers
- Un RDS (alta disponibilidad replica sincrona base de datos)
- Los grupos de seguridad necesarios para trabajar todo esto junto
#2: NoSQL con DynamoDB en AWS y terraform: ver este proyecto AQUÍ
#3: KOPS + Kubernetes + Docker: Clusters HA con Terraform: ver este proyecto AQUÍ
- KOPS para orquestar el cluster de Kubernetes
- Kubernetes para gobernar los dockers
- Bucket S3 en AWS para guardar la config
- awscli
#4: Cluster Kubernetes AWS EKS (Elastic Kubernetes Service) con Terraform: ver este proyecto AQUÍ
- kubectl: utilidad
- aws-iam-authenticator: para comunicar el Master con los Worked nodes
#5: Uso de 'modules' desde archivo local, Github o Terraform Registry ver este proyecto AQUÍ
#6: ELK Stack (agregador de logs) en AWS: ver este proyecto AQUÍ
- Elasticsearch: es un motor de busqueda basado en NoSQL.
- Logstash: es un agregador de logs capaz de filtrar datos desestructurados de diferentes fuentes
- Kibana: es una herramienta de visualizaion tipo graphana.
- Filebeat: file shipper ligero con soporte SSL y TLS
#7: Aurora Cluster: DBaaS de alto rendimiento ver este proyecto AQUÍ
- Aurora Cluster: Aurora forma parte del servicio de bases de datos administradas Amazon Relational Database Service (Amazon RDS). Recomendado para alto performance y muy seguro debido a las 6 copias que distribuye en 3 zonas de disponisblidad diferentes.
- Beneficios:
- Hasta 5x veces mas potente gracias al log-based-storage
- es una arquitectura sin apenas lag de replicación
- Multi AZ (availability zone) deploy
- Backup automáticos
- Si necesita espacio se extiende automáticamente, hasta 64Tb.
- Autoscaling
- Escribir en MySQL implica: 1º escribir en log, 2º escribir en binlog, 3º escribir en FRM, 4º doble escritura en buffer. Aurora directamente escribe en el almacenamiento (log-based-storage) no en ficheros.
- Failover minimo comparado con el de MySQL.
#8: WebApp cluster en Google Cloud Platform con Terraform ver este proyecto AQUÍ
- 1x balanceador HTTP (load_balancer.tf)
- 1x instance_group + nx instancias + opciones de Autoscaling (instance_group.tf + instance template.tf)
- 1x google_sql_database_instance 'Master' + 1x google_sql_database_instance 'Replica' (sql.tf)
- 1x VPC network (network.tf)
- Reglas de firewall (firewall.tf)
- ejecutaremos scripts postproceso sobre las instancias una vez desplegadas (userdata.sh)
#9: WebApp stack en Azure con Terraform ver este proyecto AQUÍ
- 1x resource group: azurerm_resource_group
- 1x virtual network (el equivalente a VPC de Amazon): azurerm_virtual_network
- 1x security group
- 1x balanceador HTTP y sus tests
- 1x IP publica para el frontend del balanceador: azurerm_public_ip
- 2x VM
- 1x backend MySQL
Email: sergio.alegre.arribas EN gmail.com
LinkedIn: https://www.linkedin.com/in/sergioalegre
My certificates: http://certificates.sergioalegre.es
Website: http://me.sergioalegre.es
- IaC: Terraform y Ansible
- Plataformas: Amazon AWS - Google Cloud Platform - Microsoft Azure - VMware vSphere
- Kubernets y Dockers
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.