Wappler 4 RFC: Servers/Services Manager

Currently managing docker cloud servers (docker machine) and services, is done per target in a popup. It is kind of hidden and a bit cumbersome to use.

We are thinking of creating a whole new panel - Servers/Services Manager - to allows you to manage all your like servers and their services in one place.

On this panel - on the left site, you will be able to create new live servers - project independent, and add docker services to them. Like adding a database server, mail server, some CMS - all docker based. Those servers will be cloud servers based on Docker Machine as it is now in the targets settings.

Then you can also use those server to directly pick from in your project targets indeed, as docker machines as you do now.

This will allow you to manage your live servers much better in one overview, install additional docker services to them, monitoring tools etc.

The current plan was to keep on using Docker Machine to bring easy docker cloud services (VPS) online and install docker on them, as we already have this established. However Docker Machine is currently feature feezed and won’t be development any longer. Also as some of you might have discovered it is hard to keep a backup of al your docker machines.

There are new developments on the services deploy area and offer more flexible solutions like Terraform . Many of the cloud hosting providers already have extensive support for it.

However Terraform is way more broader and has much more functionality in it - as it is not only for docker servers but way much more. That makes it also a bit more complex to use.

So which direction do you think we should take? Maybe we should focus more on PaaS - like Heroku, Digital Ocean Apps and Netlify - where you deploy your app instead of servers.

We are just gathering feedback - no promise this will make it in the final Wappler 4 - but we receive positive feedback we will try to add it soon.

  • Terraform is the way to go
  • Stick with Docker Machine for now
  • Focus more on PaaS instead of own servers
  • Offer both Terraform and PaaS
  • I don’t use cloud servers

0 voters

I’ve voted for Terraform and PaaS but I understand this would be a huge project.

I would suggest marketing the PaaS route for beginners and people that don’t want to manage infrastructure and work on terraform for more advanced users.

For terraform just set the foundations at first and don’t worry so much about the UI and automating everything as this is not for beginners. Even if that means that we have to set the topology of the infra by manually configuring the terraform files.

That way the PaaS gets the needed attention for beginners and Terraform foundations work and allow more flexibility for the users. Even if that comes at the expense of the Nocode part at the beginning.

On the other hand, getporter guys are doing great progress with k8s and terraform and they are Open Source and self hosted(optional) so maybe you just need to:

  • Handle the installation and setup of Porter dashboard. Optional for the user as they offer their dashboard on cloud(free tier and premium for enterprise needs).
  • Generate helm charts for Wappler apps
  • Integrate with their CLI

Exactly that is our plan.

The beauty of Terraform is that it is all code based with plugins. Infrastructure as Code (IaC) as it is called.

You commit the terraform code with your project and it is always nicely stored with the rest of the code under version control.

Because of its plugins and config code architecture, the UI will be pretty easy and Server Connect /App Connect panels alike. And easily extendable.

But that is all indeed longer term planning.

3 Likes

Or maybe Infrastructure as Code (IaC)?
But what abut Pulumi, have heard only good things about this technology. George, this blog post is worth reading, you might even get in contact with the author as he is also based in The Netherlands for more questions who has been recruited by Pulumi a year ago and is polyglot (F#, C#, JS/TS) From YAML to TypeScript: Developer's View on Cloud Automation | Mikhail Shilkov

Yes exactly that is what I meant- will update the original post