-1

I desire a cloud technology that will redund my need of using Vagrant to continuously integrate OS release upgrades (say from Ubuntu 18.04 to 20.04 including all software installed by apt-get --- assuming it will be supported in the next release) and will also redund my need of using Ansible for web server upgrades (say from Apache 2.4 to Apache 3.4, including automatic changes to all virtual host files --- if any will be necessary).

Technologies I found so far

1. Minimally controlled cloud: The user is provided with an OS, DNS zone management tool, bypass console and some more possible tools while the user adds the rest by itself (examples: Digital Ocean, Linode and so forth).

2. Maximally controlled cloud: Either the user or the company provides the OS, DNS zone management tool, bypass console and some more possible tools while the user adds the rest by itself (examples: Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP) and so forth).

I understand that using the VA stack (Vagrant-Ansible) could indeed give me just that, but I fear I might be wrong and will be very disappointed and will also lose money - VA stack might require a significantly higher pricing than my 20-30$ (USD) budget.

My question

Is there any cloud hosting technology that will suit my needs without me needing to use Vagrant or Ansible for constantly upgrading the OS and web server?

Maybe the true solution will be to change attitude --- starting to work with Arch Linux where system upgrades including release upgrades are of the "rolling upgrade model", coming in "bits by bits" through time and are usually never "major", and maybe also finding another web server with similar upgrade model?

  • 1
    We run on openshift.com that periodically upgrades without us noticing as it is containers-as-service (CaaS). We choose when we want to upgrade our apps that run in container but the infrastructure that runs our containers is fully managed. It happens to be in AWS but there are dedicated versions available on Azure or GCP. CaaS can run (almost) anything that can run in a container. What we actually run in containers isn’t supposed as it isn’t SaaS. Yet redhat provides security patched runtime for most web frameworks so we periodically refresh php or node.js images we run on openshift. – simbo1905 Dec 2 '18 at 11:05
4

What you are primarily discussing is the hosting model for the underlying cloud you are using, for example, from what you have said so far your hosting model is relying on Infrastructure-as-a-Service (IaaS), and you want to have less responsibility for managing the Operating System.

That being the case you would need to move right in the table below to Platform-as-a-Service (PaaS) or Software-as-a-Service (SaaS) - this would mean you transferred the responsibility for updating the OS and Software to the provider, i.e. Azure, Amazon or Google.

However, you would also lose some control over the stack that was being used and in addition incur higher costs (in general) than managing it yourself.

The Cloud Ecosystem - between On-prem to SaaS

There is a good analogy comparing Cloud Hosting Models to Pizza if you prefer something less theoretical and entirely more fun.

By way of an example, you can use Azure WebApps which is a PaaS service to host your application as long as the application is built using PHP, node.js, Java, .NET or Python (and a few others). You will have little to no control of the web server, operating system, server, storage and networking configuration. You could do similar with Google App Engine and AWS.

You could also re-platform your application to use an even higher order technology such as Serverless (AWS Lambda, Google Cloud Functions, Azure Functions, etc.) or even host your application on Salesforce's Software-as-a-Service engine.

  • Hmm, Azure Webapps seems promising to me - I went to try it but saw they yet to support Drupal in their demo version. I emailed them about this, encouraging them to support it... – JohnDoea Dec 1 '18 at 22:29
  • It’s worth mentioning CaaS containers-as-a-Service such as manage kubernetes or swarm – simbo1905 Dec 2 '18 at 11:32
  • @simbo1905 I’ve rolled CaaS into PaaS for the purposes of this answer, you could also include Functions as a Service and Backend as a Service as columns but at some point it becomes too unwieldy as a concept to articulate. You will also notice that I have collapsed some of the layers of the stack down to keep the diagram usable. – Richard Slater Dec 3 '18 at 8:47
  • CaaS isn’t like as PaaS exactly because with older PasS you have very little choice over the runtime but with CaaS you do control the runtime frameworks and can have more of an understanding of what the exact stack is (eg k8s version). Compare Azure traditional PaaS with Azure’s newer CaaS its a world appart. An answer that conflates PaaS and CaaS is missing a key opportunity to highlight that the world has moved on from the old choices of IaaS and PaaS to have an option that has some of the strengths and some of the weakness of both. Perhaps I should write an answer yet yours is very good. – simbo1905 Dec 3 '18 at 10:32
  • @simbo1905 I do agree with you, I felt this question and the OP would benefit from the abstraction rather than the detail - the full version of the above diagram is here: lucidchart.com/publicSegments/view/… – Richard Slater Dec 3 '18 at 12:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.