SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
1© 2015 Pivotal Software, Inc. All rights reserved. 1© 2015 Pivotal Software, Inc. All rights reserved.
Spring Boot and Spring Cloud
Dev101 - Workshop
Sufyaan Kazi (@sufyaan_kazi) & Sara Mitchell
Manager, Field Engineering UK & I
2© 2015 Pivotal Software, Inc. All rights reserved.
Powering Digital Transformation
Pivotal enables enterprises to provide
modern software-driven experiences for
their customers and workforces.
3© 2015 Pivotal Software, Inc. All rights reserved.
Modern Approach for Digital Business
AGILE PRODUCT DEVELOPMENT
Agile practices and collaboration for
product and culture transformation
•  World class application
development services
•  Proven transformational
methodology
BIG DATA
Modern, open, highly
parallelized platform
•  Hadoop, in-memory, and
database software
•  Industries most complete big
data analytics offering
CLOUD NATIVE PLATFORM
Modern, open, highly
automated cloud platform
•  Platform-as-a-Service (PaaS)
software with multi-cloud support
•  Record-breaking sales growth
and adoption
4© 2015 Pivotal Software, Inc. All rights reserved.
How We Deliver Transformation
Build product with us in
our office
Undergo leadership
training
Take back what you’ve
learned
5© 2015 Pivotal Software, Inc. All rights reserved.5
Cloud Native
DevOps Continuous
Delivery
ContainersMicro services
6© 2015 Pivotal Software, Inc. All rights reserved.
Microservices are key for CLOUD NATIVE JAVA
Application Framework
Infrastructure Automation
Platform Runtime
Language framework for microservice-based architectures including
components for service discovery, metrics and circuit breakers.
Application container runtime with attachable backing services,
automated CI/CD, routing, health management and logging.
A single deployment API for provisioning for bit-for-bit, consistent, self-
healing deployments across any private or public cloud.
Dev
Dev Ops
Ops
Spring
Cloud
Spring
Boot
BOSH
Contract: 12 Factor Application
Contract: BOSH Release
7© 2015 Pivotal Software, Inc. All rights reserved.
7
Spring
Boot
Dynamic language productivity
with maturity of enterprise Java
Cloud Native: Direct support for
Microservices, NetflixOSS++
Fully automated app server
configuration and deployment
Production ready Ops metrics
out of the box, with a switch
8© 2015 Pivotal Software, Inc. All rights reserved.
Spring Boot Capabilities
8
•  Quick start project generation
•  Automatic project dependency mapping
•  Configuration drift prevention
•  Conditional configuration with profiles
•  Developer productivity tooling
•  Auto configuration
•  Monitoring and management endpoints
•  Micro-services friendly
9© 2015 Pivotal Software, Inc. All rights reserved.
10© 2015 Pivotal Software, Inc. All rights reserved.
10
Spring
Cloud
Spring
BootDev
Spring Boot
From 0 to app in < 5 min
Enterprise Java with dynamic
language productivity
Spring Cloud
Designed for fragile infrastructure in
partnership with Netflix
Java Microservice Framework
100% Spring Boot enabled
Application Framework
11© 2015 Pivotal Software, Inc. All rights reserved.
DEMO!
12© 2015 Pivotal Software, Inc. All rights reserved.
Enhanced Application with Spring Boot
package hello;
import java.util.Arrays;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(HelloSpringBootApplication.class, args);
}
}
MAGIC!!
•  Tags the class as a
source for Spring
Beans
•  Asks Boot to
automatically add
beans based on
classpath
•  Tell Spring to look for
other components,
configs etc. in the
same package
13© 2015 Pivotal Software, Inc. All rights reserved.
Simple Spring MVC with Annotations
package hello;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
Ready for SpringMVC
to handle Web requests
Maps ‘/’ to this method
14© 2015 Pivotal Software, Inc. All rights reserved.
TO THE
LABS!!
15© 2015 Pivotal Software, Inc. All rights reserved.
http://bit.ly/
1SryunD
16© 2015 Pivotal Software, Inc. All rights reserved.
SKIP STRAIGHT
TO LAB 3
17© 2015 Pivotal Software, Inc. All rights reserved.
Spring Boot Actuator
Actuator, production ready features exposed as endpoints. There are many built-in endpoints but this can be extended.
18© Copyright 2013 Pivotal. All rights reserved.
Elastic Runtime High Level Architecture
•  Turnkey, fully automated Platform-
as-a-Service
•  Scalable runtime environment,
extensible to most modern
frameworks and languages running
on Linux
•  Instant expansion or upgrade with
no downtime
•  Deploy, scale and manage
applications with bindable services
using simplified semantics and APIs
Pivotal CF Elastic Runtime
Dynamic	Router	
OAuth	2.0	Server	(UAA)	
CELL	
Garden	
Build	Packs	
Login	Server	
CC	&	CC	Bridge	
Blob	Store	
BBS/etcd	
Sys	Log		
Service	Brokers	
Collector	 App	Log		
ROUTING	
AUTHENTICATION	
APP	LIFECYCLE	
APP	STORAGE	
&	EXECUTION	
MESSAGING	
METRICS	&	LOGGING	
Pivotal CF OpsManager/BOSH
BBS	 Converger	
VMware OpenStack AWS Azure Google
19© Copyright 2013 Pivotal. All rights reserved.
Container Scheduling
Application Framework
ServicesPlatform Runtime
Routing DatabaseConfigurationService Discovery
Big Data
Object Storage
Mobile
Build CI
User ProvidedLogging & Metrics Messaging
Circuit Breakers12 Factor Apps
RESTful
Services
Microservices
.NETSpring Boot Node.jsRuby on Rails
Operations
Zero Downtime
Deployments
Failover &
Recovery
Scaling
Security
Patching
Platform
Upgrades
Infrastructure OpenStack AmazonVMware Azure
20© 2015 Pivotal Software, Inc. All rights reserved.
1.  Upload app
bits and
metadata
push app
Router	
2.  Create and bind services
3.  Stage application
4.  Deploy application
5.  Manage application health
Blobstore DB
Service Broker
Node(s)
Cloud Controller
DEA
DEA
DEA
CELL
+ app MD
Service
credentials
Cloud Controller
Bridge
Auctioneer
BBS
Overview: Deploying App to
Cloud Foundry Runtime
+ =
21© 2015 Pivotal Software, Inc. All rights reserved.
Stage an ApplicationRouter	
Cloud	Foundry	
ElasQc	RunQme	
Blobstore DB
CELL
Detect Compile Upload
NoYes
System
Buildpacks
Cloud Controller
Service
credentialscreds
Cloud Controller
Bridge
Task
+ =
22© 2015 Pivotal Software, Inc. All rights reserved.
											Router	
Cloud Controller
Cloud Controller
Bridge
Auctioneer BBS
CELL Rep
Executor
CELL Rep
Executor
CELL Rep
Executor
ACCESS
APP
Deploying an Application
23© 2015 Pivotal Software, Inc. All rights reserved.
Containers Pre-date the Docker Hype
Google started
Linux container
effort “Control
Groups”
Added to the
Linux Kernel in
2007
Cloud Foundry
uses Linux
container
technology -
“Warden
containers”
early 2012
Docker is like
github for
container
images
Docker joins
Cloud Foundry
Foundation
Google, MSFT,
IBM working on
orchestration of
multiple Docker
containers
2006 2014
Cloud Foundry has been using container
technology pre-Docker
2012
24© 2015 Pivotal Software, Inc. All rights reserved.
BUILD PACKS
25© 2015 Pivotal Software, Inc. All rights reserved.
Platform provides standard
Buildpack for runtime*
Platform provides fixed OS
container image
Developer brings app
Developer brings runtime
Docker image
Developer brings Docker
OS image
Developer brings app
Buildpacks Docker
* Devs may also provide their own buildpacks
Platform provides fixed
host OS Kernel
Platform provides fixed
host OS Kernel
Application
Container
Standardization or Customization is Your Choice
AND
26© 2015 Pivotal Software, Inc. All rights reserved.
What does it mean to have a “Platform” ?
The minimum features needed…
PaaS
Routing
Load
Balancing
Service
Brokers
Infrastructure
automation
Log
aggregation
Health
monitoring &
recovery
Immutable
artifact
repository
27© 2015 Pivotal Software, Inc. All rights reserved.
AND
RELAX …
28© 2015 Pivotal Software, Inc. All rights reserved.
GIVE ME
MORE…
Local	Profile	
@RepositoryRestResource	 @EnQty	
City	Microservice	-	@SpringBootApplicaQon	
Cloud	Profile	
Spring	Boot	&	Cloud	Magic!	
In-Memory	DB	
Spring	Boot	Magic!
31© 2015 Pivotal Software, Inc. All rights reserved.
NETFLIX
…
32© 2015 Pivotal Software, Inc. All rights reserved.
Spring Cloud Services for Pivotal Cloud Foundry
•  Install
•  Config
•  Manage
•  Secure
Spring Cloud Services
Config
Server
Service
Registry
Circuit Breaker
Dashboard
33© 2015 Pivotal Software, Inc. All rights reserved.
Config Server
34© 2015 Pivotal Software, Inc. All rights reserved.
Service Registration/Discovery
@SpringBootApplication
@EnableCircuitBreaker
@EnableDiscoveryClient
public class CustomerApp extends RepositoryRestMvcConfiguration {
@Override
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration
config) {
config.exposeIdsFor(Customer.class);
}
public static void main(String[] args) {
SpringApplication.run(CustomerApp.class, args);
}
}
35© 2015 Pivotal Software, Inc. All rights reserved.
Service Registration/Discovery
36© 2015 Pivotal Software, Inc. All rights reserved.
Service Registration/Discovery
@SpringBootApplication
@EnableCircuitBreaker
@EnableDiscoveryClient
public class CustomerApp extends RepositoryRestMvcConfiguration {
@Override
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration
config) {
config.exposeIdsFor(Customer.class);
}
public static void main(String[] args) {
SpringApplication.run(CustomerApp.class, args);
}
}
37© 2015 Pivotal Software, Inc. All rights reserved.
Fault Tolerance – Circuit Breakers
38© 2015 Pivotal Software, Inc. All rights reserved.
Fault Tolerance – Circuit Breakers
@SpringBootApplication
@EnableCircuitBreaker
@EnableDiscoveryClient
public class CustomerApp extends RepositoryRestMvcConfiguration {
@Override
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration
config) {
config.exposeIdsFor(Customer.class);
}
public static void main(String[] args) {
SpringApplication.run(CustomerApp.class, args);
}
}
39© 2015 Pivotal Software, Inc. All rights reserved.
@HystrixCommand(fallbackMethod = "defaultLink")
public Link getStoresByLocationLink(Map<String, Object> parameters) {
URI storesUri = URI.create(uri);
try {
ServiceInstance instance = loadBalancer.choose("stores");
storesUri = URI.create(String.format("http://%s:%s",
instance.getHost(), instance.getPort()));
}
catch (RuntimeException e) {
// Eureka not available
}
Traverson traverson = new Traverson(storesUri, MediaTypes.HAL_JSON);
Link link = traverson.follow("stores", "search", "by-location")
.withTemplateParameters(parameters).asLink();
return link;
}
Enabling a Circuit Breaker
Client-Side Load Balancing
40© 2015 Pivotal Software, Inc. All rights reserved.
Anatomy of a cloud native framework
Application coordination boilerplate patterns
Application configuration boilerplate patterns
Enterprise application boilerplate patterns
Runtime Platform, Infrastructure Automation boilerplate patterns
(provision, deploy, secure, log, data services, etc.)
CloudDesktop
Spring Boot
Spring IO
Pivotal Cloud Foundry
Spring Cloud
+ BOSH
Pivotal   spring boot-cloud workshop

Más contenido relacionado

La actualidad más candente

Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)
Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)
Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)
VMware Tanzu
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
VMware Tanzu
 

La actualidad más candente (20)

Declarative Infrastructure with Cloud Foundry BOSH
Declarative Infrastructure with Cloud Foundry BOSHDeclarative Infrastructure with Cloud Foundry BOSH
Declarative Infrastructure with Cloud Foundry BOSH
 
Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)
Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)
Part 1: The Developer Experience (Pivotal Cloud Platform Roadshow)
 
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2UCloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
 
Pivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookPivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First Look
 
Architecture & Operations
Architecture & OperationsArchitecture & Operations
Architecture & Operations
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
 
Building REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Boot and Spring CloudBuilding REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Boot and Spring Cloud
 
Spring Boot Whirlwind Tour
Spring Boot Whirlwind TourSpring Boot Whirlwind Tour
Spring Boot Whirlwind Tour
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
 
Building a University Community PaaS Using Cloud Foundry (Cloud Foundry Summ...
Building a University Community PaaS Using Cloud Foundry (Cloud Foundry Summ...Building a University Community PaaS Using Cloud Foundry (Cloud Foundry Summ...
Building a University Community PaaS Using Cloud Foundry (Cloud Foundry Summ...
 
Cloud native pitch-younjin-20150925-v2
Cloud native pitch-younjin-20150925-v2Cloud native pitch-younjin-20150925-v2
Cloud native pitch-younjin-20150925-v2
 
Pivotal Web Services - a Real World Example of Running Cloud Foundry at Scale...
Pivotal Web Services - a Real World Example of Running Cloud Foundry at Scale...Pivotal Web Services - a Real World Example of Running Cloud Foundry at Scale...
Pivotal Web Services - a Real World Example of Running Cloud Foundry at Scale...
 
Pivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewPivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical Overview
 
PCF Architecture
PCF Architecture PCF Architecture
PCF Architecture
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCF
 
James Watters - PCF Roadshow@Seoul
James Watters - PCF Roadshow@SeoulJames Watters - PCF Roadshow@Seoul
James Watters - PCF Roadshow@Seoul
 
Building Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringBuilding Cloud Native Architectures with Spring
Building Cloud Native Architectures with Spring
 
Cloud Foundry Platform Operations - CF Summit 2015
Cloud Foundry Platform Operations - CF Summit 2015Cloud Foundry Platform Operations - CF Summit 2015
Cloud Foundry Platform Operations - CF Summit 2015
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
 
Pivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First LookPivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First Look
 

Destacado

Destacado (18)

Pivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewPivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical Overview
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
 
IBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private CloudIBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private Cloud
 
Integrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIntegrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry App
 
Pivotal Cloud Foundry
Pivotal Cloud FoundryPivotal Cloud Foundry
Pivotal Cloud Foundry
 
Continuous Delivery of the Cloud Foundry Platform (as a service!)
Continuous Delivery of the Cloud Foundry Platform (as a service!)Continuous Delivery of the Cloud Foundry Platform (as a service!)
Continuous Delivery of the Cloud Foundry Platform (as a service!)
 
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
 
Cloud Native Unleashed
Cloud Native UnleashedCloud Native Unleashed
Cloud Native Unleashed
 
Pivotal Digital Transformation Forum: Journey to Become a Data-Driven Enterprise
Pivotal Digital Transformation Forum: Journey to Become a Data-Driven EnterprisePivotal Digital Transformation Forum: Journey to Become a Data-Driven Enterprise
Pivotal Digital Transformation Forum: Journey to Become a Data-Driven Enterprise
 
Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)
 
Pivotal Digital Transformation Forum: Requirements to Deliver Business Innova...
Pivotal Digital Transformation Forum: Requirements to Deliver Business Innova...Pivotal Digital Transformation Forum: Requirements to Deliver Business Innova...
Pivotal Digital Transformation Forum: Requirements to Deliver Business Innova...
 
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home Depot
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home DepotFrom 0 to 1000 Apps: The First Year of Cloud Foundry at the Home Depot
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home Depot
 
Cloud Foundry: The Best Place to Run Microservices
Cloud Foundry: The Best Place to Run MicroservicesCloud Foundry: The Best Place to Run Microservices
Cloud Foundry: The Best Place to Run Microservices
 
Pivotal Cloud Foundry: Cloud Native Architecture
Pivotal Cloud Foundry: Cloud Native ArchitecturePivotal Cloud Foundry: Cloud Native Architecture
Pivotal Cloud Foundry: Cloud Native Architecture
 
Managing Redis with Kubernetes - Kelsey Hightower, Google
Managing Redis with Kubernetes - Kelsey Hightower, GoogleManaging Redis with Kubernetes - Kelsey Hightower, Google
Managing Redis with Kubernetes - Kelsey Hightower, Google
 
Cloud Native Java Microservices
Cloud Native Java MicroservicesCloud Native Java Microservices
Cloud Native Java Microservices
 
The Cloud Native Stack
The Cloud Native StackThe Cloud Native Stack
The Cloud Native Stack
 
Introduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud FoundryIntroduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud Foundry
 

Similar a Pivotal spring boot-cloud workshop

Deploying IBM WebSphere Application Server to the Cloud_GWC_3-24-2015
Deploying IBM WebSphere Application Server to the Cloud_GWC_3-24-2015Deploying IBM WebSphere Application Server to the Cloud_GWC_3-24-2015
Deploying IBM WebSphere Application Server to the Cloud_GWC_3-24-2015
Yakura Coffee
 

Similar a Pivotal spring boot-cloud workshop (20)

[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
 
Removing Barriers Between Dev and Ops
Removing Barriers Between Dev and OpsRemoving Barriers Between Dev and Ops
Removing Barriers Between Dev and Ops
 
Pivotal Cloud Platform Roadshow Keynote
Pivotal Cloud Platform Roadshow KeynotePivotal Cloud Platform Roadshow Keynote
Pivotal Cloud Platform Roadshow Keynote
 
Removing Barriers Between Dev and Ops
Removing Barriers Between Dev and OpsRemoving Barriers Between Dev and Ops
Removing Barriers Between Dev and Ops
 
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
 
Anypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud FoundryAnypoint Platform for Pivotal Cloud Foundry
Anypoint Platform for Pivotal Cloud Foundry
 
What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6
 
Removing Barriers Between Dev and Ops
Removing Barriers Between Dev and OpsRemoving Barriers Between Dev and Ops
Removing Barriers Between Dev and Ops
 
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
Perth DevOps Meetup - Introducing the IBM Innovation Lab - 12112015
 
Cloud Native Infrastructure Automation
Cloud Native Infrastructure AutomationCloud Native Infrastructure Automation
Cloud Native Infrastructure Automation
 
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryConcevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
 
Embracing SOA and the Cloud
Embracing SOA and the CloudEmbracing SOA and the Cloud
Embracing SOA and the Cloud
 
Pivotal CF 소개
Pivotal CF 소개 Pivotal CF 소개
Pivotal CF 소개
 
Deploying IBM WebSphere Application Server to the Cloud_GWC_3-24-2015
Deploying IBM WebSphere Application Server to the Cloud_GWC_3-24-2015Deploying IBM WebSphere Application Server to the Cloud_GWC_3-24-2015
Deploying IBM WebSphere Application Server to the Cloud_GWC_3-24-2015
 
Cloud Roundtable | Pivoltal: Agile platform
Cloud Roundtable | Pivoltal: Agile platformCloud Roundtable | Pivoltal: Agile platform
Cloud Roundtable | Pivoltal: Agile platform
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
 
Competing with Software: It Takes a Platform -- Devops @ EMC World
Competing with Software: It Takes a Platform -- Devops @ EMC WorldCompeting with Software: It Takes a Platform -- Devops @ EMC World
Competing with Software: It Takes a Platform -- Devops @ EMC World
 
D-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLED-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLE
 
Solving todays problems with oracle integration cloud
Solving todays problems with oracle integration cloudSolving todays problems with oracle integration cloud
Solving todays problems with oracle integration cloud
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Pivotal spring boot-cloud workshop

  • 1. 1© 2015 Pivotal Software, Inc. All rights reserved. 1© 2015 Pivotal Software, Inc. All rights reserved. Spring Boot and Spring Cloud Dev101 - Workshop Sufyaan Kazi (@sufyaan_kazi) & Sara Mitchell Manager, Field Engineering UK & I
  • 2. 2© 2015 Pivotal Software, Inc. All rights reserved. Powering Digital Transformation Pivotal enables enterprises to provide modern software-driven experiences for their customers and workforces.
  • 3. 3© 2015 Pivotal Software, Inc. All rights reserved. Modern Approach for Digital Business AGILE PRODUCT DEVELOPMENT Agile practices and collaboration for product and culture transformation •  World class application development services •  Proven transformational methodology BIG DATA Modern, open, highly parallelized platform •  Hadoop, in-memory, and database software •  Industries most complete big data analytics offering CLOUD NATIVE PLATFORM Modern, open, highly automated cloud platform •  Platform-as-a-Service (PaaS) software with multi-cloud support •  Record-breaking sales growth and adoption
  • 4. 4© 2015 Pivotal Software, Inc. All rights reserved. How We Deliver Transformation Build product with us in our office Undergo leadership training Take back what you’ve learned
  • 5. 5© 2015 Pivotal Software, Inc. All rights reserved.5 Cloud Native DevOps Continuous Delivery ContainersMicro services
  • 6. 6© 2015 Pivotal Software, Inc. All rights reserved. Microservices are key for CLOUD NATIVE JAVA Application Framework Infrastructure Automation Platform Runtime Language framework for microservice-based architectures including components for service discovery, metrics and circuit breakers. Application container runtime with attachable backing services, automated CI/CD, routing, health management and logging. A single deployment API for provisioning for bit-for-bit, consistent, self- healing deployments across any private or public cloud. Dev Dev Ops Ops Spring Cloud Spring Boot BOSH Contract: 12 Factor Application Contract: BOSH Release
  • 7. 7© 2015 Pivotal Software, Inc. All rights reserved. 7 Spring Boot Dynamic language productivity with maturity of enterprise Java Cloud Native: Direct support for Microservices, NetflixOSS++ Fully automated app server configuration and deployment Production ready Ops metrics out of the box, with a switch
  • 8. 8© 2015 Pivotal Software, Inc. All rights reserved. Spring Boot Capabilities 8 •  Quick start project generation •  Automatic project dependency mapping •  Configuration drift prevention •  Conditional configuration with profiles •  Developer productivity tooling •  Auto configuration •  Monitoring and management endpoints •  Micro-services friendly
  • 9. 9© 2015 Pivotal Software, Inc. All rights reserved.
  • 10. 10© 2015 Pivotal Software, Inc. All rights reserved. 10 Spring Cloud Spring BootDev Spring Boot From 0 to app in < 5 min Enterprise Java with dynamic language productivity Spring Cloud Designed for fragile infrastructure in partnership with Netflix Java Microservice Framework 100% Spring Boot enabled Application Framework
  • 11. 11© 2015 Pivotal Software, Inc. All rights reserved. DEMO!
  • 12. 12© 2015 Pivotal Software, Inc. All rights reserved. Enhanced Application with Spring Boot package hello; import java.util.Arrays; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(HelloSpringBootApplication.class, args); } } MAGIC!! •  Tags the class as a source for Spring Beans •  Asks Boot to automatically add beans based on classpath •  Tell Spring to look for other components, configs etc. in the same package
  • 13. 13© 2015 Pivotal Software, Inc. All rights reserved. Simple Spring MVC with Annotations package hello; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Spring Boot!"; } } Ready for SpringMVC to handle Web requests Maps ‘/’ to this method
  • 14. 14© 2015 Pivotal Software, Inc. All rights reserved. TO THE LABS!!
  • 15. 15© 2015 Pivotal Software, Inc. All rights reserved. http://bit.ly/ 1SryunD
  • 16. 16© 2015 Pivotal Software, Inc. All rights reserved. SKIP STRAIGHT TO LAB 3
  • 17. 17© 2015 Pivotal Software, Inc. All rights reserved. Spring Boot Actuator Actuator, production ready features exposed as endpoints. There are many built-in endpoints but this can be extended.
  • 18. 18© Copyright 2013 Pivotal. All rights reserved. Elastic Runtime High Level Architecture •  Turnkey, fully automated Platform- as-a-Service •  Scalable runtime environment, extensible to most modern frameworks and languages running on Linux •  Instant expansion or upgrade with no downtime •  Deploy, scale and manage applications with bindable services using simplified semantics and APIs Pivotal CF Elastic Runtime Dynamic Router OAuth 2.0 Server (UAA) CELL Garden Build Packs Login Server CC & CC Bridge Blob Store BBS/etcd Sys Log Service Brokers Collector App Log ROUTING AUTHENTICATION APP LIFECYCLE APP STORAGE & EXECUTION MESSAGING METRICS & LOGGING Pivotal CF OpsManager/BOSH BBS Converger VMware OpenStack AWS Azure Google
  • 19. 19© Copyright 2013 Pivotal. All rights reserved. Container Scheduling Application Framework ServicesPlatform Runtime Routing DatabaseConfigurationService Discovery Big Data Object Storage Mobile Build CI User ProvidedLogging & Metrics Messaging Circuit Breakers12 Factor Apps RESTful Services Microservices .NETSpring Boot Node.jsRuby on Rails Operations Zero Downtime Deployments Failover & Recovery Scaling Security Patching Platform Upgrades Infrastructure OpenStack AmazonVMware Azure
  • 20. 20© 2015 Pivotal Software, Inc. All rights reserved. 1.  Upload app bits and metadata push app Router 2.  Create and bind services 3.  Stage application 4.  Deploy application 5.  Manage application health Blobstore DB Service Broker Node(s) Cloud Controller DEA DEA DEA CELL + app MD Service credentials Cloud Controller Bridge Auctioneer BBS Overview: Deploying App to Cloud Foundry Runtime + =
  • 21. 21© 2015 Pivotal Software, Inc. All rights reserved. Stage an ApplicationRouter Cloud Foundry ElasQc RunQme Blobstore DB CELL Detect Compile Upload NoYes System Buildpacks Cloud Controller Service credentialscreds Cloud Controller Bridge Task + =
  • 22. 22© 2015 Pivotal Software, Inc. All rights reserved. Router Cloud Controller Cloud Controller Bridge Auctioneer BBS CELL Rep Executor CELL Rep Executor CELL Rep Executor ACCESS APP Deploying an Application
  • 23. 23© 2015 Pivotal Software, Inc. All rights reserved. Containers Pre-date the Docker Hype Google started Linux container effort “Control Groups” Added to the Linux Kernel in 2007 Cloud Foundry uses Linux container technology - “Warden containers” early 2012 Docker is like github for container images Docker joins Cloud Foundry Foundation Google, MSFT, IBM working on orchestration of multiple Docker containers 2006 2014 Cloud Foundry has been using container technology pre-Docker 2012
  • 24. 24© 2015 Pivotal Software, Inc. All rights reserved. BUILD PACKS
  • 25. 25© 2015 Pivotal Software, Inc. All rights reserved. Platform provides standard Buildpack for runtime* Platform provides fixed OS container image Developer brings app Developer brings runtime Docker image Developer brings Docker OS image Developer brings app Buildpacks Docker * Devs may also provide their own buildpacks Platform provides fixed host OS Kernel Platform provides fixed host OS Kernel Application Container Standardization or Customization is Your Choice AND
  • 26. 26© 2015 Pivotal Software, Inc. All rights reserved. What does it mean to have a “Platform” ? The minimum features needed… PaaS Routing Load Balancing Service Brokers Infrastructure automation Log aggregation Health monitoring & recovery Immutable artifact repository
  • 27. 27© 2015 Pivotal Software, Inc. All rights reserved. AND RELAX …
  • 28. 28© 2015 Pivotal Software, Inc. All rights reserved. GIVE ME MORE…
  • 30.
  • 31. 31© 2015 Pivotal Software, Inc. All rights reserved. NETFLIX …
  • 32. 32© 2015 Pivotal Software, Inc. All rights reserved. Spring Cloud Services for Pivotal Cloud Foundry •  Install •  Config •  Manage •  Secure Spring Cloud Services Config Server Service Registry Circuit Breaker Dashboard
  • 33. 33© 2015 Pivotal Software, Inc. All rights reserved. Config Server
  • 34. 34© 2015 Pivotal Software, Inc. All rights reserved. Service Registration/Discovery @SpringBootApplication @EnableCircuitBreaker @EnableDiscoveryClient public class CustomerApp extends RepositoryRestMvcConfiguration { @Override protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { config.exposeIdsFor(Customer.class); } public static void main(String[] args) { SpringApplication.run(CustomerApp.class, args); } }
  • 35. 35© 2015 Pivotal Software, Inc. All rights reserved. Service Registration/Discovery
  • 36. 36© 2015 Pivotal Software, Inc. All rights reserved. Service Registration/Discovery @SpringBootApplication @EnableCircuitBreaker @EnableDiscoveryClient public class CustomerApp extends RepositoryRestMvcConfiguration { @Override protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { config.exposeIdsFor(Customer.class); } public static void main(String[] args) { SpringApplication.run(CustomerApp.class, args); } }
  • 37. 37© 2015 Pivotal Software, Inc. All rights reserved. Fault Tolerance – Circuit Breakers
  • 38. 38© 2015 Pivotal Software, Inc. All rights reserved. Fault Tolerance – Circuit Breakers @SpringBootApplication @EnableCircuitBreaker @EnableDiscoveryClient public class CustomerApp extends RepositoryRestMvcConfiguration { @Override protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { config.exposeIdsFor(Customer.class); } public static void main(String[] args) { SpringApplication.run(CustomerApp.class, args); } }
  • 39. 39© 2015 Pivotal Software, Inc. All rights reserved. @HystrixCommand(fallbackMethod = "defaultLink") public Link getStoresByLocationLink(Map<String, Object> parameters) { URI storesUri = URI.create(uri); try { ServiceInstance instance = loadBalancer.choose("stores"); storesUri = URI.create(String.format("http://%s:%s", instance.getHost(), instance.getPort())); } catch (RuntimeException e) { // Eureka not available } Traverson traverson = new Traverson(storesUri, MediaTypes.HAL_JSON); Link link = traverson.follow("stores", "search", "by-location") .withTemplateParameters(parameters).asLink(); return link; } Enabling a Circuit Breaker Client-Side Load Balancing
  • 40. 40© 2015 Pivotal Software, Inc. All rights reserved. Anatomy of a cloud native framework Application coordination boilerplate patterns Application configuration boilerplate patterns Enterprise application boilerplate patterns Runtime Platform, Infrastructure Automation boilerplate patterns (provision, deploy, secure, log, data services, etc.) CloudDesktop Spring Boot Spring IO Pivotal Cloud Foundry Spring Cloud + BOSH