¿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.