Tabla de contenidos
Cuando el software se produce individualmente para un usuario y se entrega a través de la nube, esto se denomina «software como servicio». La aplicación Twelve-Factor es un método con el que estas soluciones de software se pueden diseñar de manera orientada a la práctica y adaptada con precisión.
Requisitos para SaaS
El software como servicio (SaaS) generalmente tiene que cumplir requisitos muy específicos. Éstos incluyen:
- configuración automatizada
- compatibilidad óptima con el sistema operativo a utilizar
- uso de la nube basado en la demanda
- escalabilidad flexible
Un software o aplicación web ahora se diseña especialmente de acuerdo con estos criterios y también es evaluado por los usuarios. La aplicación Twelve-Factor es un instrumento, es decir, un marco y un método, para implementar esto de manera objetiva y eficiente.
Herramienta integral
El método de los doce factores se diseñó básicamente para un uso flexible. Es adecuado para desarrollar una variedad de aplicaciones. Por ejemplo, se tuvo cuidado para garantizar que se pueda usar independientemente del lenguaje de programación seleccionado. Los elementos que están integrados en la aplicación, como las bases de datos, también se pueden incorporar y utilizar individualmente en una aplicación de doce factores.
Experiencia de muchos desarrollos de aplicaciones
Los desarrolladores del marco de 12 factores son expertos que han contribuido a muchos desarrollos de aplicaciones. Las aplicaciones fueron diseñadas para la plataforma de aplicaciones en la nube de Heroku, que se basa en una infraestructura de alto rendimiento y se puede usar con diferentes lenguajes de programación. Heroku Cloud ofrece a los desarrolladores y usuarios una ventaja importante: como proyecto de código abierto, el trabajo de desarrollo eficiente por parte de expertos es posible desde cualquier parte del mundo.
Las aplicaciones para la plataforma Heroku se diseñaron en números de seis dígitos y también se evaluaron críticamente en sus aplicaciones y en términos de escalabilidad. Con cada aplicación SaaS recién desarrollada, la riqueza de la experiencia de los desarrolladores podría ampliarse aún más, de la cual los clientes de aplicaciones que fueron diseñadas como aplicaciones de doce factores se benefician a largo plazo.
El objetivo era desarrollar una aplicación de tal manera que estuviera diseñada para satisfacer las necesidades y que también pudiera adaptarse fácilmente, y que los diversos desarrolladores involucrados pudieran trabajar bien juntos al diseñar la aplicación. Por supuesto, la relación costo-beneficio de la aplicación respectiva también debe diseñarse de manera óptima.
La precisión es la clave
Una aplicación de doce factores se caracteriza principalmente por el hecho de que tiene una estructura clara, que permite un trabajo de desarrollo constructivo y que ofrece enfoques orientados a soluciones para diferentes áreas de aplicación. En este contexto, la facilidad de uso también es un criterio importante para un trabajo exitoso en el contexto del desarrollo de aplicaciones modernas. Además, un vocabulario común garantiza el desarrollo conjunto de aplicaciones, que también se pueden utilizar más adelante para trabajos de desarrollo posteriores.
Los 12 factores en una descripción compacta
Los 12 factores son una lista de verificación que se puede utilizar para verificar con precisión el perfil de requisitos complejos de la aplicación Twelve Factor. El método fue presentado por primera vez por Adam Wiggings, un experto en diseño web profesional y personalizado.
- I. Código base: La base es un código que puede administrarse de forma centralizada y usarse para diferentes versiones.
- II. Dependencias: Los elementos dependientes pueden deteriorar un sistema, por eso son nombrados y aislados en la medida de lo posible.
- III. Configuración: las opciones de configuración y los servicios de soporte siempre se gestionan en el entorno o como un recurso adjunto.
- Servicios de apoyo: Cualquier servicio requerido por una aplicación para su uso normal se considerará un recurso adjunto. La aplicación no diferencia entre servicios locales y de terceros.
- V. Compilar, lanzar, ejecutar: las fases de creación y uso de la aplicación están estrictamente separadas.
- VI. Procesos: una aplicación debe ejecutarse como uno o varios procesos sin estado.
- VII.Conexión de puerto: si se utilizan servicios, se conectan profesionalmente y se exportan a través de puertos.
- VIII. Simultaneidad: La simultaneidad es posible escalando procesos individuales.
- IX. Disponibilidad: El hecho de que el software como servicio pueda iniciarse rápidamente y detenerse individualmente garantiza la facilidad de uso y un alto nivel de comodidad.
- X. Dev / Prod-Parity: Con la aplicación de doce factores, el objetivo es que el desarrollo, la verificación y la producción se implementen de la manera más similar posible. Esto no solo sirve para reducir los costos involucrados en el trabajo de desarrollo de los expertos. El resultado es una mejor comparabilidad y valores empíricos óptimamente utilizables, así como el desarrollo constante de soluciones ágiles.
- XI. Registros: en las aplicaciones individuales, los registros deben tratarse como un flujo de eventos.
- XII. Procesos administrativos: los procesos administrativos siempre deben tratarse como una acción única.
Todas estas medidas, que caracterizan la aplicación Twelve Factor y el método en el que se basa, también son importantes para la trazabilidad del trabajo de desarrollo y la adaptación o posterior desarrollo de nuevas soluciones con una óptima relevancia práctica.
Críticas a la aplicación de doce factores
Como se mencionó anteriormente, el método de 12 factores fue diseñado como parte del trabajo de desarrollo para la plataforma Heroku (una PaaS / Platform as a Service). La crítica se centra en el hecho de que las aplicaciones solo se desarrollaron como parte de este proyecto y que, por lo tanto, el concepto es demasiado unilateral y no se puede utilizar en todas las plataformas.