What criteria can I consider to classify an instance as small, medium or large

I read from the doc that I need to consider whether an instance is small, medium or large before deciding on the server specs.

I will like to know what are the specific scenario when I can classify an instance as small, medium or large?

In our case, we have over 1000 users. Everyday we will capture over 50000 data values across the facilities and this may increase ass we plan to add more features.

Hi @jetisco4u

When classifying an instance of DHIS2 as small, medium, or large, several factors need to be considered, including the number of users, data volume, and expected usage patterns. While specific definitions may vary depending on the context and the version of DHIS2, here are some general guidelines:

Small Instance:
    Suitable for installations with up to a few hundred users.
    Typically used for pilot projects, smaller organizations, or low-resource settings.
    Can handle a moderate amount of data entry and analysis.
    Generally runs on a single server or modest hardware specifications.

Medium Instance:
    Recommended for installations with several hundred to a few thousand users.
    Suitable for mid-sized organizations or larger projects.
    Can handle moderate to high data volumes and user activity.
    May require distributed architecture with separate database and web/application servers for improved performance and scalability.
    Hardware specifications should be more robust, including more CPU cores, memory, and storage capacity.

Large Instance:
    Designed for installations with thousands of users or larger-scale deployments.
    Suitable for national or regional implementations, major organizations, or high-traffic systems.
    Can handle significant data volumes, extensive reporting, and complex analytics.
    Requires a distributed architecture with separate database, web/application, and file servers, along with load balancing and failover mechanisms.
    Hardware specifications should be powerful and scalable, often involving multiple servers with high CPU cores, ample memory, and fast storage systems.

Considering your scenario with over 1000 users and capturing over 50,000 data values daily (with potential future growth), it is likely that your instance falls into the medium or large category. However, it’s important to conduct a thorough assessment based on your specific requirements, usage patterns, and expected growth trajectory.

6 Likes

@moses_mwale thanks. I am recommending medium to the organization for now. Then I’ll have to monitor the server usage.

I guess I have to do more research on this.

1 Like

Hi @moses_mwale,

Regarding DHIS 2, I am seeking your advice

In my organization, we a live DHIS 2 instance already in use running in a physical server. Now there is a need for a new instance. Technically speaking, I have no experience in installing DHIS 2 instances. What is advisable: for the new instance, is it necessary to have a new server (physical or virtual) or is it possible to have two instances with separate databases in the same server? What are implications of having two instances in the same server or having two instances in two separate servers?

I am seeking the best possible option on how two instances should be handled.

Thanks

Helle @ferdinandmussavene
Good to hear you are scaling up. Now suppose you have a server, say with the following specs:

  1. 64gb, 32gb
  2. 16core
  3. 1TB

You do not need to have another physical server. You can use the same server and have multiple instances created and have them share resources. Alternatively, since you are relatively new, you may capitalize on automation tools developed by Oslo for server administration. what you can do now is backup the current database, take note of the dhis2 war version e.g v2.39… then deploy the tools. We always advice to keep the host machine as simple as possible, the reason we are using the containerized version, its very easy. Check the link and get back in case you need further clarification and assistance, I will be clad to help.

1 Like

Hi @moses_mwale,

In my company, we are thinking of hosting our DHIS2 instance in a virtual server (paying for hosting services). Our question is: what are pros and cons of having a DHIS 2 instance in a virtual server and having to buy a physical server to host the instance? We want to choose the best solution depending on the advantages and disadvantages of each option.

Looking forward

Thanks

1 Like

hello @fernandoshake

For you own information I have done both. But here are the pros and cons of hosting your DHIS2 instance on a virtual server versus a physical server:

  1. Virtual Server (Cloud Hosting or Virtual Private Server - VPS)
    I have been hosting with Linode now Akamai
    Pros:
    Scalability: Easy to scale resources up or down based on the needs of your DHIS2 instance. This flexibility allows you to handle varying loads and growth without needing to invest in additional hardware.
    Cost-Effective: Typically cheaper upfront, as you avoid the capital expenses associated with purchasing and maintaining physical servers. You pay only for the resources you use (e.g., storage, CPU, memory).
    Reduced Maintenance: Hosting providers handle hardware maintenance, updates, backups, and security, reducing the workload on your IT team.
    High Availability and Redundancy: Most hosting providers offer features like automated backups, failover support, and disaster recovery, enhancing uptime and reliability.
    Accessibility: Easily accessible from anywhere, as long as there is an internet connection, which facilitates remote work and collaboration.
    Fast Deployment: Quick and easy to set up, allowing for a faster time to market.
    Cons:
    Recurring Costs: While often cheaper upfront, the ongoing subscription costs can accumulate over time, potentially making it more expensive in the long term.
    Limited Control: Less control over the underlying hardware and some aspects of the network. Customization options may be limited depending on the hosting provider.
    Data Security and Privacy Concerns: Hosting data on third-party servers may raise concerns about data privacy, security, and compliance, especially if sensitive or confidential data is involved.
    Dependent on Internet Connectivity: Access to the DHIS2 instance is heavily dependent on internet connectivity. Downtime or poor internet performance can impact accessibility.
  2. Physical Server (On-Premises Hosting)
    Pros:
    Full Control: Complete control over hardware, software, security protocols, and configuration. This control can be crucial for customization and specialized requirements.
    Data Security and Privacy: Data is kept on-premises, which can be more secure if managed correctly. This is particularly important for sensitive data and compliance with local regulations.
    Long-Term Cost Efficiency: Potentially lower long-term costs if the server is properly maintained and used over an extended period. There are no ongoing subscription fees, only maintenance and operational costs.
    Performance Optimization: Physical servers can be optimized for specific workloads, which may provide better performance, especially for high-computation tasks.
    Cons:
    High Initial Cost: Significant upfront investment is needed to purchase hardware, software licenses, and other infrastructure components.
    Maintenance and Management: Requires an in-house IT team for ongoing maintenance, updates, and troubleshooting. This can be labor-intensive and costly.
    Scalability Limitations: Scaling up may require additional hardware purchases, which can be time-consuming and expensive.
    Physical Space and Power Requirements: Requires dedicated physical space, power, cooling, and security, adding to operational costs.
    Single Point of Failure: Without proper redundancy and backup strategies, physical servers are more vulnerable to hardware failures and disasters, potentially leading to data loss or extended downtime.

Let me know if you have any further questions

Regards,
Moses

1 Like

Hi @moses_mwale,

I am a DHIS 2 implementer, I have Windows Server background, but with not much command line knowledge. I have been hired in a new company in which instead of being a DHIS 2 implementer, I will be helping with tasks related to performance monitoring of our DHIS2 Instance. I am now learning Linux Ubuntu Server 22.04 LTS, which is the operating system running in our server.

I would be grateful if you could provide me with a list of commands that are important to daily verify how the instance services are performing or anything you that is vitally important based on your experience.

Looking forward

Thanks