Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)

116 views

Published on

Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2) at SpringOne Tour Chicago

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Spring Boot & Spring Cloud on PAS- Nate Schutta (2/2)

  1. 1. Works with Spring Security and Steeltoe.io.
  2. 2. SSO service secures access to applications and APIs on PCF.
  3. 3. Native authentication, federated SSO, authorization.
  4. 4. Operators can use SAML to configure authentication.
  5. 5. OAuth 2 secures the resources.
  6. 6. Developers select the authentication method for application users.
  7. 7. Can be UAA or external identity providers.
  8. 8. CredHub.
  9. 9. Centralized credential management.
  10. 10. API for storing, generating, and retrieving credentials.
  11. 11. Supports credentials of different types.
  12. 12. Strings, passwords, certificates, keypairs, JSON objects.
  13. 13. Pluggable Hardware Security Modules.
  14. 14. Java Buildpack!
  15. 15. Immutable Infrastructure.
  16. 16. Build Containers from a single control point.
  17. 17. Improved JVM memory calculation, resulting in fewer app terminations.
  18. 18. Improved JVM Out of Memory Behavior.
  19. 19. Failures now include useful troubleshooting data.
  20. 20. Uses standard Java memory flags.
  21. 21. Robust JRE/JVM Framework options.
  22. 22. Buildpacks give enterprises a a point of governance.
  23. 23. More responsibility falls on the platform operators.
  24. 24. New Java version? No worries.
  25. 25. That heritage app needs a different version? No problem.
  26. 26. New app wants to push ahead? Great!
  27. 27. Need a custom setup for certain apps? Tweak away! https://docs.cloudfoundry.org/buildpacks/custom.html
  28. 28. Spring Cloud and Spring Cloud Services.
  29. 29. Microservices aren’t, in fact, a panacea.
  30. 30. Despite what some developers may have said.
  31. 31. Turns out, we need a few things to really make it work.
  32. 32. Need to maintain a healthy micro(services)biome.
  33. 33. You’ll need service discovery, circuit breaker, config servers…
  34. 34. Eureka, Hystrix and Spring Cloud Config anyone?
  35. 35. SCS for PCF packages server-side components. https://docs.pivotal.io/spring-cloud-services/1-5/common/index.html
  36. 36. Makes them available as services in the Marketplace.
  37. 37. Create instances on demand.
  38. 38. So you can just bind to them.
  39. 39. You don’t have to manage them.
  40. 40. Focus on building your microservices.
  41. 41. SCS is a BOSH release.
  42. 42. Fully Cloud Foundry managed.
  43. 43. Service Registry for Pivotal Cloud Foundry. https://docs.pivotal.io/spring-cloud-services/ 1-5/common/service-registry/index.html
  44. 44. Service Registry ConsumerProducer 1. register 3. connect Service RegistryService RegistryService Registry
  45. 45. Service Discovery pattern.
  46. 46. Where would you say your service is located now?
  47. 47. Good luck doing that by hand.
  48. 48. Dynamic discovery FTW.
  49. 49. Client registers providing metadata about itself.
  50. 50. Host and port.
  51. 51. Registry expects a regular heartbeat message.
  52. 52. Heartbeat fails? Service Registry removes that instance.
  53. 53. Based on Eureka. https://github.com/Netflix/eureka
  54. 54. Circuit Breaker Dashboard. https://docs.pivotal.io/spring-cloud-services/ 1-5/common/circuit-breaker/index.html
  55. 55. Closed on call / pass through call succeeds / reset count call fails / count failure threshold reached / trip breaker Half-Open on call / pass through call succeeds / reset call fails / trip breaker Open on call / fail on timeout / attempt reset trip breaker reset trip breaker
  56. 56. Our services do not live alone.
  57. 57. In fact by themselves they probably can’t do much.
  58. 58. We don’t want failures cascading up to the user now do we?
  59. 59. Services will fail.
  60. 60. Failures, uh, find a way.
  61. 61. Awfully useful to have some fallback behavior.
  62. 62. Circuit breaker watches the calls.
  63. 63. Once they exceed a failure threshold, the circuit is opened.
  64. 64. Redirects to the fallback mechanism.
  65. 65. Periodically checks to see if the service is repaired.
  66. 66. If so, circuit is closed.
  67. 67. Based on Hystrix. https://github.com/Netflix/Hystrix
  68. 68. Config Server for Pivotal Cloud Foundry https://docs.pivotal.io/spring-cloud-services/1-5/common/config-server/index.html
  69. 69. app C greeting: hi app B greeting: hi app A greeting: hi Config Server 2. Source config 1. Push config 1. Pull config Hashicorp Vault Git Source Repos greeting: hi 2. API keys, secrets Dev Desktop
  70. 70. We’re going to make updates.
  71. 71. Who likes downtime?
  72. 72. Just for a configuration change?
  73. 73. Externalized application configuration service.
  74. 74. Central place to manage an application’s external properties.
  75. 75. Manage the configuration between environments.
  76. 76. Supports labelled versions of environment-specific configurations.
  77. 77. Wide range of tooling for managing the content.
  78. 78. Default implementation of the server storage backend uses Git.
  79. 79. HashiCorp Vault is also supported.
  80. 80. Spring Boot Actuator adds refresh endpoints.
  81. 81. Refreshes any bean annotated with @RefreshScope.
  82. 82. Based on Spring Cloud Config Server. http://cloud.spring.io/spring-cloud-config/spring- cloud-config.html#_spring_cloud_config_server
  83. 83. That’s not all, act now…
  84. 84. Microservices encourage change.
  85. 85. Always Be Changing.
  86. 86. Spring, Spring Boot and Spring Cloud enable us to to that!
  87. 87. But we have to get that code to production.
  88. 88. Deployments cannot be a one off thing anymore.
  89. 89. Deploy early, deploy often!
  90. 90. https://mobile.twitter.com/ntschutta/status/938109379995353088
  91. 91. How do we move fast safely?
  92. 92. We need a well worn path to production.
  93. 93. Repeatable.
  94. 94. Deployment pipelines.
  95. 95. Pipelines are critical for velocity.
  96. 96. We all know we should have them.
  97. 97. But it can be a real pain to create them #amiright?
  98. 98. How many times have you built a pipeline from scratch?
  99. 99. Traditionally they’ve been bespoke, artisanal.
  100. 100. #
  101. 101. Wait. I’ve seen this movie before…
  102. 102. Much as there is a better way to infrastructure…
  103. 103. Spring Cloud Pipelines. https://cloud.spring.io/spring-cloud-pipelines/
  104. 104. Best practices from Pivotal’s experience.
  105. 105. Opinionated approach to pipelines.
  106. 106. Jumpstart your pipeline.
  107. 107. A template for your pipeline.
  108. 108. Set of editable bash scripts.
  109. 109. Concourse, Jenkins.
  110. 110. Can target PAS or PKS.
  111. 111. Monitoring.
  112. 112. Monitoring is critical.
  113. 113. Especially when you’re using microservices.
  114. 114. Of course when calls bounce between 20 services…
  115. 115. Where is the problem?
  116. 116. Who do you page?
  117. 117. Spring Cloud Sleuth. https://cloud.spring.io/spring-cloud-sleuth/single/spring-cloud-sleuth.html
  118. 118. Distributed tracing for Spring Cloud.
  119. 119. Just add the dependency.
  120. 120. Borrows heavily from Dapper, Zipkin and HTrace.
  121. 121. An abstraction over common distributed tracing data models.
  122. 122. Instruments common ingress & egress points for Spring apps.
  123. 123. Largely invisible to users.
  124. 124. Data can be captured in logs or sent to remote collectors.
  125. 125. PCF Metrics. https://pivotal.io/platform/services-marketplace/ monitoring-metrics-and-logging/pcf-metrics
  126. 126. Out of the box support for Spring Boot Actuator metrics.
  127. 127. Graphical displays of request traffic through an app.
  128. 128. Visually correlated logs.
  129. 129. Container metrics, network metrics, application events.
  130. 130. Logs. Trace explorer.
  131. 131. Spring Boot Actuator metrics.
  132. 132. Customizable.
  133. 133. Apps Manager.
  134. 134. Manage and observe your applications.
  135. 135. Web based tool.
  136. 136. Visual interface for the Cloud Foundry CLI.
  137. 137. Create and manage orgs.
  138. 138. Create, manage and delete spaces.
  139. 139. Scale apps. Bind services. Manage environment variables.
  140. 140. View logs. Start and stop apps. Delete apps.
  141. 141. Choose & edit service plans. Rename & delete service instances.
  142. 142. Invite new users. Mange roles. Delete users.
  143. 143. You can try all this today.
  144. 144. https://run.pivotal.io
  145. 145. Take the Fortune Teller app for a spin! https://github.com/Pivotal-Field-Engineering/fortune-teller-demo/
  146. 146. Want to know where things are heading?
  147. 147. Product Roadmap Call. roadmap-registration.cfapps.io
  148. 148. Good luck!
  149. 149. September 24–27, 2018
 Washington DC
 Gaylord, National Harbor Discount Code
 S1P200_NSchutta Register Today & Save!
  150. 150. Nathaniel T. Schutta @ntschutta ntschutta.io Thanks! I’m a Software Architect, Now What? with Nate Shutta Modeling for Software Architects with Nate Shutta Presentation Patterns with Neal Ford & Nate Schutta

×