Infraestructura

  • by

La tecnología avanza a pasos a agigantados, hoy en día necesitamos software que pueda escalar rápidamente, infraestructura que sin importar lo que ocurra siempre este disponible y pueda volver a su estado deseado.

Aun recuerdo hace años cuando tenias servidores onsite y para arreglar algún falló tenias que ir fisicamente al lugar donde estaba tu servidor y hacer los cambios necesarios directamente en el equipo, también recuerdo cuando una vez nos llegó un server (Solaris Sparc) sin salida de video, solo por telnet, era todo un problem poder incluso solo instalar el SO.

Lo mejor era usar servidores dedicados como rackspace, aún así debías de tener todo lo necesario para poder replicar tu instalación es decir si tenias 2 servidores y esperabas un incremento de trafico forzosamente tenías que pensar (con antelación) en instalar y replicar lo que ya tenias en los nuevos servidores eso incluía varios días de trabajo por que tenias que compilar el apache, php, python etc, y si instalabas una version digamos diferente de la version de tus servidores previos era casi seguro que tuvieras mil problemas de compatibilidad de software o de librerías.

Con el surgimiento del cloud computing y la virtualización de servidores, la instalación ahora estaba solo a unos pocos clics para poder practicante replicar un SO completo, de hecho hay imágenes (AMI) con todo lo requerido para un entorno LAMP, WordPress, Django, Rails, etc.

Al mismo tiempo empezaron a surgir diversas herramientas que teoermiten instalar todo el software necesario mediante unas cuantas configuraciones, y poder mantener la misma configuración sin importar las veces que se ejecutara y aplicar la mismo configuración a una, dos o mil servidores.

Algunas de estas herramientas, las más conocidas son:

Si bien todas están enfocadas en el mismo objetivo, cada una difiere bastante en su funcionamiento, y de los métodos que usan para aprovisionar los recursos que se necesiten.

Si bien no he probado todas estas herramientas, no puedo dejar de mencionar que la mejor desde mi punto de vista es Ansible, ansible es perfecto para cualquier proyecto puesto que es sumamente fácil de usar y extremadamente configurable, solo requieres tener python y acceso ssh para poder aprovisionar cualquier software que necesites, además de que hay muchos modelos para casi cualquier tarea que quiera hacer mediante Ansible Galaxy https://galaxy.ansible.com/.

Hoy en día con todas estas herramientas lo que se busca es tener una infraestructura resiliente, autoescalable, y fácil de replicar he incluso tener versionados todos los cambios lo que nos lleva hoy a otro tema que explicare en un post posterior, IaC(Infrastructure as code), Infraestructura como código, una forma de poder documentar los cambios que se requieren y se requerirán en infraestructura.

Los leo en el siguiente post.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.