Platform¶
Platform es un chasis para la creación de microservicios en NetCore.
Objetivo¶
El objetivo es poder crear servicios muy rápidamente, enfocándonos en el objetivo del servicio (negocio) y no en los requerimientos transversales. Dedicarle un tiempo prudencial a los requerimientos transversales esta bien cuando tenemos un proyecto que dura meses o años, pero en una arquitectura orientada a microservicios, en donde se crean nuevas aplicaciones todo el tiempo, invertir tanto tiempo en estos requerimientos no es viable.
De que cosas se ocupa Platform?¶
- IoC (Inyección de dependencias)
- Logging (Serilog)
- Windows Service (Permite instalar la aplicación desarrollada como un servicio de Windows)
- API's (Carter)
- HealthChecks
- ORM ( Posee un micro-orm basado en Dapper )
- Misc (Time, Backoff, Throughput)
- EventBus (IbmMQ)
- Metricas (Prometheus)
Tipos de aplicaciones¶
Existen 2 tipos de aplicaciones que se pueden crear con Platform. 1. Aplicación de Consola sin soporte Http. Platform Console (Ideal para tareas tipo Cron o cualquier tipo de aplicacion que no requiera soporte Http) 2. Aplicación de Consola con soporte Http. Platform API (Ideal para la construcción de API Restful)
Los 2 tipos de aplicaciones cuentan con la mayoría de los componentes antes descritos, con algunas particularidades.
- Los HealthChecks se exponen mediante un Endpoint Restful, por lo que para usarlos debemos construir un servicio con soport Http (Platform API).