← Back to team overview

dhis2-devs team mailing list archive

Re: Distributed DHIS2 and DHIS2 cloud

 

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
>
>

Follow ups

References