zlacker

[parent] [thread] 11 comments
1. zmmmmm+(OP)[view] [source] 2023-07-23 23:42:49
Struggling to figure out what "cloud native" actually means. Unfortunately their own web site doesn't say and the CNCF web site they link to leaves me none the wiser.

At a guess they are talking about applications being built from the ground up to dynamically allocate resources using cloud providers APIs directly rather than relying on an assumption fixed resources are already provisioned and the application runs within them.

I wonder if I'm right ...

replies(6): >>jerryg+77 >>re-thc+Ij >>lyu072+UG >>pjmlp+kM >>otabde+Af1 >>mprime+g62
2. jerryg+77[view] [source] 2023-07-24 00:48:25
>>zmmmmm+(OP)
There are a bunch of OSS that solve problems when running distributed scale out workloads in "the cloud". For example prometheus is a metric db for storing monitoring data.

Ceph is a storage backend. Most of them tend to be built for or work well with kubernetes.

3. re-thc+Ij[view] [source] 2023-07-24 02:30:51
>>zmmmmm+(OP)
> Struggling to figure out what "cloud native" actually means.

- very fast startup

- low memory

- can be easily distributed or is stateless

replies(1): >>xuanca+bs
◧◩
4. xuanca+bs[view] [source] [discussion] 2023-07-24 03:57:50
>>re-thc+Ij
That is not what cloud native means. It is an overloaded term, but the basic idea is that the application is designed to operate in the cloud environment, utilizing cloud's capabilities such as elastic and automated infrastructure management.
replies(1): >>re-thc+Tu
◧◩◪
5. re-thc+Tu[view] [source] [discussion] 2023-07-24 04:35:06
>>xuanca+bs
> That is not what cloud native means. > utilizing cloud's capabilities such as elastic and automated infrastructure management.

Contradictory perhaps? So it's not what it means but it is what it means?

In order to achieve what you've said in vague terms you definitely do need to try to be stateless, have fast startup and reduce memory. Clear examples are things like lambda and fargate.

How can you be elastic if you have an application server that takes 10 minutes to start?

replies(2): >>KRAKRI+fK >>xuanca+PY5
6. lyu072+UG[view] [source] 2023-07-24 06:47:23
>>zmmmmm+(OP)
> applications being built from the ground up to dynamically allocate resources using cloud providers APIs directly

If that indeed is what cloud native means, it sounds interesting. But the problem is that all these APIs and especially "managed" services are super proprietary and you'll vendor lock yourself pretty hard. But I suppose that ship has sailed a long time ago.

replies(1): >>mprime+NG1
◧◩◪◨
7. KRAKRI+fK[view] [source] [discussion] 2023-07-24 07:14:57
>>re-thc+Tu
It also means having instrumentation and observability as first class features. First party support for containerisation, the app needs to be robust and capable of handling shutdowns and multiple instances gracefully. In a cloud environment, when hardware fails or instances get resized, multiple containers may get spun up and everything is kept in sync through the database (or an external data store).

Authentication and integration with auth and secret providers are another distinguishing feature. I personally find "cloud native" software to be a pain to use locally because they usually come in the form of a docker-compose and kubernetes setup, and those absolutely gobble up ram and disk space.

8. pjmlp+kM[view] [source] 2023-07-24 07:33:04
>>zmmmmm+(OP)
Cloud native usually means targeting the "Cloud OSes", while being agnostic from the underlying OS, or legacy stuff like POSIX.

Or to put it more clear, applications written in modern language runtimes, packaged in containers that can be run on top of whatever orchestration is available, and using provider APIs and resources.

9. otabde+Af1[view] [source] 2023-07-24 11:19:18
>>zmmmmm+(OP)
> Struggling to figure out what "cloud native" actually means.

Same as "web scale" and "big data".

◧◩
10. mprime+NG1[view] [source] [discussion] 2023-07-24 13:32:30
>>lyu072+UG
NATS is 100% open source
11. mprime+g62[view] [source] 2023-07-24 15:12:22
>>zmmmmm+(OP)
The non-cynical, snark-free definition would be “built from the ground up to be used and deployed in various kinds of cloud based environments”.

Whether that’s just marketing BS or real depends on the project. Wether it fits your particular kind of cloud environment is also a different story.

In the specific case of NATS I love how I can start with a single server on localhost, then maybe upgrade to a single fly.io instance, then later move to a larger AWS, instance, then later add some fault-tolerance by turning a single server into a cluster, then later have multiple clusters in various AZs around the world, hosted on different cloud providers.

NATS makes all of these changes (and a lot more) a breeze. Any component or application using pub/sub, KeyVal, durable streams, request/response will just keep working without a single any changes.

Disclaimer: I love NATS, it’s the most promising piece of infrastructure technology I have seen in a long time.

◧◩◪◨
12. xuanca+PY5[view] [source] [discussion] 2023-07-25 15:55:00
>>re-thc+Tu
I'm pretty sure that Aurora DB can be called a "Cloud-native application" but its startup time is not fast and memory footprint is not small.
[go to top]