Skip to content

LasPalmasDevOps/Talleres

Repository files navigation

Talleres de Las Palmas DevOps

En este repositorio de gestionarán los talleres propuestos desde el grupo Las Palmas DevOps (MeetUp).

Los talleres van enfocados a profesionales de IT (programadores, administradores de sistemas, ingenieros de calidad, maquetadores, etc) que quieran complementar su formación o ponerse al día.

También para estudiantes que quieran aprender herramientas, tecnologías, metodologías y problemas que se encontrarán en su futura vida profesional.

A continuación se explica el formato, la metodología y se listan los talleres propuestos. En este repositorio se irán guardando los contenidos (presentaciones, ejercicios propuestos y material de apoyo) de los mismos.

Metodología

  • Progresivo.
  • Muy práctico.
  • 1 o 2 sesiones por taller.
  • Aproximadamente 2 horas por sesión.

Esquema de una sesión

  • El problema.
  • Concepto genérico de la solución.
  • Ejemplo práctico con una tecnología o herramienta.
  • Manos a la obra.

Ejemplo

  • Problema: a mi me funciona (works on my machine).
  • Solución genérica: entornos de desarrollo y pruebas similares a producción.
  • Solución concreta: Vagrant + Chef.
  • Práctica: replicar un entorno de producción en nuestro portátil, hacer cambios en una aplicación y desplegarlo luego en producción.

Talleres

  1. Editores:
  • Vim.
  • Emacs.
  • Sublime Text.
  • Eclipse.
  • IntelliJ IDEA.
  1. Línea de órdenes y SSH:
  • Bash, PowerShell.
  • Uso básico de SSH.
  • Claves públicas SSH.
  1. Sistema de control de versiones:
  • Git.
  • Workflows.
  1. Herramientas de gestión de proyectos:
  • Redmine.
  • Jira.
  • Taiga.
  • Github.
  1. GitHub como repositorio de código:
  • Repos.
  • Issues.
  • Pull requests.
  • Wiki.
  • Organizaciones.
  1. Gestores de dependencias:
  • Ruby Gems.
  • Pip.
  • Composer.
  • Maven.
  1. Lenguajes dinámicos y REPL:
  • Python + iPython.
  • Ruby + irb.
  1. Depuración de código:
  • Depuración en código.
  • Depuración en el navegador.
  1. Testing:
  • Unit Test.
  • Functional test.
  • TDD.
  1. Entornos de desarrollo I:
  • RVM.
  • Python virtualenv.
  • ¿Java env?
  1. Entornos de desarrollo II:
  • Máquinas virtuales.
  • Vagrant.
  1. Servidores web:
  • Apache.
  • Nginx.
  • Tomcat.
  1. Bases de datos (servidor y cliente):
  • MySQL.
  • PostgreSQL.
  • MongoDB.
  • Redis.
  1. ORM.
  2. Aprovisionamiento de servidores:
  • Chef.
  • Puppet.
  • Ansible.
  1. Entornos de desarrollo III:
  • Vagrant + Chef.
  1. IaaS:
  • Amazon.
  • DigitalOcean.
  • Rackspace.
  • Azure.
  1. Entorno de producción I:
  • Amazon + Chef.
  1. Integración Continua:
  • Jenkins.
  • TravisCI.
  1. Desarrollo web básico:
  • HTTP.
  • HTML5 + CSS.
  • JavaScript + jquery.
  • Frontend frameworks: Bootstrap, Foundation, etc.
  • MVC.
  • ORM.
  1. Frameworks web:
  • Django.
  • Rails.
  • Symfony.
  • JavaSomething.
  1. Desplegar aplicación web:
  • Capistrano.
  • Fabric.
  • Ansible.
  1. Monitorización:
  • Procesos: monit, supervisord, runit.
  • Sistemas: Nagios, Zabbix.
  1. Tests para infraestructura:
  • ServerSpec.
  1. Análisis de logs:
  • Logstash.
  1. Métricas:
  • statsD.
  • Graphite.
  1. Dashboards con métricas:
  • Kibana.
  • Grafana.
  • Ducksboard.
  1. SaaS de monitorización y métricas:
  • NewRelic.
  • DataDog.
  • Otros.
  1. Cache:
  • Memcache.
  • Varnish.
  1. Balanceo de carga:
  • HAProxy.
  • Nginx.
  • Amazon ELB.

Extras

* Hipervisores: KVM, XEN, VMware, VirtualBox.
* Linux Containers: LXC, Docker.
* Scrum, Kanban, ITIL, CMMI.
* Internacionalización de software.
* Content Delivery Network (CDN).
* Private cloud: OpenStack.
* ElasticSearch.
* Servicios de colas de mensajes:
	* RabbitMQ.
	* ZeroMQ.
	* Celery Task Queue.
	* Redis.
	* Amazon SQS.
* Amazon web services:
	* EC2.
	* S3.
	* RDS.
	* Route 53.
	* CloudFormation.
	* CloudWatch.
	* OpsWorks.