<div dir="ltr">Hi Sebastian,<br><br>As we announced last year on OpenCms Days 2012, our goal is to support organizations and service providers to provide 
OpenCms as a Service (SaaS) with the highest level of elasticity and service 
automation.<br><br>For
 this reason Stephan developed OpenCms Cloud Extensions, 
which is using other open source components and data grid platforms which are currently under other licensing modes and we have to examine till OpenCms Days 2013 if and how we can provide the whole thing as open source.<br>


<br>But for now, if someone would like to see the whole thing in 
action, or would like to test our cloudified version of OpenCms 8.5.0 
with Multi-Workplace support, we would be 
more than happy to grant access to our development and testing 
environment, please feel free to drop me an email.<br>
<br>Kind Regards,<br>Arash<div class="gmail_extra"><br>-- <br><div><div><a href="http://www.cloudssky.com/en/cloud_products/cloudsites.html" target="_blank"><font color="#0000ff">CSG CloudSites powered by Metamesh's OpenCms Cloud Extensions
</font></a><a href="http://www.cloudssky.com/en/cloud_products/cloudsites.html" target="_blank"><br>
</a></div></div><p style="color:rgb(34,34,34)">
</p><p style="color:rgb(34,34,34)">
<span style="color:rgb(0,0,0)"><span><font><b>________________</b></font><font><b>____________</b></font><b>   </b><b>  </b></span></span></p><p><span><b>Arash Kaffamanesh</b><span style="font-family:arial,sans-serif"><b><span style="font-size:13px;font-family:arial,sans-serif"><br>


Clouds Sky GmbH<span></span><br></span></b></span></span></p><p><span><span style="font-family:arial,sans-serif"><b><span style="font-size:13px;font-family:arial,sans-serif">Im Mediapark 4C</span></b></span></span></p>

<p><span><span style="font-family:arial,sans-serif"><b><span style="font-size:13px;font-family:arial,sans-serif">50760 Köln<br></span></b></span></span></p><span><span style="font-family:arial,sans-serif">
<a value="+13145187189">+49 221 370 90 680</a></span><br><span><a href="http://www.cloudssky.com/" target="_blank">www.cloudssky.com</a><b><br>_________________</b><font><b>___________</b></font></span></span><br><br>
<div class="gmail_quote">On Sat, Aug 3, 2013 at 11:09 AM, Sebastian Himberger <span dir="ltr"><<a href="mailto:sebastian@himberger.de" target="_blank">sebastian@himberger.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">That sounds pretty much awesome. Will this be open source? It sounds<br>
like it won't but it would be nice.<br>
<br>
2013/8/2 Stephan Hartmann <<a href="mailto:hartmann@metamesh.de" target="_blank">hartmann@metamesh.de</a>>:<br>
<div><div>> Hi<br>
><br>
> Georgi is leading into the correct direction, but he is missing the Core<br>
> Cache and some other caches (e.g. image cache) that spread across OpenCms,<br>
> as well as OpenCms' event system.<br>
><br>
> But the main problem in using a distributed cache like Ehcache ist that<br>
> cached objects have to be serializable. Otherwise they cannot be transferred<br>
> from one JVM to another. Most Objects that are cached in the core cache are<br>
> serializable, but the Flex Cache entries aren't.<br>
> Another problem is with singleton objects. While in a single JVM application<br>
> it is legal to compare singleton objects (or better references to singleton<br>
> objects) with == and != (but you still shouldn't), it brings up problems in<br>
> distributed applications where each instance has its own JVM and thus their<br>
> own "singleton" objects. When those objects are serialized on one VM and<br>
> deserialized on another, they are different from their counterparts on that<br>
> VM. Instead you have to use equals() or if they box primitives compare those<br>
> primitive values instead.<br>
> Sadly some core cache objects in OpenCms are singletons and in some places<br>
> equality and inequality of references to those objects are checked with ==<br>
> and !=.<br>
><br>
> The other way to cluster OpenCms is to let all instances keep their own<br>
> caches and send flush notifications on publish events to all the other<br>
> nodes, if one instance manipulates the underlying database entries of cached<br>
> objects. I guess this mainly is what other solutions do - and Achim on<br>
> request by hand ;).<br>
> One drawback of this approach is, that you can access the workplace and<br>
> offline project only through one node that is the master and propagates his<br>
> publish events to the slaves.<br>
> If the master goes down, you are not able to edit your website.<br>
><br>
> Together with Arash Kaffamanesh from Clouds Sky I am currently working on a<br>
> cloud-ready and thus distributable and cluster-ready version of OpenCms<br>
> (based on 8.5.0) that follows the first approach with a distributed cache<br>
> where possible.<br>
><br>
> Our goals are:<br>
> - unlimited number of cluster nodes<br>
> - auto-discovery<br>
> - autoscaling (up and down)<br>
> - auto-recognition of new nodes<br>
> - zero configuration (or at least identical configuration): all instances<br>
> have the same configuration, that's true also for OpenCms configuration<br>
> - no master/slave design - all nodes are equal<br>
> - fault tolerance - removing one node won't hurt others. this implies that<br>
> every node can serve the workplace at ANY time with sticky sessions<br>
><br>
> So far we have a distributable core cache and propagation of OpenCms events<br>
> to all active cluster nodes.<br>
> Thus, the core cache won't have to be flushed on publish events and the Flex<br>
> cache will flush online on all nodes on publish events just as usual. Even<br>
> static export on demand is working.<br>
> We have haproxy in front with sticky sessions, and we are able to access the<br>
> workplace just through it - no matter to which node haproxy is directing on<br>
> session creation. In the broadcast admin tool, we see all user sessions and<br>
> can send messages to all users.<br>
><br>
> All instances can startup the same from image image, i.e. a webapp that is<br>
> copied from a template, or a complete vm image.<br>
><br>
> We also wanted to be able to perform module updates much faster and more<br>
> reliable than it is possible with OpenCms' admin interface.<br>
> Therefor we are developing a driver that reads modules (at least our own)<br>
> and their contents directly from the real file system. Now when we have an<br>
> update we just have to deploy it to our template folder, update the nodes<br>
> with rsync, git or whatever and restart tomcat / reload the webapp. If you<br>
> do this one after another there won't be a downtime at all - only your<br>
> workplace users will lose their session.<br>
> No periods of unavailability of your website during module updates anymore!<br>
> As a side effect, we could also reduce our development time for our own<br>
> modules as well! No more time wasting module uploads, rfs/vfs<br>
> synchronization or coding JSPs in the browser ;)<br>
><br>
> As Clouds Sky is a silver sponsor of OpenCms days 2013, we are planning to<br>
> do a presentation there and hopefully get everything ready until then to<br>
> show how OpenCms can autoscale on Amazon EC2 or Eucalyptus.<br>
><br>
><br>
> Best regards,<br>
> Stephan<br>
><br>
><br>
><br>
> 2013/7/31 Georgi Naplatanov <<a href="mailto:gosho@oles.biz" target="_blank">gosho@oles.biz</a>><br>
>><br>
>> Hi<br>
>><br>
>> I think that running OpenCms in a cluster won't be a problem if:<br>
>><br>
>>  - you use 1 db server or all db servers use synchronous replication<br>
>>  - some parts of application folder are shared between all OpenCms<br>
>> instances (Samba or NFS), like /export/ folder<br>
>>  - network enabled FlexCache cache implementation, like Ehcache.<br>
>><br>
>> As Achim mentioned in this list, OCEE module is not expensive (at least<br>
>> for western Europe standard), so you may decide to do something else.<br>
>><br>
>> Best regards<br>
>> Georgi<br>
>><br>
>><br>
>> On 07/30/2013 06:13 PM, jmcl wrote:<br>
>>><br>
>>> I would like to use OpenCMS in cluster.<br>
>>> All I need to do is use it in a scenario where *no* content is served<br>
>>> from<br>
>>> the export folder. All content is served directly from the OpenCMS web<br>
>>> app<br>
>>> and is, if necessary, cached on a external cache engine like Varnish.<br>
>>> I understand that having two OpenCMS nodes may cause problems when it<br>
>>> comes<br>
>>> to *adding* or *changing* content (at least I think there can be<br>
>>> problems).<br>
>>> Now, as for *serving* content would this be a problem???? I don't seen<br>
>>> what<br>
>>> problems can arise from having two OpenCMSes running at the same time, as<br>
>>> web apps that they are, and externally balanced.<br>
>>> Any comments on this, that don't directly involve the OCEE module, are<br>
>>> welcome.<br>
>>> Regards.<br>
>>><br>
>>> J.<br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> View this message in context:<br>
>>> <a href="http://opencms.996256.n3.nabble.com/OpenCMS-8-5-2-in-Cluster-tp23501.html" target="_blank">http://opencms.996256.n3.nabble.com/OpenCMS-8-5-2-in-Cluster-tp23501.html</a><br>
>>> Sent from the OpenCMS mailing list archive at Nabble.com.<br>
>>> _______________________________________________<br>
>>> This mail is sent to you from the opencms-dev mailing list<br>
>>> To change your list options, or to unsubscribe from the list, please<br>
>>> visit<br>
>>> <a href="http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev" target="_blank">http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev</a><br>
>>><br>
>>><br>
>>><br>
>> _______________________________________________<br>
>> This mail is sent to you from the opencms-dev mailing list<br>
>> To change your list options, or to unsubscribe from the list, please visit<br>
>> <a href="http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev" target="_blank">http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev</a><br>
>><br>
>><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> This mail is sent to you from the opencms-dev mailing list<br>
> To change your list options, or to unsubscribe from the list, please visit<br>
> <a href="http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev" target="_blank">http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev</a><br>
><br>
><br>
><br>
><br>
_______________________________________________<br>
This mail is sent to you from the opencms-dev mailing list<br>
To change your list options, or to unsubscribe from the list, please visit<br>
<a href="http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev" target="_blank">http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-d</a>



</div></div></blockquote></div><div><div style="font-family:arial;font-size:small"><div><span><span><font><b></b></font></span><span style="color:rgb(11,83,148)"><b><span style="color:rgb(0,0,0)"></span> </b></span></span><p style="color:rgb(34,34,34)">


<span style="color:rgb(11,83,148)"></span><font> </font></p></div></div></div>
</div></div>