== rapid application development for cloud · enter cloudfoundry open source multi language, multi...

23
== Rapid Application Development for Cloud Shekhar Gulati

Upload: others

Post on 27-Jul-2020

12 views

Category:

Documents


0 download

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