Top Banner
== Rapid Application Development for Cloud Shekhar Gulati
23

== Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Jul 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

==

Rapid Application Development for Cloud

Shekhar Gulati

Page 2: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Hi, my name is .. Shekhar Gulati

● Senior Java Consultant at Xebia● Spring, Big Data, NoSQL enthusiast● Freelance Writer

[email protected]● Twitter handle : shekhargulati

Page 3: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Agenda

● Spring Roo● Why, What, and How – Demo

● CloudFoundry● PaaS, Why, What, and How – Demo

● Conclusion

Page 4: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Spring Mission

#J2EE or JavaEE should be easier to use.

Page 5: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Mission Accomplished

Now What?

Page 6: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Problems

● Lot of code to write for very simple applications.

● Lot of configuration stuff● Java developers are not productive

compared to Grails, Rails or Python developer.

● But …. Java is still most popular and used language.

Page 7: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Example Application

Page 8: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Enter Spring Roo

● Easy to use productivity tool● Code generator – Spring based

enterprise applications.● Development time only.

● No runtime● No negative performance impact● No memory overhead● No Roo deployment

● Use best of breed.

Page 9: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Why should you learn Spring Roo?● Great learning tool.● Follows Spring best practices.● Standard based – JPA, JSR303 etc.● Will keep you updated with Spring.

Page 10: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Demo – Building a Blog

Page 11: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Feature Covered & Show Code

● Project Management● Entity support● Field management● Persistence● JUnit testing● Spring MVC controller● Spring Security

Page 12: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

There is lot more ….

● GWT support● Selenium Testing support● Internationalization support● Social sites support like twitter, youtube● NoSQL support – Neo4J● Add-on creation support● Third party add-ons

Page 13: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Now I want to deploy my application.

Where should I deploy?

Page 14: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud
Page 15: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Issues with existing PaaS

● Can't run existing code● Tied to particular environment● Vendor lock-in(lack of Cloud

portability)● Deployment on public cloud only● Need to change mindset● Support for diluted frameworks

Page 16: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

The Open Platform as a Service

Page 17: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Enter CloudFoundry

● Open Source● Multi language, Multi framework, Multi

Application services, and Multi Cloud.● Cloud Portability● Cloud Foundry is both

● deployment destination● layer that allows deployment to a choice of clouds,

both public and private.

Page 18: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Cloud Foundry – The Open PaaS

Page 19: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Deployment Options

● STS● VMC command line● Spring Roo Cloud Foundry Add-on

Page 20: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Demo – Deploy to Cloud Foundry

● Switch to MySQL● CloudFoundry commands

● login● deploy● start, stop● create a service, bind a service● list of apps and services● delete the application.

Page 21: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

There is lot more ...

● NoSQL databases support● Ruby, NodeJS, Scala, Groovy support.● RabbitMQ support● Micro Cloud support● ….

Page 22: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud

Conclusion & Q/A

● Roo delivers serious productivity gains for Java.

● Roo is easy to learn and use● No runtime, no lock-in no risk● CloudFoundry allows you deploy your

application as it is without any change.● Spring Roo + CloudFoundry is match

made in heaven.

Page 23: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud