Home » Eclipse Projects » Virgo » Virgo on cloudfoundry
| | | | | |
Re: Virgo on cloudfoundry [message #870469 is a reply to message #870359] |
Tue, 08 May 2012 11:27 |
|
Hi,
The VM from my blog is a bit outdated, but it contains a guide how you can integrate Virgo (and other projects) into CF. What you get currently is support for all Virgo artifacts and auto-staging of Spring modules and the ability to update Virgo's version.
I think Virgo's integration in CF can be used for productive application. The question here is what do you need from the infrastructure (IaaS), the platform (PaaS) or do you want to build a cloud based software solution (SaaS).
To be productive in my opinion you need to have provisioning of VMs that can be turned into DEA nodes and perhaps elasticity (scale-in/out) in case your application supports multiple instances.
The provisioning as you may know was not part of CF offering, although the now BOSH solves part of the problem. Another part however is to find a hosting infrastructure (Amazon, OpenStack, OpenShift, Cloud Foundry, RackSpace....) or to build a cloud yourself.
If you don't need these IaaS features than you can probably live with several VMs hosing Virgo instances.
Since Virgo is not supported by cloudfoundry.com or other CF based hostings, so you'll have to host it yourself. You can use your own hardware or existing IaaS to build CF based PaaS.
Regards,
Hristo Iliev
|
|
| |
Re: Virgo on cloudfoundry [message #870499 is a reply to message #870495] |
Tue, 08 May 2012 12:56 |
|
Hi,
Virgo integration is not in master branch of Cloud Foundry [1]. The code to get Virgo running on CF is just in my forked repositories [2] and since CF hostings are based on the original code this will not work with them.
The main problem with merging Virgo integration and CF master was in the fact that you cannot really specify an application server in CF and the mapping between framework and runtime/server is 1:1. In short if you have Spring based application you cannot tell vmc to push it to Virgo or Tomcat.
The integration I tailored was to have Virgo as framework as a workaround for this limitation. To lift the limitation CF has to support application server abstraction, so the users can choose not only the framework but the server to run on as well.
Other clouds allows you to build a custom VM (as the "cartridge" in OpenShift), so this integration should be fairly simple.
Regards,
Hristo Iliev
[1] https://github.com/cloudfoundry
[2] https://github.com/hsiliev
|
|
| |
Re: Virgo on cloudfoundry [message #870979 is a reply to message #870520] |
Thu, 10 May 2012 12:53 |
|
Hi
I have to confess that I haven't deployed a Virgo app on Cloud Foundry myself yet, but you might want to take a look at the recent support we added for "standalone" apps, which essentially lets you deploy any JVM, Ruby, Node etc app and specify startup/run commands and variables. AIUI Virgo can launch from the command line so this should work, assuming you add the correct JAVA_OPTIONS in the manifest.yml file.
There's a great blog post detailing this new support.
See "Cloud Foundry improves support for background processing" on our blog at cloudfoundry.com
Do let us know if you have any further questions. We have an IRC channel on freenode #cloudfoundry and often respond to that hashtag on Twitter, too.
HTH
Andy
Developer Advocate | Eclipse Paho project | mqtt.org | andypiper.me
[Updated on: Thu, 10 May 2012 12:59] Report message to a moderator
|
|
| | |
Re: Virgo on cloudfoundry [message #906973 is a reply to message #871188] |
Mon, 03 September 2012 03:56 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi,
Great work here! I am new to Cloud Foundary, but have spent some time on Virgo. From the discussions above, it looks like there are two options to get Virgo working in Cloud Foundry:
- Use the Virgo integration done by Hristo Iliev.
- Run Virgo as a standalone app, as in Andy's email.
I haven't tried these options, but any comments on my questions below would be appreciated very much. Assuming I have 2 apps A & B to run in Virgo, with A consuming the OSGi services published by B.
- If using option #1, would the OSGi service published by B still work for A? If I scale A to have 10 instance and B still has 1 instance, how could they pair up?
- If using option #2, I believe app A & B and the OSGi services will work. But will I lose the capability of deploying new app (such as through the Virgo admin console) to a running instance of Virgo, since it apparently conflicts with the way vmc update an app (which is Virgo plus all apps in it)? If it still works for 1 instance, how about if I scale up the instances of Virgo to 10?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907110 is a reply to message #906973] |
Mon, 03 September 2012 10:07 |
|
Hi Ruoyun,
If you want to scale your application to more than one VM/instance/process then its best to provide remote API (REST, JMX, remote OSGi services). I personally recommend REST as a way to achieve statefulness. Remote API is needed to scale your applications and to enable features like discovery, failover, etc.
Both options (#1 and #2) will case update not only to your application but Virgo as well, so there is no real difference there. However since option #2 is better suited for application servers I would recommend to go in this direction.
As for OSGi services - they are not much different than what ordinary (one instance/VM/process) Virgo provides. The cloud case enables you to have more than one instance/VM/process, hence my recommendation to have remote API.
Regards,
Hristo Iliev
|
|
|
Re: Virgo on cloudfoundry [message #907725 is a reply to message #907110] |
Tue, 04 September 2012 08:58 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907737 is a reply to message #907110] |
Tue, 04 September 2012 09:01 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907764 is a reply to message #907110] |
Tue, 04 September 2012 08:58 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907765 is a reply to message #907110] |
Tue, 04 September 2012 09:01 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907788 is a reply to message #907110] |
Tue, 04 September 2012 08:58 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907789 is a reply to message #907110] |
Tue, 04 September 2012 09:01 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907814 is a reply to message #907110] |
Tue, 04 September 2012 08:58 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907816 is a reply to message #907110] |
Tue, 04 September 2012 09:01 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907842 is a reply to message #907110] |
Tue, 04 September 2012 08:58 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907843 is a reply to message #907110] |
Tue, 04 September 2012 09:01 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907873 is a reply to message #907110] |
Tue, 04 September 2012 08:58 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907874 is a reply to message #907110] |
Tue, 04 September 2012 09:01 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907906 is a reply to message #907110] |
Tue, 04 September 2012 08:58 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #907907 is a reply to message #907110] |
Tue, 04 September 2012 09:01 |
Ruoyun Wu Messages: 16 Registered: September 2012 |
Junior Member |
|
|
Hi, Hristo Iliev,
Thank you very much for the quick response. Looks like OSGi make things harder if I want to scale the deployment of a single app (run many instances of it).
Currently I have quite a number of apps running on Virgo, and new apps could be developed and added to a running Virgo server. I will give a try on option #2, which is basically scaling at app server level (run many instances of Virgo). My concern, however, is I probably can't add a new app directly to a Virgo instance running on the Cloud, as the other instances would be out of sync. I have to deploy new app locally to a local Virgo, then push the whole stack (Virgo plus all apps deployed within it) to cloud. Does it make senses?
Best Wishes,
Ruoyun
|
|
|
Re: Virgo on cloudfoundry [message #908106 is a reply to message #907907] |
Tue, 04 September 2012 18:25 |
|
Hi Ruoyun,
I wouldn't say that OSGi is the reason here. If you have Tomcat or JEE server things would be the same - you'll need to consider that you have multiple instances of your application.
Cloud Foundry (CF) in particular makes deployment scaling pretty easy - you just specify the number of instances and you receive N processes of Virgo running your application A.
If you want N instances with applications A and B you'll have to deploy Virgo with A and B and then ask CF to scale this set (Virgo + A and B) to several instances.
The process is just like you described it - you develop and test locally, then (vmc) push the stack to the cloud and scale it. The testing should however include several Virgo servers to simulate the cloud case if your application is not stateless or needs communication between the nodes and not just connection to the DB.
If you want to add applications to already running Virgo instances you'll have to connect to OSGi console (telnet, ssh or the Web admin) and deploy the new application. This has a lot of disadvantages: you'll have to do this as many times as your cloud instances and you won't have much control over the service bindings provided by CF (the new app will have the same bindings as the already existing ones).
In the end if you want to add new app to already existing Virgo instance you should proceed as adding a new version of CF application - you should deploy the new stack (Virgo, A + B + C + ...) and stop the old application once all user sessions are gone.
Regards,
Hristo Iliev
|
|
| |
Goto Forum:
Current Time: Tue May 21 14:50:53 GMT 2024
Powered by FUDForum. Page generated in 0.09381 seconds
|