Skip to content

sergioalegre/Terraform

Repository files navigation

LinkedIn


Logo

Proyectos Terraform en: AWS - Azure - GCP - VMWare - Kubernetes

#AWS

#Azure

#GCP

#VMWare

#Kubernetes


AWS

#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


Azure

GCP

VMWare

Kubernetes

Contact

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

Built With

  • IaC: Terraform y Ansible
  • Plataformas: Amazon AWS - Google Cloud Platform - Microsoft Azure - VMware vSphere
  • Kubernets y Dockers

Getting Started


Prerequisites


Installation


Usage


Roadmap


Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

About

Terraform cloud deployment automation to AWS, Azure, GCP & VMware practices

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published