1. Descripción del Rol
Puesto: Administrador de Ambientes / Servidores (Senior)
Modalidad: Trabajo 100% Remoto
Experiencia requerida: Mínimo 5 años
Ubicación: VENEZUELA (VE)
Formación requerida: Licenciatura o Ingeniería en Informática, Computación, Sistemas o carreras afines
Buscamos un Administrador de Ambientes y Servidores Senior proactivo e independiente para gestionar, asegurar y optimizar la infraestructura de servidores, motores de bases de datos, capas de servicios web y entornos de procesamiento de datos. El candidato ideal será responsable de mantener la alta disponibilidad y seguridad de los ambientes de desarrollo, staging y producción en una modalidad de trabajo totalmente remota.
2. Competencias Técnicas
- Ubuntu / Debian Server (Nivel Experto): Dominio completo de administración de sistemas Linux, hardened OS, automatización en Bash/Shell script, gestión de servicios systemd, optimización I/O y resolución de incidencias en producción.
- PostgreSQL (Nivel Avanzado): Administración, optimización de consultas (query tuning), estrategias de replicación (Streaming Replication), alta disponibilidad y políticas de respaldo/recuperación (WAL-G / PgBackRest).
- Nginx (Nivel Avanzado): Configuración como proxy inverso, balanceador de carga, gestión de certificados SSL/TLS, rate limiting, cacheo y hardening de capa web.
- Framework Web (Nivel Avanzado): Despliegue y administración de servidores de aplicaciones (Node.js, Django, Laravel, PM2, Gunicorn/uWSGI) y gestión de sockets.
- Docker (Nivel Avanzado): Creación de Dockerfiles multi-stage optimizados, orquestación con Docker Compose, gestión de redes, volúmenes permanentes y hardening de imágenes.
- Seguridad y Autenticación (Nivel Avanzado): Control de acceso SSH, firewalls (UFW/iptables), WAF, protocolos de autenticación (OAuth2, OIDC, JWT), gestión de certificados SSL/TLS y auditoría de vulnerabilidades.
- Apache Spark (Nivel Advanced): Configuración, soporte y monitoreo de la infraestructura de cómputo distribuido para grandes volúmenes de datos y optimización de recursos del cluster.
- NoSQL (Nivel Advanced): Administración de motores no relacionales (MongoDB, Redis, Elasticsearch o Cassandra), estrategias de clustering y políticas de almacenamiento en caché.
- JavaScript (Nivel Advanced): Dominio de la arquitectura JavaScript / Node.js en backend para diagnóstico, análisis de logs y entender las interacciones entre servicios.
- Python (Nivel Beginner): Conocimientos básicos/intermedios para crear o mantener scripts de automatización de tareas y mantenimiento.
3.
Habilidades Blandas
- Comunicación Asertiva y Remota: Capacidad para redactar documentación clara, comunicar incidentes técnicos con precisión y colaborar fluidamente en herramientas como Slack, Jira o Confluence.
- Resolución Autónoma de Problemas (Troubleshooting): Pensamiento analítico para diagnosticar y mitigar fallas críticas en producción con rapidez y de forma independiente.
- Autogestión y Organización: Excelente manejo del tiempo, disciplina en teletrabajo y priorización efectiva de tareas bajo presión.
- Adaptabilidad y Aprendizaje Continuo: Proactividad para adoptar nuevas herramientas tecnológicas, arquitecturas en la nube y prácticas DevOps.
4. Responsabilidades
Principales
ASPECTOS GENERALES
- Aprovisionar, configurar y mantener los servidores Linux y ambientes de la compañía.
- Garantizar la seguridad, alta disponibilidad y rendimiento de las aplicaciones y bases de datos relacionales y NoSQL.
- Supervisar la infraestructura de procesamiento masivo de datos (Spark).
- Administrar los certificados de seguridad, políticas de cortafuegos y controles de acceso.
- Configurar monitoreo continuo y alertas del estado de los servidores e incidentes de red.
ASPECTOS DETALLADOS
Mantenimiento y Seguridad de Debian (SO Base)
- Gestión de Paquetes y Actualizaciones: Mantener el sistema operativo actualizado con los últimos parches de seguridad de Debian (apt update && apt upgrade) de forma planificada para no interrumpir la operación.
Seguridad y Hardening del Servidor:
- Configuración de Firewall (vía ufw o nftables/iptables) cerrando todos los puertos no esenciales.
- Restricción de acceso SSH (deshabilitar login de root, uso exclusivo de claves públicas/privadas, cambio de puerto por defecto).
- Implementación de herramientas de protección proactiva como Fail2ban para mitigar ataques de fuerza bruta.
- Gestión segura de usuarios y permisos (principio de menor privilegio, sudoers).
- Configuración de Firewall (vía ufw o nftables/iptables) cerrando todos los puertos no esenciales.
- Tuning de Rendimiento (Tuning de Postgres): Configurar adecuadamente parámetros del postgresql.conf según el hardware del servidor (memoria RAM, CPUs, discos NVMe/SSD). Ajustes de shared_buffers, effective_cache_size, work_mem, maintenance_work_mem y max_connections.
- Mantenimiento Periódico: Supervisar el espacio consumido por las bases de datos, programar tareas de VACUUM / ANALYZE si es necesario, e identificar consultas lentas (slow queries).
- Seguridad de Datos: Administrar el archivo pg_hba.conf para garantizar que la base de datos solo acepte conexiones autorizadas (idealmente locales o de red privada).
Gestión de Instancias y Versiones:
- Configurar entornos aislados (ya sea mediante servicios de systemd, entornos virtuales de Python venv, o contenedores Docker).
- Manejar la coexistencia de ediciones Community y Enterprise (asegurando las licencias e inclusión de módulos Enterprise en el addons_path).
- Configurar entornos aislados (ya sea mediante servicios de systemd, entornos virtuales de Python venv, o contenedores Docker).
Optimización para Producción:
- Configurar Odoo en modo Multi-process (Workers) calculando el número correcto de workers, límite de memoria RAM por worker y límites de tiempo de ejecución según el hardware disponible.
- Implementación y administración de Gunicorn / Gevent para el manejo eficiente de WebSockets (Chat, notificaciones en vivo de Odoo).
Proxy Inverso y SSL:
- Configurar Nginx (o HAProxy) como Proxy Inverso frente a Odoo.
- Gestión de certificados SSL/TLS (vía Let's Encrypt / Certbot o certificados corporativos) para forzar HTTPS.
- Configuración de límites de tamaño de archivo subido (client_max_body_size) y encabezados de seguridad (HSTS, CSP).
Automatización de Respaldos:
- Configurar tareas en cron para respaldar no solo la base de datos PostgreSQL (pg_dump en formato custom/binary), sino también el Filestore de Odoo (donde se almacenan adjuntos, imágenes y documentos).
- Almacenamiento Off-site: Garantizar que los respaldos se encripten y se transfieran automáticamente a una ubicación externa segura (AWS S3, Google Cloud Storage, servidor remoto via rsync/BorgBackup).
- Pruebas de Restauración: Ejecutar periódicamente pruebas de restauración reales para verificar la integridad de los datos y calcular el RTO (Recovery Time Objective) y RPO (Recovery Point Objective).
- Monitoreo de Recursos: Implementar o gestionar herramientas de monitoreo (Zabbix, Prometheus + Grafana, Datadog o htop/netdata) para auditar uso de CPU, RAM, I/O de disco y tráfico de red.
- Gestión de Logs: Revisar y rotar (logrotate) continuamente los archivos de registro de Odoo (odoo.log), Nginx (access.log, error.log) y PostgreSQL.
- Gestión de Capacidades (Capacity Planning): Alertar proactivamente cuando el almacenamiento o los recursos estén próximos a saturarse debido al crecimiento transaccional de Odoo.
- Gestión del Código Enterprise: Asegurar la descarga y actualización adecuada del repositorio privado de módulos Enterprise de Odoo.
- Odoo Studio y Filestore: Monitorear el crecimiento del Filestore, especialmente en versiones Enterprise donde la carga de archivos, adjuntos e imágenes de documentos suele ser mayor.
- Entornos de Staging / Pruebas: Mantener entornos de pruebas sincronizados con datos de producción (anonimizados si aplica) para probar actualizaciones de versión o parches antes de pasarlos a producción.
Administración y Ajuste de PostgreSQL
Dado que Odoo depende 100% de PostgreSQL, esta es una de las responsabilidades de mayor impacto técnico: