Forums

Find answers, ask questions, and connect with our
community all around the world.

Home Forum Omnis General Forum Recommended Cloud Architecture for Omnis

  • Recommended Cloud Architecture for Omnis

    Posted by Uwe Smidt on November 29, 2024 at 7:46 pm

    Dear $all,

    we’ve had a similar thread on this before (https://www.omnis.net/community/forums/forum/discussion/omnis-in-the-cloud/), but I prefer to open a new thread.

    I need recommendations for a suitable architecture to run an Omnis Server, a Web Server and a Postgres Server ‘in the cloud’, i.e. on a dedicated server, virtual server or a cloud infrastructure as AWS.

    I would like to use this architecture not only for one customer, but for multiple clients, and I would like to keep it as simple as possible. I did some efforts with AWS, and yes, I did get it to work, but I found it too complex to feel safe for me being such a simple mind ;-)…

    And of course, it should be cost-effective, as I am not aiming at corporate customers, but small businesses.

    I am serving customers in Germany and France, so a service overseas is not likely to make sense for me.

    Would you rather recommend containerised services for Web server, Omnis Server and Postgres, or a straight installation of these 3 programs on server – being rather MS Windows Server, or what blend of Linux? Apache, IIE or NGINX?

    Or is there already a ready-made container for 3-in-1?

    I am aware that this is a quite complex question, but I’m sure I am not the only one pondering over this…

    So please let me hear your thoughts, best practices, experiences & ideas!

    Thanks in advance

    Uwe

    Uwe Smidt replied 7 months, 3 weeks ago 3 Members · 11 Replies
  • 11 Replies
  • Dr Caroline Wilkins

    Member
    November 29, 2024 at 8:47 pm

    Dear Uwe,

    I have seen various configurations for different customers and systems over the years.

    I am wary of some of the modern cloud hosting such as AWS, Azure, Google Cloud because, whilst in theory you can calculate the hosting costs, in practise that works out very hard to predict. I ran a test server on Google Cloud and ended up with large bills for an effectively dead system (which had just been an experiment). I queried it with them and they waved the bill, which made me wonder if they even know what they are charging people for. So if you do opt for one of these, watch your billing carefully and be prepared to challenge it.

    IONOS (which I believe is located in Germany) has some interesting cloud hosting options. I was very impressed with what it could achieve regarding rapid scalability. I have a system that I am building which I need to keep costs low on at first, but which could scale massively over time. They were able to offer a way of very simply adding on resources and servers to support increased demand, internationalisation and backup options. It looked good. Worth a look, I would say! They also offer some low-cost Virtual Private Server packages, which I use.

    In terms of Windows versus Linux… There are benefits and issues with each. Windows is easier to use if you are a Windows user. But it is more expensive to license etc. It’s cheaper to get a Linux server – incredibly cheap in fact! But you need to know what you are doing or hire someone who does.

    If you are a Windows user and the project can afford a Windows server, that would be the easiest and fastest to get up and running. If you are confident with Linux and/or the budget of the project is smaller, then Linux will be ideal.

    Best of luck!

    Caroline

    Dr Caroline Wilkins

    https://ib2bsystems.com

  • Mats Olsson

    Member
    November 30, 2024 at 7:42 am

    I need recommendations for a suitable architecture to run an Omnis Server, a Web Server and a Postgres Server ‘in the cloud’, i.e. on a dedicated server, virtual server or a cloud infrastructure as AWS.

    I recommend UpCloud as it has very predictable pricing from USD 3.3, nice admin interface and you can use “internal IP-addresses” (which IONOS does not offer in some plans). And upon this UpCloud is GDPR compliance, that not either Google, AWS or Azure can offer AFAIK. And they have servers in Germany as well. And IONOS have an admin interface from the last century.

    Get $25 for testing UpCloud

    Would you rather recommend containerized services for Web server, Omnis Server and Postgres, or a straight installation of these 3 programs on server

    Using Docker is good, but I think it is overkill IMO. Docker adds an extra complexity not needed in many cases. Using Nginx as load balancer directly may be way simpler.

    MS Windows Server, or what blend of Linux? Apache, IIE or NGINX?

    I have tried both Windows and Linux Debian. And comparing them is like comparing a big slow truck and Tesla. Running Debian for 10 years without needing for restart. Windows server I had to restart every fortnight. The Debian release life cycle encompasses five years, the first three years of full support followed by two years of Long Term Support (LTS).

    And I am using Nginx. Smaller, faster and simpler than Apache. And you can use Nginx as load balancer, rate limiter and proxy.

    Or is there already a ready-made container for 3-in-1?

    Web apps are IMO safer if they are split up in different VPS (containerization plus). And I am experimenting with several separate servers. One for the application. One for the API and one for Postgresql. Only the Web app is reachable via internet. API and database are completely locked for external access. Only via internal IP-addresses. Which is less vulnerable. And gives lower latency. And this is possible on my UpCloud servers. Not possible in my IONOS servers (used for testing purposes only).

    • This reply was modified 8 months ago by  Mats Olsson.
  • Uwe Smidt

    Member
    December 2, 2024 at 11:49 am

    Thanks a lot for your helpful replies!
    I use Ionos for my Domains and Email, and have made good experiences with them so far.

    Before Mats reply, I would have gone for a VPS with them (https://www.ionos.de/server/vps; VPS Linux 2Cores, 2GB, 80GB @ 3 €/Month), because their other, more interesting product ‘Cloud Server’ (https://www.ionos.de/cloud/cloud-server) is currently ‘paused’ as I was told by their support.

    But now, I’ll look into UpCloud, first – sounds very interesting!

    If you have further hints, please feel free to let me know!

    And I will keep you posted on my progress!

    Best regards

    Uwe

  • Mats Olsson

    Member
    December 3, 2024 at 4:46 am

    If you have further hints, please feel free to let me know!

    Use Webmin for an admin interface on your VPS. And in some cases systemd can be helpful to start and restart services automatically.

  • Uwe Smidt

    Member
    December 4, 2024 at 12:02 pm

    Dear Mats,
    I’m up and and a bit running on UpCloud !

    I took the 3€ Developer Starter kit (1 Core, 1GB, 10GB), and went for the free 3 day trial.
    But there is the first ‘disappointment’: This free 3 day trial is so limited (here: automatic firewall that can’t be edited during free trial, blocking Webmin port, and also the postgres port).

    So I’ll have to make a first payment of 10€ (not much, but my idea of a free trial is different – it is more a matter of trust & credibilty than of 10 € being ‘a major investment), and there still is a 30 day money back guarantee…

    I’ll keep you posted!

  • Mats Olsson

    Member
    December 4, 2024 at 6:31 pm

    This free 3 day trial is so limited…

    Why did not try my referral offer $25?

    • Uwe Smidt

      Member
      December 5, 2024 at 10:10 am

      I did – so I do have a credit of 25 € – but still they wanted to see cash.

      I’ve paid the 10 € in the meantime, now all is working fine – I just need my time to get into handling a Linux server 😱!

      I’m a bit surprised that Webmin does not offewr support/a GUI for Nginx – just for Apache.

      Can you recommend a GUI for NGINX? I’m not so much the CLI gui …

      Regards

      Uwe

  • Uwe Smidt

    Member
    December 5, 2024 at 11:28 am

    This is where I’m currently stuck – getting the Omnis headless server to run:

    Any ideas where I can get better log info on what is the reason for systemctl not being able to start homnis?

    Dec 05 12:18:22 debian-1cpu-1gb-de-fra1 systemd[1]: Configuration file /etc/systemd/system/homnis.service is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway.

    Dec 05 12:14:27 debian-1cpu-1gb-de-fra1 systemd[1]: homnis.service: Failed with result ‘exit-code’.

    Dec 05 12:14:27 debian-1cpu-1gb-de-fra1 systemd[1]: homnis.service: Main process exited, code=exited, status=229/SELINUX_CONTEXT

    Dec 05 12:14:27 debian-1cpu-1gb-de-fra1 systemd[1]: Started homnis.service – Omnis Headless App Server Service.

    • Uwe Smidt

      Member
      December 6, 2024 at 4:14 pm

      I still don’t know where – these kind of – errors are logged, but at least I know the error itself – it was an educated guess that my serial was not accepted (I’ve got 11.0 licensed, but downloaded the current installer of Omnis Headless Server – which is 11.1). homnis is now up & running!

  • Uwe Smidt

    Member
    December 7, 2024 at 10:17 am

    Stuck again!

    Please advise if the Web Server for Omnis Headless Server can also be Nginx, or more precisely if Nginx will accept the mod_omnis.so as a module?

    I want to use Nginx as a Proxy for various URL, so I’d prefer to also use it the web server instead of Apache.

    Any clues are very welcome!

  • Uwe Smidt

    Member
    December 8, 2024 at 10:05 am

    Finally – after ‘only’ 10 days, I’m up and running !
    What really helped me were…

    – RTFM:

    – Mats

    • he hinted me at upcloud.com. They have an affordable, transparent yet powerful and scalable cloud platform for virtual servers & much more
    • Mats’ step-by-step tutorial to set up a server and site at upcloud.com
    • and his support in all the nitty gritty little problems arising along the way!

    Thank you, Mats!

    My last hick-up was trying to use the omnis_module with Nginx – but it works for Apache only.

    Now my server is Apache only, no Nginx. And so far, I don’t seem to need Nginx’s reverse proxy, since Apache has the concept of virtual servers, which does the same for me: having multiple sites on one web server, being addressed either by different IPs or by different domains.

Log in to reply.