RESUMEN
Conocí Linux en 1996 con RedHat 4.0, desde entonces he utilizado Gentoo, Ubuntu y Debian, básicamente usando siempre Linux desde entonces.
Mi carrera ha sido un camino con una gran cantidad de tareas diferentes, pero siempre desafiante y divertida. Comencé gestionando algunos servidores y programando algo de PHP, aprendí Perl para mover algunas estructuras de datos complejas de varios gigabytes para empaquetar y producir unos CD a medida (luego DVDs), convertí el sistema de perl lineal a multithread y se redujo el tiempo de ~12 horas a ~4. Aprendí algo de programación a medio/bajo nivel para leer entradas de una tarjeta de E/S digitales y almacenarlas con timestamps en una base de datos mysql con un programa C multithread.
Evolucioné hacia optimizador de UX de la web principal. Puse Varnish en el front-end, coordiné los cambios necesarios para gestionar la nueva capa de caché, participé en la programación de las optimizaciones que impulsaron nuestro ranking SEO y el aumento de las visitas de 80k/día (2008) a ~230k (2013).
Administré sistemas Linux, optimicé Apache + PHP + MySQL + Varnish. Gestioné servidores DNS con Bind, correo Exim + clamav + SpamAssassin + fail2ban y cyrus, más algún código personalizado para alimentar SA el SPAM dejado en una carpeta compartida. Instalé y gestioné openvpn para que pudiéramos conectarnos a la oficina, usábamos certificados digitales en los servicios que estaban disponibles de forma externa cifrar las conexiones.
Me encantan los desafíos, probar y jugar con nuevas herramientas, sea añadir un cache Varnish a un sitio web de tráfico medio y ver cómo ayudó a nuestros usuarios, o participar en el World IPv6 Day en 2011.
He tenido la suerte de haber podido trabajar siempre con las herramientas que conozco y disfruto.
Especialidades: Linux sysadmin, Varnish, Perl, PHP, optimización de sitios web.
EXPERIENCIA
Principal Linux Devops - Linux Systems Administrator, BetBright - 888 Spectate
Dublín, Irlanda — Abril 2015 – actualidad
Trabajando como administrador de sistemas Linux, gestionando los servidores Linux en AWS, y la infraestructura AWS, así como los servidores situados en VSphere de VMware en las oficinas. Trabajando con Ansible y Terraform, Python, Bash, etc. Gestionando EC2, RDS (Aurora MySQL principalmente), Redshift, Lambda, Route 53, IAM policies, VSphere, etc.
Logros
- Escribí un sistema para una recuperación ante fallos del maestro de Aurora MySQL más rápida que la proporcionada por Amazon con su endpoint por defecto, el tiempo de recuperación se redujo a unos ~3s en ese caso.
- Escribí playbooks (guiones) idempotentes en Ansible para automatizar el despliegue de nuevas instancias con el software adecuado, las configuraciones, hardening, logs, usuarios, etc, basado en etiquetas aplicadas a la instancia en el momento de su creación, y mantenerlo regularmente actualizado.
- Políticas IAM en AWS basadas en el principio del mínimo acceso requerido para usuarios de servicio que realizan llamadas a las APIs de AWS.
- Definir todos los recursos en AWS utilizando múltiples capas de IaC (Infrastructure as Code) utilizando Terraform y AWX (Ansible) para finalizar el despliegue de instancias EC2.
Ingeniero Informático, Leggio, Contenidos y Aplicaciones Informáticas, S.L.
Zaragoza, España — Diciembre 2000 – Marzo 2013
Programaba en PHP 4 y 5, conectando a versiones de mysql desde la 3.23 hasta las 5.1.x. Optimizador de rendimiento front-end. Programación de scripts en perl5 para producir cds y dvds con varios gigabytes de datos empaquetados e índices para un navegador y gestor de base de datos personalizado que permitiera la búsqueda en sus contenidos. Gestioné los servidores de la oficina, y una red con una mezcla de servidores linux (algunos virtualizados usando KVM/qemu/libvirt), algunos clientes LTSP y otros clientes Windows. Gestioné los servidores externos, tanto housed, como hostings dedicados de http://noticias.juridicas.com usando IPv4 + IPv6 Dualstack. Gestioné apache, squid, varnish, exim, cyrus, clamav, samba, openssh.
Logros
- Optimización del proceso de servir páginas para minimizar la latencia y servir las páginas lo más rápido posible con amplio margen de crecimiento. Puse Varnish delante del Apache, optimicé las cabeceras para permitir el almacenamiento en caché de los recursos, modifiqué los css, códigos javascript y las imágenes para enviar menos bytes en menos peticiones.
- Gestionaba los servidores internos y los scripts que reformateaban nuestra documentación, eran una mezcla de perl, bash, php y algunos antiguos tcl.
- Gestionaba el sistema de correo. Exim con clamav y SpamAssassin, y cyrus imapd con carpetas compartidas que usábamos para almacenar las comunicaciones empresariales.
- Gestionaba los servidores externos, solíamos usar servidores físicos, pero migramos a un servidor dedicado “grande” con qemu+kvm ejecutando varias máquinas virtuales.
- Creé un entorno web en PHP para editar unos ficheros XML que se presentaban al usuarios convertidos “al vuelo” en fragmentos XHTML con ayuda de XSL, XPath y algo de CSS.
- Creé y coordiné en un equipo de trabajo multi-OS un sistema para comprimir, archivar, indexar y acceder en tiempo real (sin necesidad de instalación o descompresión) un sitio web a CD/DVD para ser ejecutado en sistemas MS Windows. Yo me encargaba de la parte de “empaquetado” que generaba un gran fichero con todos los contenidos e índices que la aplicación Windows necesitaba usar para poder ser capaz de navegar y buscar documentos.
Ingeniero Informático, Mael coccion, s.l.u.
Zaragoza, España — Mayo 2003 – Junio 2006 (trabajaba por las tardes a la vez que estaba en Leggio)
Programación C multithreaded utilizando mysql y Comedi como interfaz con una tarjeta PCI de entradas y salidas digitales. Administrador de sistemas de varios servidores linux; correo, exim, cyrus imapd, apache y una instalación LTSP con failover.
Logros
- Trabajé principalmente en un sistema de aseguramiento de la calidad informatizado (CAQA) para comprobar las bobinas de cobre fabricadas para las cocinas de inducción. El sistema era un programa de Visual Basic que se utilizaba una tarjeta de entradas y salidas PCI para comunicarse con un autómata industrial que comprobaba las características eléctricas de las bobinas (resistencia e inductancia) situadas en una cinta transportadora. Almacenaba los valores medidos e imprimía el número de serie y un código de barras para permitir la trazabilidad requerida por la UNE EN ISO 9001.
- Gestionaba los servidores que proporcionaban los servicios básicos como email (exim, cyrus, clamav, SpamAssassin), presencia web (apache, php), y dos servidores internos LTSP (Linux Terminal Server Project) para proporcionar escritorios flotantes a los trabajadores y a las estaciones de fichaje.
- Creé un sistema para mostrar de forma gráfica el rendimiento de los puestos de fabricación, el sistema funcionaba en Linux y era un programa multithreaded en C y una base de datos mysql para almacenar los timestamps de cada evento del proceso de fabricación. Estos datos se mostraban continuamente en unas gráficas en una página web actualizada automáticamente para un seguimiento fácil de los problemas y cuellos de botella.
Programador informático, Sextante Net A.I.E.
Zaragoza, España — Septiembre 1999 – Abril 2000
Contrato de prácticas. Programación en PHP/FI 2, PHP 3 y mysql 3.2x en un entorno Redhat Linux.
Programador informático, Zic Ingenieros de Informática Asociados S.L.
Zaragoza, España — Septiembre 1997 – Mayo 1999
Contrato de prácticas. Programación en Delphi, administración y mantenimiento de servidores Windows NT.
Logros
- Trabajé en la programación de un programa para grabar y archivar las llamadas telefónicas de una entidad financiera para guardarlas como contratos verbales.
- Mantenimiento de los ordenadores de esa entidad financiera.
Computer programmer, Walthon Weir Pacific S.A.
Zaragoza, España — Septiembre 1996 – Mayo 1997
Contrato de prácticas. MS Access, Novell Network, Autocad.
Logros
- Creación de una base de datos para almacenar los despieces de todas las válvulas que habían fabricado y vendido.
- Breve aprendizaje del manejo de Autocad para ayudar al equipo de ingenieros.
FORMACIÓN
- Título de la University of Wales, Cardiff cursado en la Fundación San Valero, Zaragoza. Bachelor of Science (BS), Business Information Systems — 1996-2000
- Certificación IPv6 Sage por Hurricane Electric
- Certified Administrator for Apache Hadoop CDH4 (CCAH)
- Linux Foundation Certified Engineer (LFCE) by The Linux Foundation, License LFCE-1400-0019-0200
- LPIC-1, Verification code: qv34lqxm9u, LPI ID: LPI000310889
- LPIC-2, Verification code: hskpmcwr4x, LPI ID: LPI000310889
- LPI-300 (LPIC-3), Verification code: tl5pb6h45c, LPI ID: LPI000310889
- AWS Certified Solutions Architect - Associate, Amazon Web Services, License AWS-ASA-6894
Cursos
- Curso Cloudera Certified Administrator for Apache Hadoop
- Curso Cloudera Apache HBase sobre Amazon Elastic MapReduce (AEMR)
- Amazon Web Services Training
- LPIC-1 Junior Level Linux Certification
- LPIC-2 Advanced Level Linux Certification
- LPIC-3 Senior Level Linux Certification (Speciality 300 Mixed Environment)
- Architecting on Amazon Web Services - Official AWS Solutions Architect (Associate) Certification
COMPETENCIAS
- Caché web/acelerador de aplicaciones, he estado usando el caché Varnish delante de nuestro principal sitio web (noticias.juridicas.com) desde 2008.
- Optimización del front-end. He coordinado los esfuerzos para concatenar imágenes en sprites, combinar hojas de estilos y javascripts en menos ficheros, y conseguí servir menos bytes, en menos peticiones, más rápido.
- IPv6: Conocimientos detallados y experiencia en la planificación, implementación, seguridad y mantenimiento de IPv6. Usándola de forma externa (fuera de LAN) diariamente desde 2010 en casa y 2011 en la oficina y en nuestros servidores en Internet. Por supuesto conocimientos equivalentes en IPv4.
- Programando en PHP desde 2000, en Perl desde 2001.
- Administración de servidores de Base de Datos Mysql, replicación maestro-esclavo, optimización de consultas y Bases de Datos.
- (X)HTML, HTML5, CSS(1, 2, 3), He estado trabajando con HTML desde aproximadamente HTML 3.2/4.0, y manteniendome constantemente al día.
- XML, XSL, XPath.
REFERENCIAS
Disponibles bajo petición.