vaadin4spring
vaadin4spring copied to clipboard
Cloud support
Which cloud environments are we going to support out-of-the-box?
I'd vote for Red Hat OpenShift, as they provide a time-unlimited free-of-charge paas, with support of en eclipse plugin to directly deploy a repository to their cloud. Full support for java, tomcat, jboss, postgresql etc.
I myself have deployed some demo applications successfully to openshift.
When it cames to paid services, Jelastic would be my preferred one.
I think Heroku should be considered too. It was pretty easy to configure a vaadin4spring application in it.
Would you like to share your experiences? Anything that could be changed in the add-on to make it even easier?
In fact I don't think anything have to be changed in the add-on, since with spring-boot it's very easy to start the application on an embedded application server. All I had to do was to create 2 files on the root folder of my project.
File Procfile (to start embedded server on Heroku's designed port): web: java $JAVA_OPTS -Dserver.port=$PORT -jar target/artifact.war
File system.properties (to enable java 7 compiling): java.runtime.version=1.7
It was just a test application, so it's not very complex, but it worked like a charm.
One think that I can think that might help sometime in the future is to add support for storing the session data in memcached. There's a project here in Github that does that: https://github.com/nhurion/hello-vaadin-heroku.
Thanks for the tip! But first, we need to get session data serialization to work with this add-on (currently it does not). It's planned in a future release, but I can't really say when it will happen.
Why not start with spring-cloud ?
Personally, I don't really care which cloud providers we are going to support. The more, the better! :-)
spring-cloud fits for multiple providers. Vaadin based Micro UIs using spring-cloud is something I personally would like to see. Why I showed up actually, to see how/if it would work.
I've never used spring-cloud myself, so if anybody is interesting to give it a go, then go ahead. Report any problems here, or try to fix them yourself. :-)
One potential problem with cloud deployment could be that the session is currently not serializable (see #154).
I don't know anything about spring-session. Could that help? Something about spring-cloud is it relies more on oauth/tokens. Ideally every service is stateless. Should mention the service-bus "RabbitMQ" etc for passing information around in the backend.
Currently I'm working with spring-boot, spring-cloud and vaadin4spring on a Cloud-Foundry environment. Seems everything is working except the session serialization problem #154 by using spring-session to store the sessions into a Redis server.