¿Qué es Spring Cloud?
Es un marco para crear aplicaciones sólidas en la nube. El marco facilita el desarrollo de aplicaciones al proporcionar soluciones a muchos de los problemas comunes que se enfrentan al pasar a un entorno distribuido.
Las aplicaciones que se ejecutan con arquitectura de microservicios tienen como objetivo simplificar el desarrollo, la implementación y el mantenimiento. La naturaleza descompuesta de la aplicación permite a los desarrolladores concentrarse en un problema a la vez. Las mejoras se pueden introducir sin afectar otras partes de un sistema.
Por otro lado, surgen diferentes desafíos cuando adoptamos un enfoque de microservicio:
- Configuración de externalización para que sea flexible y no requiera la reconstrucción del servicio en el cambio.
- Descubrimiento de servicios
- Ocultar la complejidad de los servicios implementados en diferentes hosts
¿Cuáles son sus componentes?
Los componentes son los siguientes:
- Configuración. Este componente proporciona soporte del lado del cliente y del lado del servidor para la configuración externa en sistemas distribuidos.
- API Gateway. Permite enviar solicitudes de API para conectar servicios.
- Pruebas de CI y Pipeline.
- Service Discovery.
- Circuit Breakers.
- Routing and Messaging.
¿Se puede usar con Kubernetes?
Spring Cloud Kubernetes es una integración de servidor API de Kubernetes que permite el descubrimiento, la configuración y el balanceador de carga de servicios utilizados por Spring Cloud; proporciona implementaciones Spring Cloud de interfaces comunes que consumen Kubernetes.
¿Cuál es la diferencia entre SC y AWS?
SC es solo un conjunto de herramientas (software) comúnmente utilizado en la nube, AWS es una de las muchas opciones en la nube, un lugar donde puede implementar sus aplicaciones.