More Related Content Similar to The Beginner’s Guide To Spring Cloud (20) More from VMware Tanzu (20) The Beginner’s Guide To Spring Cloud2. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Nice To Meet You
• Rookie engineer on the Spring
Cloud team
• Father, Husband, OCR Athlete
• Get In Touch
• @ryanjbaxter
• http://ryanjbaxter.com
2
3. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Agenda
• Spring Cloud Background
• Key Projects
• Getting Down and Dirty With Spring Cloud
• Questions?
3
4. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Survey Time
4
5. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Anyone Know This Guy?
5
O
ur Ultim
ate
G
oal
6. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Why Spring Cloud?
• In general, cloud native apps are a good thing, just not easy
• It is 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 easy configure them
• Cloud Agnostic
6
7. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Cloud Components
7
Configuration
Service
Discovery
Routing and
Messaging
TracingAPI Gateway
Circuit
Breakers
CI Pipelines
and Testing
8. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Yes There Are More
• Spring Cloud Bus
• Spring Cloud Stream
• Spring Cloud Data and Task
• Spring Cloud AWS
….and more
8
9. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Configuration
• We want to remove the configuration out of
the application to a 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
9
10. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service Discovery
• With the dynamic nature of any cloud native application, depending on things like
URLs can be problematic
• Service Discovery allows micro services to easily discover the routes to the
services it needs to use
• Netflix Eureka
• Zookeeper
• Consul
10
11. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Routing and Messaging
• Your cloud native app will 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 Open Feign
• Messaging:
• RabbitMQ or Kafka
11
12. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
API Gateway
• API Gateways allow you to route API requests (internal or external) to the correct
service
• Netflix Zuul
• Leverages service discovery
and load balancer
• Spring Cloud Gateway
12
13. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Circuit Breakers
• Failure is inevitable, but your user’s don’t need to know
• Circuit breakers can help an application function in the face of failure
• Netflix Hystrix
13
14. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Tracing
• A single request to get data from your application may result in an exponentially
larger number of requests to various microservices
• Tracing these requests through the application is critical when debugging issues
• Spring Cloud Sleuth and Zipkin
14
15. Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
CI Pipelines and Testing
• Building, testing, and deploying 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
15
17. Learn More. Stay Connected.
Twitter: @ryanjbaxter
GitHub: ryanjbaxter
Homepage: http://ryanjbaxter.com
12/5
Spring Cloud Gateway - 4:20-5:30
12/6
Continuous Deployment to the Cloud - 2:30 - 3:10
12/7
Consumer Driven Contracts and Your Microservice Architecture 10:30-11:40
17
#springone@s1p