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 (1/2)

135 views

Published on

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

Published in: Technology
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yxufevpm } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yxufevpm } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. ♥ @ntschutta ntschutta.io Nathaniel Schutta
  2. 2. Ah Spring!
  3. 3. Anyone remember the days before Spring?
  4. 4. It was a dark time…
  5. 5. Some of us called it Winter…
  6. 6. It is practically cheating!
  7. 7. But now we have “the cloud”!
  8. 8. What does this mean for our Spring apps?
  9. 9. Where should we run them?
  10. 10. Why PAS?
  11. 11. The Value Line.
  12. 12. What would you say, you do around here?
  13. 13. Where do you spend most of your time?
  14. 14. Coding?
  15. 15. Wrangling servers?
  16. 16. Meetings?!?
  17. 17. Forrester Business Technographics Global Developer Survey, 2016 13% 18% 34% 33% 25% 24% 42% 31% 23% 26% 30% 26% 15% 17% 19% 18% 7% 7% 9% 6% 10% 5% 3% 4% 4% None <15 Min 15-59 Min 1-2 Hr 3-4 Hr 4+ Hr Writing new / changing existing code email miscellaneous tasks deploying code configuring infrastructure
  18. 18. 58% of developers spend an hour or more a day coding.
  19. 19. Only 28% spend 3 or more hours a day writing code.
  20. 20. How much time do you spend on email?
  21. 21. 38% spend at least an hour a day on e-mail!
  22. 22. "
  23. 23. ( °□°)
  24. 24. How much time do you spend on Slack?
  25. 25. 30% spend and hour a day deploying code!
  26. 26. #
  27. 27. 29% spend and hour a day configuring infrastructure!
  28. 28. Where would you say the value line is in your organization?
  29. 29. Where do your customers want you to spend your time?
  30. 30. Where do you want to be spending your time?
  31. 31. It isn’t just developers.
  32. 32. Operators want to operate!
  33. 33. Forrester Business Technographics Global Developer Survey, 2016 13% 14% 16% 21% 21% 24% 30% 30% 29% 32% 30% 27% 32% 28% 22% 18% 14% 10% 12% 8% 10% 7% 4% 5% 3% None <15 Min 15-59 Min 1-2 Hr 3-4 Hr 4+ Hr Writing new / changing existing code Building or integrating code Debugging / production support Designing new functionality Unit testing
  34. 34. 46% spend an hour plus debugging or on production support issues.
  35. 35. Why is that?
  36. 36. Again, where does your org want you investing your time?
  37. 37. Today we have a number of options at our disposal.
  38. 38. Containers. Platforms. Serverless.
  39. 39. IaaS Containers Container Container Scheduling Primitives for Networking, Routing, Logs and Metrics Platform Application Container Images L7 Network Logs, Metrics, Monitoring Services Marketplace Team, Quotas & Usage Container Serverless Function Function Execution Function Scaling Event Stream Bindings Container Developer Provided Tool Provided
  40. 40. Different levels of abstraction.
  41. 41. Hardware IaaS Containers Platforms Serverless More Flexibility Fewer Standards Lower Complexity Operational Efficiency Push as many workloads up the stack as feasible.
  42. 42. What do you want to be responsible for going forward?
  43. 43. When the platform does more, you spend more time delivering code.
  44. 44. The further up the stack you go, the less time you spend on plumbing.
  45. 45. Ultimately, you have to do what is right for your needs.
  46. 46. Orchestration is fantastic if you need to run on a specific port.
  47. 47. Many 3rd party apps are delivered as Docker images.
  48. 48. But that doesn’t mean it is the right spot for every workload.
  49. 49. — Adam Wright The prevailing mythology is you should "containerize" everything and give it to a container orchestrator to run, but why? They had one problem, "Run an app". Now they have two, "Run a container that runs an app" and "maintain a container". https://news.ycombinator.com/item?id=16332184
  50. 50. https://mobile.twitter.com/samnewman/status/952610105169793025
  51. 51. https://mobile.twitter.com/starbuxman/status/959366771462496256
  52. 52. Just want to push an app? Application Platform FTW.
  53. 53. Consistency from laptop to production.
  54. 54. Just have a snippet of code to execute when an event happens?
  55. 55. Functions are your friend.
  56. 56. Even less for you to manage.
  57. 57. The challenge is picking the right tool for the job.
  58. 58. With great flexibility comes great responsibility.
  59. 59. Development complexity.
  60. 60. Do you want developers thinking about OS patches?
  61. 61. Or just pushing apps?
  62. 62. https://mobile.twitter.com/onsijoe/status/598235841635360768?lang=en
  63. 63. Operational efficiency.
  64. 64. How many operators does it take to manage a bespoke environment?
  65. 65. Flexibility vs. standardization.
  66. 66. Guardrails aren’t shackles.
  67. 67. They are designed to protect you.
  68. 68. How do you want to allocate your resources?
  69. 69. Do you know what OS your application is running on?
  70. 70. Do you care?
  71. 71. What *should* you care about?
  72. 72. Where is the “value line” for you?
  73. 73. We want to get out of the business of “undifferentiated heavy lifting”.
  74. 74. Focus on business problems, not plumbing problems.
  75. 75. Choose the option that fits the problem.
  76. 76. Push as many workloads as you can up the abstraction hierarchy.
  77. 77. vSphere Openstack AWS Google Cloud Azure & Azure Stack Shared Services Shared Security Shared Networking Logging & Metrics / Services Brokers / API Management Credhub / UAA / Single Sign On VMWare NSX Embedded Operating System (Windows / Linux) Application Code & Frameworks Buildpacks / Spring Boot / Spring Cloud / Steeltoe PAS Pivotal Application Service PKS Pivotal Container Service PFS Pivotal Function Service Pivotal Services Marketplace Pivotal and Partner Products Concourse
  78. 78. Any App, Every Cloud, One Platform.
  79. 79. PAS - runtime for apps.
  80. 80. Java, .NET, Node, etc.
  81. 81. PKS - runtime for containers.
  82. 82. Kubernetes.
  83. 83. PFS - runtime for functions.
  84. 84. https://projectriff.io
  85. 85. Marketplace - all the other things your app needs to thrive.
  86. 86. Run it on prem or public cloud.
  87. 87. Provider agnostic.
  88. 88. Hybrid cloud.
  89. 89. Multi cloud aka Polycloud. https://www.thoughtworks.com/radar/techniques/polycloud
  90. 90. Spring Boot ready made for PAS.
  91. 91. Think about all the things a cloud native app needs…
  92. 92. Service registry. Circuit breaker. Config server. UAA.
  93. 93. Spring Cloud Services!
  94. 94. Don’t forget monitoring! Turns out that’s pretty darn important.
  95. 95. PCF Metrics and Loggregator.
  96. 96. Of course you should also leverage Spring Boot Actuator. https://docs.spring.io/spring-boot/docs/current/ reference/html/production-ready-metrics.html
  97. 97. Not to mention what the Marketplace offers!
  98. 98. Common theme running through Spring and PCF…
  99. 99. Eliminate repetitive tasks.
  100. 100. Who here likes boilerplate code?
  101. 101. Java has…a fair amount of it.
  102. 102. $
  103. 103. Remember when Ruby and Rails showed up?
  104. 104. Simplified a lot of things.
  105. 105. Java has improved!
  106. 106. Lombok anyone? https://projectlombok.org
  107. 107. Spring Boot is opinionated.
  108. 108. Minimize the fuss.
  109. 109. Spring + PAS frees you to focus on delivering. Not plumbing.
  110. 110. Spring Framework Spring Security Spring Data Reactor Spring Batch Spring Integration Spring Boot Spring Cloud Spring Cloud Pipeilnes
  111. 111. PAS is at it’s best with stateless workloads: web apps, REST APIs etc.
  112. 112. Databases, search engines, etc. better fit for PKS.
  113. 113. Why is PAS such a good fit for Spring apps?
  114. 114. Twelve Factor App. https://12factor.net
  115. 115. Characteristics shared by successful apps.
  116. 116. 1. One codebase in version control, multiple deploys. 2. Explicitly define your dependencies. 3. Configuration must be separate from the code. 4. Backing services are just attached resources. 5. Build, release, run.
  117. 117. 6. Stateless - share nothing. 7. Export services via port binding. 8. Scale via process. 9. Start up fast, shut down gracefully. 10.Dev/Prod parity. 11.Logs as event streams. 12.Admin tasks run as one off processes.
  118. 118. Fair amount of repetition in a typical microservice.
  119. 119. Spring Boot simplifies 12 Factor app development.
  120. 120. Dependency management.
  121. 121. Boot starters, first class Maven and Gradle support.
  122. 122. Property configuration.
  123. 123. Autconfig removes boilerplate application configuration.
  124. 124. Backing services.
  125. 125. Build, release, run.
  126. 126. Environment and @Profile: adapt from dev, stage to prod.
  127. 127. Makes app config available in certain environments.
  128. 128. Port Binding.
  129. 129. Logging.
  130. 130. Actuators: metrics/monitoring, integrates into PCF console.
  131. 131. Deployment.
  132. 132. Spring Deployment Profiles.
  133. 133. Transition between environments without recompiling/rewriting.
  134. 134. Cloud Foundry automatically activates the cloud profile.
  135. 135. Profiles let you describe sets of beans differently from env to env. https://docs.spring.io/spring-boot/docs/current/ reference/html/boot-features-profiles.html
  136. 136. H2 in dev, PostgresSQL in prod.
  137. 137. Decision based on the active profile or profiles.
  138. 138. Spring Cloud Connector for 
 Cloud Foundry.
  139. 139. Bring CF service connection data directly into your Spring Beans. http://cloud.spring.io/spring-cloud-connectors/ spring-cloud-cloud-foundry-connector.html
  140. 140. Discover bound services & deployment information at runtime.
  141. 141. Support for registering discovered services as Spring beans.
  142. 142. New Relic, Cassandra, DB2, MongoDB, MySQL, Oracle…
  143. 143. PostgreSQL, RabbitMQ, Redis, SMTP, SQL Server, etc.
  144. 144. Cloud Foundry UAA.
  145. 145. OAuth 2 Server for centralized ID management.
  146. 146. Supports Oauth, OpenID Connect, SAML, LDAP, SCIM.
  147. 147. Single Sign On.
  148. 148. API security with OAuth.
  149. 149. User and group management.
  150. 150. JWT support.
  151. 151. Token revocation.
  152. 152. Database flexibility.
  153. 153. Auditing, logging, monitoring.
  154. 154. Spring Security and CF SSO.
  155. 155. Integrates to any ID Federation via SAML/OpenID.
  156. 156. Converts complex SAML interactions into basic OAuth tokens.

×