are a good thing, just not easy ▪ It was easy for big companies to put forth the resources to succeed with Cloud Native, but what about the little guys? ▪ Why do we have to reinvent the wheel each time someone wants to build a Cloud Native app? ▪ Follow the Spring Boot model of providing useful defaults for Cloud Native apps with the ability to easily configure them ▪ Cloud Agnostic
of the application to centralized store across all environments ▪ Spring Cloud Config Server can use Git, SVN, filesystem and Vault to store config ▪ Config clients (microservice apps) retrieve the configuration from the server on startup ▪ Can be notified of changes and process changes in a refresh event
cloud native application depending on things like URLs can be problematic ▪ Service Discovery allows micro services to easily discover the routes to the services is needs to use ▪ Netflix Eureka ▪ Zookeeper ▪ Consul
be composed of many microservices so communication will be critical ▪ Spring Cloud supports communication via HTTP requests or via messaging ▪ Routing and Load Balancing: ▪ Netflix Ribbon and Feign ▪ Messaging: ▪ RabbitMQ or Kafka
your application may result in an exponentially large number of requests to various microservices ▪ Tracing these requests through the application is critical when debugging issues ▪ Spring Cloud Sleuth and Zipkin
the various services is critical to having a successful cloud native application ▪ Spring Cloud Pipelines is an opinionated pipeline for Jenkins or Concourse that will automatically create pipelines for your apps ▪ Spring Cloud Contract allows you to accurately mock dependencies between services using published contracts