{"id":87282,"date":"2020-07-06T13:44:51","date_gmt":"2020-07-06T11:44:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury"},"modified":"2021-02-01T11:41:48","modified_gmt":"2021-02-01T09:41:48","slug":"ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","title":{"rendered":"Desde un \u201cstartup\u201d hasta miles de servidores en una docena de centros de datos. C\u00f3mo hemos perseguido el crecimiento de la infraestructura de Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Si su infraestructura de TI crece demasiado r\u00e1pido, tarde o temprano se enfrentar\u00e1 a la elecci\u00f3n de aumentar linealmente los recursos humanos para su soporte o comenzar la automatizaci\u00f3n. Hasta cierto punto, vivimos en la primera paradigma, y luego comenz\u00f3 un largo camino hacia la Infraestructura como C\u00f3digo.<\/p>\n<p><img decoding=\"async\" alt=\"Desde un \u201cstartup\u201d hasta miles de servidores en una docena de centros de datos. C\u00f3mo hemos perseguido el crecimiento de la infraestructura de Linux\" src=\"\/wp-content\/uploads\/2020\/07\/adbcf170e3e0f794355eb1eb052585c1.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPor supuesto, NSPK no es un startup, pero esa atm\u00f3sfera reinaba en la empresa durante los primeros a\u00f1os de existencia, y fueron a\u00f1os muy interesantes. Me llamo <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/users\/dkorn\/\">Dmitry Koryakov<\/a><\/noindex>, durante m\u00e1s de 10 a\u00f1os he mantenido una infraestructura de Linux con altos requisitos de disponibilidad. Me un\u00ed al equipo de NSPK en enero de 2016 y, lamentablemente, no vi el inicio de la existencia de la empresa, pero llegu\u00e9 en una etapa de grandes cambios.<\/p>\n<p>En general, se puede decir que nuestro equipo entrega a la empresa 2 productos. El primero es la infraestructura. El correo debe funcionar, DNS debe estar operativo, y los controladores de dominio deben permitirle acceder a servidores que no deben caerse. \u00a1El paisaje de TI de la empresa es enorme! Son sistemas cr\u00edticos para el negocio y la misi\u00f3n, y algunos tienen requisitos de disponibilidad del 99,999. El segundo producto son los propios servidores, f\u00edsicos y virtuales. Hay que supervisar los existentes y proporcionar regularmente nuevos a los clientes de m\u00faltiples departamentos. En este art\u00edculo quiero enfatizar c\u00f3mo hemos desarrollado una infraestructura que es responsable del ciclo de vida <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/server\/\"   title=\"servidores\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1507\">servidores<\/a>.<\/p>\n<p><b>El comienzo del camino<\/b><\/p>\n<p>Al principio, nuestra pila de tecnolog\u00edas se ve\u00eda as\u00ed:<br \/>\n<i>Sistema operativo CentOS 7<br \/>\nControladores de dominio FreeIPA<br \/>\nAutomatizaci\u00f3n \u2014 Ansible(+Tower), Cobbler<\/i><\/p>\n<p>Todo esto estaba distribuido en 3 dominios, repartidos en varios centros de datos. En un centro de datos \u2014 sistemas de oficina y entornos de prueba, en los dem\u00e1s PROD.<\/p>\n<p>La creaci\u00f3n de servidores en alg\u00fan momento se ve\u00eda as\u00ed:<\/p>\n<p><img decoding=\"async\" alt=\"Desde un \u201cstartup\u201d hasta miles de servidores en una docena de centros de datos. C\u00f3mo hemos perseguido el crecimiento de la infraestructura de Linux\" src=\"\/wp-content\/uploads\/2020\/07\/2cc6209276489dc6e9d1bf46236d3785.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>En la plantilla de VM CentOS minimal y el m\u00ednimo necesario como un correcto \/etc\/resolv.conf, lo dem\u00e1s llega a trav\u00e9s de Ansible.<\/p>\n<p>CMDB \u2014 Excel.<\/p>\n<p>Si el servidor es f\u00edsico, en lugar de copiar la m\u00e1quina virtual, se instalaba el sistema operativo con Cobbler: se agregan las direcciones MAC del servidor objetivo al configurador de Cobbler, el servidor obtiene una direcci\u00f3n IP a trav\u00e9s de DHCP y luego se instala el sistema operativo.<\/p>\n<p>Al principio, incluso intentamos hacer alg\u00fan tipo de gesti\u00f3n de configuraci\u00f3n en Cobbler. Pero con el tiempo, esto comenz\u00f3 a causar problemas con la portabilidad de las configuraciones tanto a otros centros de datos como en el c\u00f3digo de Ansible para preparar las VM.<\/p>\n<p>Muchos de nosotros en ese momento ve\u00edamos Ansible como una conveniente extensi\u00f3n de Bash y no escatim\u00e1bamos en la construcci\u00f3n de scripts con shell y sed. En general, era como un Bashsible. Esto, en \u00faltima instancia, llevaba a que si un playbook no funcionaba por alguna raz\u00f3n en el servidor, era m\u00e1s f\u00e1cil eliminar el servidor, corregir el playbook y ejecutarlo nuevamente. No hab\u00eda realmente versionado los scripts ni portabilidad de las configuraciones.<\/p>\n<p>Por ejemplo, quisimos cambiar alguna configuraci\u00f3n en todos los servidores:<\/p>\n<ol>\n<li>Cambiamos la configuraci\u00f3n en los servidores existentes en el segmento l\u00f3gico\/centro de datos. A veces no en un solo d\u00eda, ya que los requisitos de disponibilidad y la ley de grandes n\u00fameros no permiten aplicar todos los cambios de una vez. Algunos cambios son potencialmente destructivos y requieren reiniciar algo, desde servicios hasta el mismo sistema operativo.<\/li>\n<li>Corregimos en Ansible<\/li>\n<li>Corregimos en Cobbler<\/li>\n<li>Repetimos N veces para cada segmento l\u00f3gico\/centro de datos<\/li>\n<\/ol>\n<p>Para que todos los cambios se realicen sin problemas, era necesario tener en cuenta muchos factores, y los cambios ocurren constantemente.<\/p>\n<ul>\n<li>Refactorizaci\u00f3n del c\u00f3digo ansible, archivos de configuraci\u00f3n<\/li>\n<li>Cambio de pr\u00e1cticas recomendadas internas<\/li>\n<li>Cambios a ra\u00edz del an\u00e1lisis de incidentes\/accidentes<\/li>\n<li>Cambio de est\u00e1ndares de seguridad, tanto internos como externos. Por ejemplo, PCI DSS se complementa cada a\u00f1o con nuevos requisitos.<\/li>\n<\/ul>\n<p><b>Crecimiento de la infraestructura y comienzo del camino<\/b><\/p>\n<p>El n\u00famero de servidores\/domains l\u00f3gicos\/centros de datos aumentaba, y con ello la cantidad de errores en las configuraciones. En alg\u00fan momento llegamos a tres \u00e1reas en las que deb\u00edamos desarrollar la gesti\u00f3n de configuraciones:<\/p>\n<ol>\n<li>Automatizaci\u00f3n. En la medida de lo posible, hay que evitar el factor humano en operaciones repetitivas.<\/li>\n<li>Repetibilidad. Es mucho m\u00e1s f\u00e1cil gestionar la infraestructura cuando es predecible. La configuraci\u00f3n de los servidores y las herramientas para su preparaci\u00f3n debe ser la misma en todas partes. Esto tambi\u00e9n es importante para los equipos de producto: la aplicaci\u00f3n debe garantizar, tras la prueba, que llegue al entorno productivo configurado de manera similar al de prueba.<\/li>\n<li>Simplicidad y transparencia en la implementaci\u00f3n de cambios en la gesti\u00f3n de configuraciones.<\/li>\n<\/ol>\n<p>Solo queda agregar un par de herramientas.<\/p>\n<p>Como repositorio de c\u00f3digo elegimos GitLab CE, no en menor medida por la existencia de m\u00f3dulos integrados de CI\/CD.<\/p>\n<p>El almacenamiento de secretos es Hashicorp Vault, en parte por su excelente API.<\/p>\n<p>Pruebas de configuraciones y roles de ansible \u2013 Molecule+Testinfra. Las pruebas son mucho m\u00e1s r\u00e1pidas si conectas mitogen a ansible. Paralelamente, comenzamos a escribir nuestra propia CMDB y orquestador para el despliegue autom\u00e1tico (en la imagen sobre Cobbler), pero esa es otra historia completamente diferente, de la que mi colega y principal desarrollador de estos sistemas hablar\u00e1 en el futuro.<\/p>\n<p>Nuestra elecci\u00f3n:<\/p>\n<p><i>Molecule + Testinfra<br \/>\nAnsible + Tower + AWX<br \/>\nMundo Servidores + DITNET (Desarrollo propio)<br \/>\nCobbler<br \/>\nGitlab + GitLab runner<br \/>\nHashicorp Vault<br \/>\n<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Desde un \u201cstartup\u201d hasta miles de servidores en una docena de centros de datos. C\u00f3mo hemos perseguido el crecimiento de la infraestructura de Linux\" src=\"\/wp-content\/uploads\/2020\/07\/e84263618966f757e76d0384c9da276d.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Por cierto, sobre los roles de ansible. Inicialmente hab\u00eda uno, despu\u00e9s de varias refactorizaciones se convirtieron en 17. Recomiendo encarecidamente dividir el monolito en roles idempotentes que luego se puedan ejecutar por separado, adem\u00e1s se pueden a\u00f1adir etiquetas. Dividimos los roles seg\u00fan funcionalidad \u2013 red, registro, paquetes, hardware, molecule, etc. En general, nos adherimos a la estrategia que se menciona a continuaci\u00f3n. No insisto en que esto sea una verdad universal, pero a nosotros nos funcion\u00f3.<\/p>\n<ul>\n<li><b>\u00a1Copiar servidores desde una \"imagen dorada\" es un error!<\/b>Entre las principales desventajas, no sabes en qu\u00e9 estado se encuentran las im\u00e1genes actualmente, y que todos los cambios se aplicar\u00e1n a todas las im\u00e1genes en todas las granjas de virtualizaci\u00f3n.<\/li>\n<li><b>Usa los archivos de configuraci\u00f3n por defecto lo menos posible y ponlo de acuerdo con otros departamentos, que t\u00fa eres responsable de los principales archivos del sistema.<\/b>, por ejemplo:\n<ol>\n<li>Deja \/etc\/sysctl.conf vac\u00edo, las configuraciones deben estar solo en \/etc\/sysctl.d\/. Tu configuraci\u00f3n predeterminada en un archivo, personalizada para la aplicaci\u00f3n en otro.<\/li>\n<li>Utiliza archivos override para editar unidades de systemd.<\/li>\n<\/ol>\n<\/li>\n<li><b>Template todos los configs y col\u00f3calos enteros, siempre que sea posible, evita el uso de sed y sus an\u00e1logos en los playbooks.<\/b><\/li>\n<li><b>Refactorizando el c\u00f3digo del sistema de gesti\u00f3n de configuraciones:<\/b>\n<ol>\n<li>Divide las tareas en entidades l\u00f3gicas y reescribe el monolito a roles.<\/li>\n<li>\u00a1Usa linters! Ansible-lint, yaml-lint, etc.<\/li>\n<li>\u00a1Cambia el enfoque! Nada de bashsible. Necesitamos describir el estado del sistema.<\/li>\n<\/ol>\n<\/li>\n<li><b>Para todos los roles de Ansible, deben escribirse pruebas en molecule y generar informes una vez al d\u00eda.<\/b><\/li>\n<li>En nuestro caso, despu\u00e9s de preparar las pruebas (de las cuales hay m\u00e1s de 100) se encontraron alrededor de 70000 errores. Estuvimos corrigiendo durante varios meses.<img decoding=\"async\" alt=\"Desde un \u201cstartup\u201d hasta miles de servidores en una docena de centros de datos. C\u00f3mo hemos perseguido el crecimiento de la infraestructura de Linux\" src=\"\/wp-content\/uploads\/2020\/07\/afa87e6305ef99a7ed6bdab0bc78a433.jpg\" style=\"display:block;margin: 0 auto;\"><\/li>\n<\/ul>\n<p><b>Nuestra implementaci\u00f3n<\/b><\/p>\n<p>Entonces, los roles de ansible estaban listos, templateados y verificados por linters. Incluso los gits estaban levantados por todas partes. Pero la cuesti\u00f3n de la entrega confiable del c\u00f3digo a diferentes segmentos segu\u00eda abierta. Decidimos sincronizar con scripts. Se ve as\u00ed:<\/p>\n<p><img decoding=\"async\" alt=\"Desde un \u201cstartup\u201d hasta miles de servidores en una docena de centros de datos. C\u00f3mo hemos perseguido el crecimiento de la infraestructura de Linux\" src=\"\/wp-content\/uploads\/2020\/07\/7c850301b5838b295d75834374e09b9f.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Una vez que llega el cambio, se lanza el CI, se crea un servidor de prueba, se aplican los roles y se prueba con Molecule. Si todo est\u00e1 bien, el c\u00f3digo se mueve a la rama de producci\u00f3n. Sin embargo, no aplicamos el nuevo c\u00f3digo autom\u00e1ticamente en los servidores existentes. Esto funciona como un freno, necesario para la alta disponibilidad de nuestros sistemas. Y cuando la infraestructura se vuelve enorme, tambi\u00e9n entra en juego la ley de los grandes n\u00fameros: incluso si est\u00e1s seguro de que el cambio es inofensivo, puede tener consecuencias desastrosas.<\/p>\n<p>Hay muchas maneras de crear servidores. Al final, elegimos scripts personalizados en Python. Y para el CI, Ansible:<\/p>\n<pre><code class=\"json\">- name: create1.yml - Crear una VM de una plantilla\n  vmware_guest:\n    hostname: \"{{datacenter}}\".domain.ru\n    username: \"{{ username_vc }}\"\n    password: \"{{ password_vc }}\"\n    validate_certs: no\n    cluster: \"{{cluster}}\"\n    datacenter: \"{{datacenter}}\"\n    name: \"{{ name }}\"\n    state: poweredon\n    folder: \"\\\/{{folder}}\"\n    template: \"{{template}}\"\n    customization:\n      hostname: \"{{ name }}\"\n      domain: domain.ru\n      dns_servers:\n        - \"{{ ipa1_dns }}\"\n        - \"{{ ipa2_dns }}\"\n    networks:\n      - name: \"{{ network }}\"\n        type: static\n        ip: \"{{ip}}\"\n        netmask: \"{{netmask}}\"\n        gateway: \"{{gateway}}\"\n        wake_on_lan: True\n        start_connected: True\n        allow_guest_control: True\n    wait_for_ip_address: yes\n    disk:\n      - size_gb: 1\n        type: thin\n        datastore: \"{{datastore}}\"\n      - size_gb: 20\n        type: thin\n        datastore: \"{{datastore}}\"<\/code><\/pre>\n<p>Esto es a lo que hemos llegado, el sistema contin\u00faa viviendo y desarroll\u00e1ndose.<\/p>\n<ul>\n<li>17 roles de Ansible para la configuraci\u00f3n del servidor. Cada uno de los roles est\u00e1 destinado a resolver una tarea l\u00f3gica espec\u00edfica (registro, auditor\u00eda, autorizaci\u00f3n de usuarios, monitoreo, etc.).<\/li>\n<li>Pruebas de roles. Molecule + TestInfra.<\/li>\n<li>Desarrollo propio: CMDB + Orquestador.<\/li>\n<li>El tiempo de creaci\u00f3n de un servidor es de aproximadamente 30 minutos, automatizado y pr\u00e1cticamente independiente de la cola de tareas.<\/li>\n<li>Estado\/nombre uniforme de la infraestructura en todos los segmentos: playbooks, repositorios, elementos de virtualizaci\u00f3n.<\/li>\n<li>Revisi\u00f3n diaria del estado de los servidores con generaci\u00f3n de informes sobre discrepancias con el est\u00e1ndar.<\/li>\n<\/ul>\n<p>Espero que mi relato sea \u00fatil para aquellos que est\u00e1n al principio del camino. \u00bfQu\u00e9 conjunto de herramientas de automatizaci\u00f3n utilizas t\u00fa?<\/p>\n<p>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nspk\/blog\/509460\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 IT \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u044b\u0441\u0442\u0440\u043e, \u0432\u044b \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u0442\u0435\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u2013 \u043b\u0438\u043d\u0435\u0439\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0435\u0451 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e. \u0414\u043e \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043c\u044b \u0436\u0438\u043b\u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435, \u0430 \u043f\u043e\u0442\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0434\u043e\u043b\u0433\u0438\u0439 \u043f\u0443\u0442\u044c \u043a Infrastructure-as-Code. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u041d\u0421\u041f\u041a \u2013 \u043d\u0435 \u0441\u0442\u0430\u0440\u0442\u0430\u043f, \u043d\u043e \u0442\u0430\u043a\u0430\u044f \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u0430 \u0446\u0430\u0440\u0438\u043b\u0430 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0432 \u043f\u0435\u0440\u0432\u044b\u0435 \u0433\u043e\u0434\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87283,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87282","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 IT \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u044b\u0441\u0442\u0440\u043e, \u0432\u044b \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u0442\u0435\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u2013 \u043b\u0438\u043d\u0435\u0439\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0435\u0451 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0442 \u201c\u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430\u201d \u0434\u043e \u0442\u044b\u0441\u044f\u0447 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u0434\u0435\u0441\u044f\u0442\u043a\u0435 \u0426\u041e\u0414. \u041a\u0430\u043a \u043c\u044b \u0433\u043d\u0430\u043b\u0438\u0441\u044c \u0437\u0430 \u0440\u043e\u0441\u0442\u043e\u043c Linux \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 IT \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u044b\u0441\u0442\u0440\u043e, \u0432\u044b \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u0442\u0435\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u2013 \u043b\u0438\u043d\u0435\u0439\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0435\u0451 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-06T11:44:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-01T09:41:48+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 De \u2018startup\u2019 a miles de servidores en una docena de centros de datos. C\u00f3mo perseguimos el crecimiento de la infraestructura Linux | ProHoster","description":"Si tu infraestructura de TI crece demasiado r\u00e1pido, tarde o temprano te enfrentar\u00e1s a la elecci\u00f3n de aumentar linealmente los recursos humanos para su soporte o comenzar la automatizaci\u00f3n.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0442 \u201c\u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430\u201d \u0434\u043e \u0442\u044b\u0441\u044f\u0447 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u0434\u0435\u0441\u044f\u0442\u043a\u0435 \u0426\u041e\u0414. \u041a\u0430\u043a \u043c\u044b \u0433\u043d\u0430\u043b\u0438\u0441\u044c \u0437\u0430 \u0440\u043e\u0441\u0442\u043e\u043c Linux \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b | ProHoster","og:description":"\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 IT \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u044b\u0441\u0442\u0440\u043e, \u0432\u044b \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u0442\u0435\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u2013 \u043b\u0438\u043d\u0435\u0439\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0435\u0451 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-06T11:44:51+00:00","article:modified_time":"2021-02-01T09:41:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87282","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:55:30","updated":"2026-02-09 16:50:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/87282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=87282"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/87282\/revisions"}],"predecessor-version":[{"id":158751,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/87282\/revisions\/158751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/87283"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=87282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=87282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=87282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}