Skip to content

Comment on Open Application Model – An open standard for defining cloud native apps

Comments

An abstraction (OAM)

On the top of an abstraction (K8s Custom Object specification)

On the top of an abstraction (Kubernetes, et.al.)

On top of another abstraction (Containers)

On top of another abstraction (VMs)

I wonder if the Dyke-sealing-boy is available for the inevitable leaks?

On a slightly more serious note, even though I participated in OAM early in the process, I've never really seen the value in the abstraction it provides, especially since it's using the Kubernetes Custom Object Model to run on Kubernetes (first, not only, I know).

Computer science is all about abstractions. You can keep on going down with your examples: VMs are an abstraction on top of an operating system, which is an abstraction on top of virtual memory, on top of a physical machine...

Just like Python is an abstraction on top of C, which is an abstraction on top of assembly language, which is an abstraction of a CPU and memory, etc.

There’s reasons for all of the abstractions.

Imagine a developer:

On top of another abstraction (VMs)

Who does not need to badly handle infrastructure

On top of another abstraction (Containers)

Who does not need to badly handle isolation

On the top of an abstraction (Kubernetes, et.al.)

Who does not need to badly handle scalability

On the top of an abstraction (K8s Custom Object specification)

Who does not need to badly handle deployment

An abstraction (OAM)

Who just wants to ship their code

Who just wants to ship their code

That exists, its called a PaaS. Kubernetes was not meant to be a PaaS.

I'm starting to think people create these orgs to forward their own career, products, or companies.

its called a PaaS

You mean like Heroku?

Kubernetes allows your ops and developers to collaborate and scale and avoid vendor lock-in.

How does a PaaS (like Heroku?) allows that?

K8s is one of many options to collaborate and scale applications and for many organizations it is not the best option. It also comes with lots of vendor lock-in if you're using a service like GKE, EKS, or AKE, or integrate with any of their loadbalancer or storage solutions!

Oracle and Alibaba building a large abstraction on top of kubernetes, to do something kubernetes was not designed to do (though capable of doing), is not the direction I personally believe distributed systems development should standardize around.

There are tons of self-hosted PaaS options that are not built on top of massive abstractions and provide better functionality to their users. Since you mentioned Heroku i'll mention https://github.com/dokku/dokku.

Actually, almost every big company built massive abstractions on top of Kubernetes and it is what Kubernetes is designed to do (and good at).

That's why if you had a chance to look at Dokku and any other "better" self-hosted PaaS offerings, they are dead. Ppl today choose to use Kubernetes to build abstractions atop and OAM is a battle tested option to achieve this with better clarity and interpretability. Many companies are shifting away from Cloud Foundry and OpenShift to this approach.

Yes K8s is one of many options, but one that can translate to many situations. I'd still choose it over anything else when I need more than a `docker run` on a server.

Thanks for the link btw.

No worries and maybe I am being harsh here but this whole thing seems like a couple big providers trying to push their own idioms on the DevOps industry, an industry which is already saturated on dishonest marketing kool-aid.

"Our solution is way better then all those pre-existing solutions!".

No. No it isn't. Stop acting like you're helping me when you're really selling me something.

Hi there. I think every open source project is trying to push "their own idioms" to the community. But good open source projects provide good technology directions and generic abstractions to reuse, not dishonest marketing. I suspect that marketing would not work if the project is not good -- people are really smart when choosing projects.

There's no such industry named "build app-centric platforms".

The shoveling of "Cloud Native" is in part a bid to sell cloud services at AWS, Azure, GCP, Oracle, Alibaba, etc. Just because the engineers on the ground doing the work conveniently ignore this point doesn't mean that the executives who ultimately green light and fund these projects aren't considering it the #1 priority.

More and more applications will be built on cloud with or without "cloud-native", we can't stop this trend or arguing technologies that intend to make this process smoother/easier.

And yes I agree those cloud providers will make more money with this trend.

Kubernetes + OAM = PaaS the better way

Complaining OAM should not be implemented on K8s doesn't make sense to me.

Kubernetes is NOT a PaaS, it's by design for you to create abstractions atop and serve your own purposes. And OAM is a great option if you want to build things like app PaaS or app delivery systems with k8s.

It seems you either have mis-understanding on OAM or Kubernetes, based on you are involved in OAM, it's likely the later case.

Abstraction is what powers IT, what allows it to scale as immensely as it did. It hides the irrelevant details, handles it for you.

Abstraction is not always expensive, except at wrapping your head around it. (Though in the case of Kubernetes, the runtime and operations cost may be noticeable.)

Reminds me of SICP.

If we all use LISP the whole tech stack would be much simpler :)

Agree. I must thank OSI layers model, so I don't need to program against TCP packets ...

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.