El Open Application Model (OAM) es un intento para crear algunos estándares alrededor del modelamiento de plataformas de infraestructura como productos. Usando abstracciones para los componentes, las configuraciones de aplicaciones, sus ámbitos (scopes) y atributos (traits), los equipos de desarrollo pueden describir sus aplicaciones de forma agnóstica a la plataforma; mientras que el equipo que la implemente, lo puede hacer en términos de carga de trabajo, atributos y ámbitos. Desde la última vez que hablamos sobre OAM, hemos seguido con interés una de sus primeras implementaciones: KubeVela. KubeVela está cerca de publicar su versión 1.0 y tenemos curiosidad de ver si este tipo de implementaciones pueden sustentar la promesa de la idea de OAM.
Hemos hablado mucho sobre los beneficios de crear equipos de producto de ingeniería de plataformas para dar soporte a los demás equipos de producto, pero en realidad es difícil hacerlo. Parece que la industria aún está buscando la abstracción correcta en el mundo de la infraestructura como código. Aunque herramientas como Terraform y Helm son pasos en la dirección correcta, el enfoque sigue estando en la gestión de la infraestructura en lugar del desarrollo de aplicaciones. También hay cambios hacia el concepto de infraestructura como software con la aparición de nuevas herramientas como Pulumi y CDK. El Modelo Abierto de Aplicaciones (OAM) es un intento de traer alguna estandarización a este espacio. Utilizando las abstracciones de componentes, configuraciones de aplicaciones, ámbitos o contextos (scopes) y aspectos o atributos (traits), las personas desarrolladoras pueden describir sus aplicaciones independientemente de la plataforma, mientras que las personas implementadoras de plataforma definen su plataforma en términos de cargas de trabajo, aspectos o atributos (traits) y ámbitos o contextos (scopes). Queda por ver si el OAM será ampliamente adoptado, pero recomendamos estar atento a esta idea interesante y necesaria.