Ir al contenido

Administrador de Ambientes y Servidores

Remote

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).

  • Administración y Ajuste de PostgreSQL

    Dado que Odoo depende 100% de PostgreSQL, esta es una de las responsabilidades de mayor impacto técnico:

    • 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).

  • Despliegue, Configuración y Tuning de Odoo
    • 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).

    • 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).

  • Estrategia de Respaldos (Backups) y Plan de Recuperación (DRP)
    • 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, Métricas y Resoluciones de Incidencias
    • 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.

  • Particularidades: Community vs. Enterprise
  • 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.