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 Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu

220 views

Published on

Spring Cloud Services with Pivotal Cloud Foundry by Gokhan Goksu at SpringOne Tour 2019

Published in: Software
  • Be the first to comment

Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu

  1. 1. © Copyright 2018 Pivotal Software, Inc. All rights Reserved. Spring Cloud Services on Pivotal Cloud Foundry Gokhan Goksu Platform Architect, Pivotal ggoksu@pivotal.io linkedin.com/in/gkhngks
  2. 2. Cover w/ Image Agenda ■ Pivotal Cloud Foundry (PCF) ■ Spring Support in PCF ■ Services Ecosystem for Spring Apps ■ SCS Demo
  3. 3. How much time do developers spend developing? Source: Forrester Business Technographics Global Developer Survey, 2016 Base: 719 Developers who work for a software company, as a game developer, for internal IT, or in technology services Writing new / changing existing code email miscellaneous tasks deploying code configuring infrastructure
  4. 4. Hardware IaaS Container Orchestrator Application Platform Landing your workload on the right target is key to balancing automation vs. desired flexibility required Higher flexibility and less enforcement of standards Lower development complexity and higher operational efficiency Function Platform
  5. 5. 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 Any App Every Cloud One Platform PCF — for everything that matters Concourse
  6. 6. Cloud Foundry BOSH An open source tool chain for release engineering, deployment, and lifecycle management of large scale distributed services. • Packaging w/ embedded OS • Server provisioning on any IaaS • Software deployment across clusters • Health monitoring (server AND processes) • Service state monitoring • Self-healing w/ Resurrector • Storage management • Rolling upgrades via canaries
  7. 7. Increase speed and deploy code to production thousands of times per month. Use PAS to run Java, .NET, and Node apps. Pivotal Application Service (PAS): A Runtime for Apps Best runtime for Spring and Spring Boot — Spring’s microservice patterns—and Spring Boot’s executable jars—are ready-made for PAS. Turnkey microservices operations and security — Spring Cloud Services brings microservices best practices to PAS. It includes Config Server, Service Registry, and Circuit Breaker Dashboard. A native Windows and .NET experience — Use PAS to run new apps built with .NET Core. Run your legacy .NET Framework apps on PAS too, using the .NET Hosted Web Core buildpack. Push applications to containers running on Windows Server 2016. Built for apps — PAS has everything to need to run apps. Buildpacks manage runtime dependencies; metrics, logging, and scaling are done for you. Multitenancy, and blue/green deployment patterns are built-in. Extend apps with a rich service catalog. Container-ready — PAS supports the OCI format for Docker images. Run platform-built and developer-built containers.
  8. 8. > kubectl Storage NetworkingCompute Kubernetes Dashboard Dev / Apps IT / Ops App User Kubernetes is a Runtime for Containerized Workloads
  9. 9. Storage NetworkingCompute Dev / Apps App User IT / Ops > kubectl Kubernetes Dashboard Load Balancing / Routing Container Image Registry App Monitoring App Logging OS Updates OS Images K8S Updates K8S Images Log & Monitor Recover & Restart Backup & Restore External Data Services Cluster Provisioning Provision & Scale Command Line / API Management GUI Monitoring GUI ...but Kubernetes alone is not enough for enterprises
  10. 10. Storage NetworkingCompute Pivotal Container Service (PKS) provides what’s missing Dev / Apps App User IT / Ops > kubectl Kubernetes Dashboard Load Balancing / Routing OS Updates OS Images K8S Updates K8S Images Log & Monitor Recover & Restart Backup & Restore External Data Services Cluster Provisioning Provision & Scale PKS Control Plane > pks Operations Manager vRealize Operations* Container Image Registry vRealize LogInsight
  11. 11. Concourse for PCF: Continuous Integration & Delivery Deliver high quality software faster & continuously, from idea to production GitHub
  12. 12. Platform Automation for PCF Platform Automation for PCF provides the building blocks for teams to create a repeatable and reusable automated pipeline for upgrading and installing their PCF foundations. The goal of Platform Automation for PCF is to enable platform engineers to make it easy to automate upgrades. We’ve seen that customers who invest in automating patch upgrades are both successful in having a secure platform and staying up to date on new features. Platform Automation makes it easier for more customers to adopt this practice. It: ● Works with Concourse and leverages Concourse tasks ● Contains and extends om commands (the Ops Manager API) ● Provides an example pipeline to show how to string together tasks http://docs.pivotal.io/platform-automation
  13. 13. © Copyright 2018 Pivotal Software, Inc. All rights Reserved. Spring Support in PCF
  14. 14. Spring Cloud & Spring Cloud Services (SCS) Developing on the Desktop vs. Deploying in Production DEV PROD Security: OAUTH2, TLS, PAS UAA integration, RBAC Ops: BOSH release for Config Server, Service Registry, Circuit Breaker
  15. 15. Spring Cloud Connector for Cloud Foundry Bring Cloud Foundry service connection data directly into your Spring Beans Auto-enabled if VCAP_APPLICATION is detected Check for VCAP_SERVICES and parse common data for supported services *
  16. 16. Java Buildpack Immutable Infrastructure for JVM frameworks Build Containers from a single control point Robust JRE / JVM Framework options Self executable JAR / Java main() Advanced JVM memory calculator JVM heap dump histograms Spring Boot CLI apps Robust 3rd party framework & product support
  17. 17. After you cf push, PAS: Uploads your code Detects and installs required runtime & middleware (“Buildpacks”) Sets up a route (or URL) Creates a load balancing entry Creates SSL termination Creates health monitoring & logging subsystems Starts your app in a healthy state, with the desired number of instances Binds specified backing services cf push Automates Developer + Operator workflows
  18. 18. Spring Deployment Profiles Transition between environments without recompiling / rewriting Automatic enablement of “cloud” @Profile on deploy Any @Configuration class in this profile will be automatically applied No recompile required to adapt to deployment envs https://spring.io/blog/2015/01/13/configuring-it-all-out-or-12-factor-app-style-configuration-with-spring
  19. 19. CredHub Mitigates the Risk of Leaked Credentials CredHub delivers centralized management of platform and application creds. ● Credentials are the bedrock for trust in the cloud. ● CredHub’s goal: deliver cradle-to-grave management of credentials (create, access control, distribution, rotation, logging) ● Manages passwords, certificates, ssh keys, RSA keys, and arbitrary values (strings and JSON blobs). ● All credentials are encrypted w/a key that rotates (HSM support in OSS & PCF) ● CredHub Service Broker for off-platform services
  20. 20. Cloud Foundry UAA OAuth 2 Server for centralized ID management Implemented as a standard Spring MVC Webapp Deploy Local Tomcat for testing, Cloud Foundry for production Support for open Auth / AuthZ standards: ● Oauth ● OpenID Connect ● SAML ● LDAP ● SCIM
  21. 21. SCS: Config Server for PCF Zero downtime app updates – dynamically update application configuration
  22. 22. SCS: Service Registry for PCF NetflixOSS Eureka Intelligent Routing Foundation
  23. 23. SCS: Circuit Breaker for PCF Fault Tolerance Library for Distributed Systems
  24. 24. SCS: CF CLI Plugin Spring Cloud Services integration for the CF Command Line Interface Provides SCS Dev Tools directly from CF CLI ● List apps in eureka instance ● Enable/disable Eureka registration ● Deregister service in Eureka ● Encrypt config server values
  25. 25. © Copyright 2018 Pivotal Software, Inc. All rights Reserved. Services Ecosystem for your Spring Apps
  26. 26. Pivotal Cloud Cache ● High performance, in- memory, data at scale for microservices Look-aside caches & HTTP session state caching ● WAN replication ● NEW: OAuth2 integration MySQL for PCF RabbitMQ for PCF ● Enterprise-ready MySQL for your developers ● Automate database operations in developer workflows ● Leader-follower for DR ● NEW: HA via Galera clustering, Multi-DC replication ● Easily connect distributed applications with the most widely deployed open source message broker ● Enable connected scalable, distributed applications ● NEW: PCF Healthwatch integration ● In-Memory cache and datastore, configured for the enterprise ● Efficient provisioning matched to use cases ● NEW: Random service instance placement across AZs. Redis for PCF Extend Apps with Brokered Services from Pivotal BOSH Managed | On-Demand Provisioning | Dedicated Instances | Custom Service Plans
  27. 27. ISV Ecosystem Momentum Drives Platform Advantage ETL DATABASE IaaS CACHE / LB COMMERCE SEARCH IAM SECURITY TEST ANALYTICS BATCH APM MOBILE CI / CD NETWORKING ITIL BPM IDE/CODE API / SOA / uS / IOT MESSAGING SIEM / LOG / AUDIT CRM Microsoft Azure Microsoft Azure Google Cloud Platform Google Cloud Platform
  28. 28. Cover w/ Image Spring Cloud Services Demo on PCF
  29. 29. © Copyright 2018 Pivotal Software, Inc. All rights Reserved. Next Steps
  30. 30. Cover w/ Image Next Steps ■ Contact our team with questions ■ Try hosted PCF now at run.pivotal.io ■ On-prem software published to network.pivotal.io ■ Explore PCF Marketplace pivotal.io/platform/services-marketplace #SpringOneTour
  31. 31. Transforming How The World Builds Software © Copyright 2017 Pivotal Software, Inc. All rights Reserved.

×