
Resources for cloud independent architecture design? - carnitas
Hi there!
I&#x27;ve been tasked with lifting some existing architecture and build systems to the cloud. I want to go with Kubernetes or some solution that allows for little to no cloud vendor lock in, allowing system to be run on prem as well.<p>Can anybody recommend a book or other resources that deals with these requirements? I&#x27;ve read &quot;Designing Data Intensive Applications&quot; and find it wonderful. I wonder if there&#x27;s something similar for architecture &#x2F; kubernetes.<p>Thanks for your suggestion!
======
QuinnyPig
These requirements basically entail that you're able to achieve feature parity
with an on-premises datacenter; thus, you're treating various cloud providers
as vendors for VMs, storage, and network. "Treating the cloud like it's a
datacenter" isn't exactly a best practice from a pure architectural
perspective.

That said, there may well be business constraints forcing the decision, and
that's fine--I'm not trying to pass judgement any! My point is simply that by
building something that can be deployed to any and all environments you're
reducing the list of what can be used down to a very small set of primitives.

~~~
JackRabbitSlim
Not "Best Practice" according to whom? Cloud vendors selling lock-in services?
From an architectural perspective how is a bare VM at a remote data center
_worse_ than indeterminate/unknown intermedate layers of a proper "cloud"
provider that is still in the same remote data center with the same hops and
latency?

That "very small set of primitives" is enough to build the cloud vendors
themselves so how exactly is that a limiting factor?

If I seem overtly hostile I don't mean it that way. I am just genuinely
curious for an extended explanation. In it's current form it sounds down right
marketing tautology to my ears.

~~~
QuinnyPig
For a lot of workloads, higher level services offer more bang for buck along
the axes that matter. For a small real world example, I could run Wordpress
myself on a VM for a fraction of what I pay WPengine, but it's way better for
everyone if I pay WPengine instead and get on with doing the things that move
the needle on my business.

Scaled up, you can consider the equivalent to be using managed database
offerings, message queues, load balancers, etc. There's more value to me in
spending time on the differentiated things that drive the value I provide to
my customers than me implementing a crappy shadow of DynamoDB or BigQuery
myself.

------
Jugurtha
You may be interested in " _Zero to JupyterHub with Kubernetes_ "[0]. Here's
an excerpt of the description:

""" _This project will help you set up your own JupyterHub on a cloud and
leverage the clouds scalable nature to support large groups of users. Thanks
to Kubernetes, we are not tied to a specific cloud provider._ """

[0]: [https://zero-to-jupyterhub.readthedocs.io/en/latest/](https://zero-to-
jupyterhub.readthedocs.io/en/latest/)

------
aprdm
What is your product? You can achieve cloud independency with an RPM and an
ssh connection... then you can eventually move to installing the RPM in a
docker image you build if you want to deploy in a more immutable way.

If you are going to use Kubernetes I hope it gives you a lot more than the
former.

hint: it usually doesn't if you don't have multiple teams.

------
Spooky23
What’s the objective?

There are good reasons to do this, but it’s unlikely to save money. End of the
day, you’re going to be committed (“locked in”) to something, whether that be
a cloud provider, software company or budget for staff.

~~~
carnitas
The objective is for our company to say “we are cloud enabled / cloud based”.
We also need to install this software on prem at clients. Therefore I think
kubernetes is a good neutral solution.

~~~
Spooky23
Makes sense.

Chick-fil-a got some press a couple of years ago about landing k8s clusters at
their restaurants where the installers and staff are totally hands off. May be
similar to your use case or may inspire some googling.

IIRC, Intel was funding some efforts around this type of solution, but with an
IoT focus. Not sure if that is still a thing.

I was working on a project that was looking at doing this and was really
excited about it, but we went a different direction.

------
quintes
Do you need k8s?

Have you thought of PAaS and managed databases? Just thinking. Of course if
you’re all good to go on kubernetes go on then!

~~~
carnitas
Well the reason I’m thinking kubernetes is that it can be hosted on prem for
the client as well.

~~~
carnitas
Basically I would like to keep close to the same environment on prem and in
the cloud

