← Back to team overview

dhis2-devs team mailing list archive

Re: Distributed DHIS2 and DHIS2 cloud

 

Thanks Jason. The reply is insightful.

I now try to set up dhis2 on a Tomcat cluster with nginx and mysql cluster
altogether. Will let you know the result soon

*Nguyễn Ngọc Thành*



On Sun, Sep 22, 2013 at 12:26 PM, Knut Staring <knutst@xxxxxxxxx> wrote:

> I think we should get DHIS2  added to that list of systems (typically)
> running on Tomcat. It is a MoinMoin wiki, so I thought I could just add us,
> but it seems this is an "immutable" page..
>
>
> On Sun, Sep 22, 2013 at 7:19 AM, Jason Pickering <
> jason.p.pickering@xxxxxxxxx> wrote:
>
>> Hi Thanh,
>>
>> First off, be sure you are aware of who you are dealing with in such a
>> debate. These "commercial companies" are probably a lot better at you in
>> selling products to people who do not need them than you are. This is after
>> all, what they do. So, keeping that in mind, lets pick apart what they are
>> saying.
>>
>>  "DHIS2 is not built on and use well-know reliable solutions such as
>> Microsoft Sharepoint, IBM Websphere,  Oracle Bea Weblogic"
>>
>> No reason why you could not used DHIS2 with Websphere or Weblogic in
>> theory. Of course, it would be a huge waste of money to plonk down money
>> for these applications, when Apache Tomcat (which is free) will do the job
>> just fine. DHIS2 is using Spring and not EJB, so there is simply no need
>> for these products. As for Sharepoint, well, it is a totally different
>> application stack, and not really interesting to debate about. Point is
>> DHIS2 is built using Java and lots of standard open-source libraries used
>> by lots of other projects (including commercial ones). So which application
>> server it uses is really a mater of choice. You could take Tomcat, and it
>> would work fine. You could also pay a company a lot of money for
>> a licence for one of the products you mention.  Here is a partial list of
>> companies/projects using Tomcat, and the number is not small (
>> http://wiki.apache.org/tomcat/PoweredBy)
>>
>> >1. When multiple DHIS2 instances can be deployed in multiple servers
>> (virtual or physical) and load balanced by a hard or soft balancer
>> (nginxs), this can not solve the real >problem of distributed HTTP sessions
>> like what can be done in Application Server, i.e. a logged in users
>> connected to a instance and this instance die, how can they continue
>> >without relogin.
>> >Can using Application Server solve the problems without having to
>> rewrite dhis2?
>>
>>
>> Which Application Server? I guess my question here would be what is the
>> impact of a clustered Tomcat instance crashing? OK, maybe the user has to
>> login again. Maybe they loose a little bit of work at worst. So what? Not
>> that this is not an impact, but would it justify even an attempt to
>> implement a load-balanced clustered solution with some sort of failover
>> protection transparent to the user? It would not really seem to be
>> justified.
>>
>> >How are we going to solve this? Will we need to use commercial solutions
>> like Terracotta BigMemory or IBM Data Grid?
>>
>> What is the point? This again sounds like a bit of a snake-oil argument
>> here. These products are not going to help with the issue of an application
>> server failing. .
>>
>> >3. I would like to know the typical deployment of dhis2 in other
>> countries. Is that on one or multiple server, with or without database
>> clusters? I heard that many countries go for >cloud but I am not sure if it
>> is a single or multiple cloud servers?
>>
>> Most countries which I know of are using a rather modest server. Many are
>> using the cloud, some are not. Many countries have everything on the same
>> machine (database, application server, nginx) and separating the database
>> and application server is fairly typical as well.  But I could imagine
>> there are some installations out there which are using clusters, but I
>> would say this is probably not typical (yet) of most DHIS2 installations.
>>
>>
>> >Can cloud provide us a single virtual but unlimited RAM and CPUs server?
>> As if yes, then we don't have to worry about question 1, 2 because we can
>> simple add 10000000 >GB RAM and 100000 CPUs to that cloud server.
>>
>> Well, for all intents and purposes, you could continue to increase the
>> size of the server up to a certain size as required but I think the metrics
>> you give there are pretty ridiculous.Why would you need that much RAM or
>> CPU power?  Even if it were physically possible which seems reasonable
>> (although likely very very expensive) , it would generally not make much
>> sense to do this. Probably better to break the system up into smaller
>> pieces instead. Using many small servers to distribute the process is
>> typically the favored approach, instead of having one big massive machine.
>>
>> Anyway, there are a few thoughts off the top of my head. In summary,
>> there is simply no need for the commercial products you mention in the vast
>> majority of use cases we have come across. Not to say that they do not
>> exist, but I would press these "companies" for more details on how these
>> are actual requirements, and not simply invented hypothetical cases which
>> could potentially be used to make a sale of unneeded licences.
>>
>> Regards,
>> Jason
>>
>>
>>
>> On Sun, Sep 22, 2013 at 3:14 AM, Ngoc Thanh Nguyen <
>> thanh.hispvietnam@xxxxxxxxx> wrote:
>>
>>> Hi all,
>>>
>>> Some commercial affiliated companies want to kick dhis2 out so they made
>>> the following arguments: "DHIS2 is not built on and use well-know reliable
>>> solutions such as Microsoft Sharepoint, IBM Websphere,  Oracle Bea Weblogic"
>>>
>>> When most of this is wrong they have some valid points that we need to
>>> be prepared in order to fight back. I would like to get your ideas on
>>>
>>> 1. When multiple DHIS2 instances can be deployed in multiple servers
>>> (virtual or physical) and load balanced by a hard or soft balancer
>>> (nginxs), this can not solve the real problem of distributed HTTP sessions
>>> like what can be done in Application Server, i.e. a logged in users
>>> connected to a instance and this instance die, how can they continue
>>> without relogin.
>>>
>>> Can using Application Server solve the problems without having to
>>> rewrite dhis2?
>>>
>>> How are we going to solve this? Will we need to use commercial solutions
>>> like Terracotta BigMemory or IBM Data Grid?
>>>
>>> 2. For database scale, with one database instances installed on single
>>> server. it has the risk of data loss. We can use database clusters to
>>> address this issue, and data on clusters mostly rely on memory. My question
>>> is how this cluster will work with distributed sessions described in
>>> question 1.
>>>
>>> 3. I would like to know the typical deployment of dhis2 in other
>>> countries. Is that on one or multiple server, with or without database
>>> clusters? I heard that many countries go for cloud but I am not sure if it
>>> is a single or multiple cloud servers?
>>>
>>> Can cloud provide us a single virtual but unlimited RAM and CPUs server?
>>> As if yes, then we don't have to worry about question 1, 2 because we can
>>> simple add 10000000 GB RAM and 100000 CPUs to that cloud server.
>>>
>>> Thanks in advanced.
>>>
>>> Thanh
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~dhis2-devs
>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
> --
> Knut Staring
> Dept. of Informatics, University of Oslo
> +4791880522
> http://dhis2.org
>

References