SlideShare a Scribd company logo
Give Your Java Apps “The Boot” With 
Spring Boot And Cloud Foundry 
By: Ryan Baxter 
@ryanjbaxter 
10/17/14
Who Am I? 
 @ryanjbaxter 
 http://ryanjbaxter.com 
 IBMer for 6 years 
 Developer Advocate for IBM 
Bluemix 
 Likes using Java 
 Not a Spring expert 
1
Spring 
 Great set of tools for enterprise Java developers 
 Web, Data, Social, Security, AMQP, Solr, Redis, Mobile, and 
many many more… 
 Each one has its own configuration and setup 
 Some have multiple ways of achieving the same thing 
 Getting multiple Spring projects to work together can 
be challenging 
2
Spring Boot 
 Inspired by micro-frameworks 
 Very opinionated, meaning it provides defaults 
 Favors convention over configuration 
 Works as a plugin with your existing build tools (Maven 
or Gradle) 
 Easy integration with Spring projects using “starter 
dependencies” 
 Has a CLI for prototyping with Groovy 
3
Getting Started With Spring Boot 
 http://start.spring.io 
 Inherit from the Spring Boot parent POM (Maven) 
 Add the Spring Boot plugin 
 Create a class with a “public static void main” method 
public class App { 
public static void main(String[] args) throws Exception { 
SpringApplication.run(App.class, args); 
} 
} 
4
Cloud Foundry 
5
Getting Started With Cloud Foundry 
 Need a Cloud Foundry instance 
 Public hosted options: IBM Bluemix and Pivotal Web Services 
 Primary way of interacting is with a CLI 
$ cf create-service <- create services for app 
$ cf push <- deploy app binary to Cloud Foundry 
$ cf bind-service <- Bind service to app 
$ cf start <- start app 
$ cf scale <- scale app 
6
Using Services 
 Services bound to your application are exposed via an 
environment variable called VCAP_SERVICES 
{"cleardb":[{ 
"name":"todos-mysql", 
"label":"cleardb", 
"plan":"spark", 
"credentials":{ 
"uri":"mysql://user:pass@mysqldb.com", 
"username":"user", 
"password":"pass" 
} 
} 
] 
} 
7
Spring Cloud Connectors 
 Helps with the doing the mundane tasks of accessing 
your services in the cloud 
 Services are exposed via an environment variable 
called VCAP_SERVICES 
 Parse JSON to access data 
 Can be extended for your own services 
 Works with both plain Java apps as well as Spring 
apps 
8
Cloud Foundry Build Plugins 
 All functionality of the CLI in a plugin for Maven and 
Gradle 
 Ideal because you can do consistent deployments 
using a simple command 
 Great for continuous integration and delivery of Java 
projects 
9
Resources 
 Cloud Foundry - http://docs.cloudfoundry.org/ 
 Spring Boot - http://projects.spring.io/spring-boot/ 
 Spring Guides - http://spring.io/guides <- ALL USING 
SPRING BOOT 
 Spring Cloud Connectors - http://cloud.spring.io/spring-cloud- 
connectors/ 
 Cloud Foundry Build Plugins - 
https://github.com/cloudfoundry/cf-java-client 
10
Resources 
 Spring Boot Yeoman Generator - 
https://github.com/ryanjbaxter/generator-sb 
 Slides - http://www.slideshare.net/RyanBaxter 
11
Thank you. 
$ cf push today: www.bluemix.net

More Related Content

ODP
JMP102 Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
PPTX
Boston Bluemix Meetup 5/15/14
Ryan Baxter
 
ODP
JMP103 : Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
PPTX
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
 
ODP
Bp209
Ryan Baxter
 
PDF
Platform as a Service - Cloud Foundry and IBM Bluemix
David Currie
 
PPTX
IBM Bluemix Overview
Ian Lynch ☁️
 
PDF
IBM Bluemix Hackathon Accelerator
gjuljo
 
JMP102 Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
Boston Bluemix Meetup 5/15/14
Ryan Baxter
 
JMP103 : Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
 
Platform as a Service - Cloud Foundry and IBM Bluemix
David Currie
 
IBM Bluemix Overview
Ian Lynch ☁️
 
IBM Bluemix Hackathon Accelerator
gjuljo
 

What's hot (20)

PPTX
Cloud Foundry a Developer's Perspective
Dave McCrory
 
PDF
Get over the Cloud with Bluemix
Codemotion
 
PDF
Rapid Application Development in the Cloud and On-Premises with Docker
Niklas Heidloff
 
PPTX
Pivotal cloud foundry introduction
Gaurav Shukla
 
PDF
Ten Minutes Bluemix Pitch from Dev to Dev
Niklas Heidloff
 
PDF
Jfokus Workshop: Code in the Cloud for the Cloud
Lauren Hayward Schaefer
 
PDF
Cordova 3, apps para android
Droidcon Spain
 
PDF
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
Niklas Heidloff
 
PPTX
Deploying Spring Boot apps on Kubernetes
VMware Tanzu
 
PPTX
Automated Lifecycle Management - CloudFoundry on OpenStack
Animesh Singh
 
PDF
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
Ian Robinson
 
PPT
Bluemix and DevOps workshop lab
benm4nn
 
PDF
12 factor app
Luís Bianchin
 
PPTX
Build 2017 - B8033 - Give your conversations superpowers: Building intelligen...
Windows Developer
 
PDF
Cloud Native Java with Spring Cloud Services
VMware Tanzu
 
PDF
Simplify Cloud Applications using Spring Cloud
Ramnivas Laddad
 
PPTX
BlackBerry WebWorks
Bhasker Thapan
 
PDF
IBM Bluemix for Administrators with Focus on XPages
Niklas Heidloff
 
PPTX
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Windows Developer
 
PDF
Improve customer engagement and productivity with conversational ai
CodeOps Technologies LLP
 
Cloud Foundry a Developer's Perspective
Dave McCrory
 
Get over the Cloud with Bluemix
Codemotion
 
Rapid Application Development in the Cloud and On-Premises with Docker
Niklas Heidloff
 
Pivotal cloud foundry introduction
Gaurav Shukla
 
Ten Minutes Bluemix Pitch from Dev to Dev
Niklas Heidloff
 
Jfokus Workshop: Code in the Cloud for the Cloud
Lauren Hayward Schaefer
 
Cordova 3, apps para android
Droidcon Spain
 
IBM Enterprise Social Solutions on Bluemix (XPages and Connections)
Niklas Heidloff
 
Deploying Spring Boot apps on Kubernetes
VMware Tanzu
 
Automated Lifecycle Management - CloudFoundry on OpenStack
Animesh Singh
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
Ian Robinson
 
Bluemix and DevOps workshop lab
benm4nn
 
12 factor app
Luís Bianchin
 
Build 2017 - B8033 - Give your conversations superpowers: Building intelligen...
Windows Developer
 
Cloud Native Java with Spring Cloud Services
VMware Tanzu
 
Simplify Cloud Applications using Spring Cloud
Ramnivas Laddad
 
BlackBerry WebWorks
Bhasker Thapan
 
IBM Bluemix for Administrators with Focus on XPages
Niklas Heidloff
 
Build 2017 - B8013 - Developing on Windows Server: Innovation for today and t...
Windows Developer
 
Improve customer engagement and productivity with conversational ai
CodeOps Technologies LLP
 
Ad

Viewers also liked (17)

PPTX
Building Highly Scalable Apps On Bluemix
Ryan Baxter
 
PPTX
A Node.js Developer's Guide to Bluemix
ibmwebspheresoftware
 
PDF
IBM Bluemix Introdution for Hackathons
gjuljo
 
PPTX
Bluemix - Deploying a Java Web Application
Craig Trim
 
PDF
Twitter analytics in Bluemix
Wilfried Hoge
 
PPTX
Think Small To Go Big - Introduction To Microservices
Ryan Baxter
 
PDF
BigData processing in the cloud – Guest Lecture - University of Applied Scien...
Romeo Kienzler
 
PPTX
IAB3948 Wiring the internet of things with Node-RED
PeterNiblett
 
PDF
An Overview of IBM Streaming Analytics for Bluemix
lisanl
 
PDF
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Daniel Krook
 
PDF
デモで理解する!Bluemixモバイル・サービス
IBMソリューション
 
PDF
Flow based programming an overview
Samuel Lampa
 
PDF
Using bluemix predictive analytics service in Node-RED
Lionel Mommeja
 
PDF
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
IBM UrbanCode Products
 
PPTX
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
MongoDB
 
PPTX
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
David Currie
 
PDF
Flow Base Programming with Node-RED and Functional Reactive Programming with ...
Sven Beauprez
 
Building Highly Scalable Apps On Bluemix
Ryan Baxter
 
A Node.js Developer's Guide to Bluemix
ibmwebspheresoftware
 
IBM Bluemix Introdution for Hackathons
gjuljo
 
Bluemix - Deploying a Java Web Application
Craig Trim
 
Twitter analytics in Bluemix
Wilfried Hoge
 
Think Small To Go Big - Introduction To Microservices
Ryan Baxter
 
BigData processing in the cloud – Guest Lecture - University of Applied Scien...
Romeo Kienzler
 
IAB3948 Wiring the internet of things with Node-RED
PeterNiblett
 
An Overview of IBM Streaming Analytics for Bluemix
lisanl
 
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Daniel Krook
 
デモで理解する!Bluemixモバイル・サービス
IBMソリューション
 
Flow based programming an overview
Samuel Lampa
 
Using bluemix predictive analytics service in Node-RED
Lionel Mommeja
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
IBM UrbanCode Products
 
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
MongoDB
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
David Currie
 
Flow Base Programming with Node-RED and Functional Reactive Programming with ...
Sven Beauprez
 
Ad

Similar to Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry (20)

PDF
Easy integration of Bluemix services with your applications
Jack-Junjie Cai
 
PDF
What's new in Gradle 4.0
Eric Wendelin
 
PDF
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PivotalOpenSourceHub
 
PPTX
Custom Runtimes for the Cloud
CloudBees
 
PPTX
Google Cloud Platform
Francesco Marchitelli
 
PPTX
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
Brian Rinaldi
 
PDF
Modernize Java Apps on Microsoft Azure
David J Rosenthal
 
PDF
DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...
Neil Shannon
 
PDF
SpringBoot and Spring Cloud Service for MSA
Oracle Korea
 
PPTX
Microservices with kubernetes @190316
Jupil Hwang
 
PPTX
Vijay Oscon
vijayrvr
 
PDF
Cloud Foundry for PHP developers
Daniel Krook
 
PDF
PHP Buildpacks in the Cloud on Bluemix
IBM
 
PPTX
Web deploy
Larry Nung
 
PDF
What's new in java 9?
Trayan Iliev
 
PPTX
Cloud development technology sharing (BlueMix premier)
湯米吳 Tommy Wu
 
PPTX
Build12 factorappusingmp
Emily Jiang
 
PDF
2013 10-10 selenium presentation to ocjug
Philip Schlesinger
 
DOCX
Prudential Insurance Exp
Ankit Chohan
 
PPTX
Mean stack Magics
Aishura Aishu
 
Easy integration of Bluemix services with your applications
Jack-Junjie Cai
 
What's new in Gradle 4.0
Eric Wendelin
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PivotalOpenSourceHub
 
Custom Runtimes for the Cloud
CloudBees
 
Google Cloud Platform
Francesco Marchitelli
 
NativeScript Developer Day Keynote - Todd Anglin & Burke Holland
Brian Rinaldi
 
Modernize Java Apps on Microsoft Azure
David J Rosenthal
 
DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...
Neil Shannon
 
SpringBoot and Spring Cloud Service for MSA
Oracle Korea
 
Microservices with kubernetes @190316
Jupil Hwang
 
Vijay Oscon
vijayrvr
 
Cloud Foundry for PHP developers
Daniel Krook
 
PHP Buildpacks in the Cloud on Bluemix
IBM
 
Web deploy
Larry Nung
 
What's new in java 9?
Trayan Iliev
 
Cloud development technology sharing (BlueMix premier)
湯米吳 Tommy Wu
 
Build12 factorappusingmp
Emily Jiang
 
2013 10-10 selenium presentation to ocjug
Philip Schlesinger
 
Prudential Insurance Exp
Ankit Chohan
 
Mean stack Magics
Aishura Aishu
 

Recently uploaded (20)

PDF
Emergency Mustering solutions – A Brief overview
Personnel Tracking
 
PDF
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
PDF
Community & News Update Q2 Meet Up 2025
VictoriaMetrics
 
PPT
Overview of Oracle Receivables Process.ppt
nbvreddy229
 
PPTX
AZ900_SLA_Pricing_2025_LondonIT (1).pptx
chumairabdullahph
 
DOCX
The Five Best AI Cover Tools in 2025.docx
aivoicelabofficial
 
PPTX
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
PDF
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
PPTX
Presentation of Computer CLASS 2 .pptx
darshilchaudhary558
 
PDF
Become an Agentblazer Champion Challenge
Dele Amefo
 
PPT
Order to Cash Lifecycle Overview R12 .ppt
nbvreddy229
 
PPTX
Services offered by Dynamic Solutions in Pakistan
DaniyaalAdeemShibli1
 
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
PDF
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
PPTX
Benefits of DCCM for Genesys Contact Center
pointel ivr
 
DOCX
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
PPTX
Why Use Open Source Reporting Tools for Business Intelligence.pptx
Varsha Nayak
 
PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Emergency Mustering solutions – A Brief overview
Personnel Tracking
 
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
Community & News Update Q2 Meet Up 2025
VictoriaMetrics
 
Overview of Oracle Receivables Process.ppt
nbvreddy229
 
AZ900_SLA_Pricing_2025_LondonIT (1).pptx
chumairabdullahph
 
The Five Best AI Cover Tools in 2025.docx
aivoicelabofficial
 
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
Presentation of Computer CLASS 2 .pptx
darshilchaudhary558
 
Become an Agentblazer Champion Challenge
Dele Amefo
 
Order to Cash Lifecycle Overview R12 .ppt
nbvreddy229
 
Services offered by Dynamic Solutions in Pakistan
DaniyaalAdeemShibli1
 
Micromaid: A simple Mermaid-like chart generator for Pharo
ESUG
 
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
Benefits of DCCM for Genesys Contact Center
pointel ivr
 
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
Why Use Open Source Reporting Tools for Business Intelligence.pptx
Varsha Nayak
 
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 

Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry

  • 1. Give Your Java Apps “The Boot” With Spring Boot And Cloud Foundry By: Ryan Baxter @ryanjbaxter 10/17/14
  • 2. Who Am I?  @ryanjbaxter  http://ryanjbaxter.com  IBMer for 6 years  Developer Advocate for IBM Bluemix  Likes using Java  Not a Spring expert 1
  • 3. Spring  Great set of tools for enterprise Java developers  Web, Data, Social, Security, AMQP, Solr, Redis, Mobile, and many many more…  Each one has its own configuration and setup  Some have multiple ways of achieving the same thing  Getting multiple Spring projects to work together can be challenging 2
  • 4. Spring Boot  Inspired by micro-frameworks  Very opinionated, meaning it provides defaults  Favors convention over configuration  Works as a plugin with your existing build tools (Maven or Gradle)  Easy integration with Spring projects using “starter dependencies”  Has a CLI for prototyping with Groovy 3
  • 5. Getting Started With Spring Boot  http://start.spring.io  Inherit from the Spring Boot parent POM (Maven)  Add the Spring Boot plugin  Create a class with a “public static void main” method public class App { public static void main(String[] args) throws Exception { SpringApplication.run(App.class, args); } } 4
  • 7. Getting Started With Cloud Foundry  Need a Cloud Foundry instance  Public hosted options: IBM Bluemix and Pivotal Web Services  Primary way of interacting is with a CLI $ cf create-service <- create services for app $ cf push <- deploy app binary to Cloud Foundry $ cf bind-service <- Bind service to app $ cf start <- start app $ cf scale <- scale app 6
  • 8. Using Services  Services bound to your application are exposed via an environment variable called VCAP_SERVICES {"cleardb":[{ "name":"todos-mysql", "label":"cleardb", "plan":"spark", "credentials":{ "uri":"mysql://user:[email protected]", "username":"user", "password":"pass" } } ] } 7
  • 9. Spring Cloud Connectors  Helps with the doing the mundane tasks of accessing your services in the cloud  Services are exposed via an environment variable called VCAP_SERVICES  Parse JSON to access data  Can be extended for your own services  Works with both plain Java apps as well as Spring apps 8
  • 10. Cloud Foundry Build Plugins  All functionality of the CLI in a plugin for Maven and Gradle  Ideal because you can do consistent deployments using a simple command  Great for continuous integration and delivery of Java projects 9
  • 11. Resources  Cloud Foundry - http://docs.cloudfoundry.org/  Spring Boot - http://projects.spring.io/spring-boot/  Spring Guides - http://spring.io/guides <- ALL USING SPRING BOOT  Spring Cloud Connectors - http://cloud.spring.io/spring-cloud- connectors/  Cloud Foundry Build Plugins - https://github.com/cloudfoundry/cf-java-client 10
  • 12. Resources  Spring Boot Yeoman Generator - https://github.com/ryanjbaxter/generator-sb  Slides - http://www.slideshare.net/RyanBaxter 11
  • 13. Thank you. $ cf push today: www.bluemix.net