Interesting vibes running through this. I have to say, it’s a lot more eerie than the sequel.
- 1 Post
- 48 Comments
Yes, I think yaml’s biggest strength is also its built-in flaw: its flexibility. Yaml as a data structure is built to be so open-ended that it can be no surprise when every component written in Go and using Yaml as a data structure builds their spec in a slightly different way, even when performing the exact same functions.
That’s why I yearned for something like CUE and was elated to discover it. CUE provides the control that yaml by its very nature cannot enforce. I can create CUE that defines the yaml structure in general so anything my system builds is valid yaml. And I can create a constraint which builds off of that and defines the structure of a valid kubernetes manifest. Then, when I go to define the CUE that builds up a KubeVela app I can base its constraints on those k8s constraints and add only KubeVela-specific rules.
Then I have modules of other components that could be defined as KubeVela Applications on the cluster but I define their constraints agnostically and merge the constraint sets together to create the final yaml in proper KubeVela Application format. And if the component needs to talk to another component, I standardize the syntax of the shared function and then link that function up to whatever tool is currently in use for that purpose.
I think it’s a good point that overgeneralization can and does occur and my “one size fits all” approach might not actually fit all. But I’m hoping that if I finish this tool and shop it to a place that thinks it’s overkill, I can just have them tell me which parts they want generalized and define a function to export a subset of my CUE for their needs. And in that scenario, I would flip and become a big proponent of “Just General Enough”. Because then, they can have the streamlined fit-for-purpose system they desire and I can have the satisfaction of not having to do the same work over and over again.
But the my fear about going down that road is that it might be less of an export of a subset of code and more of building yet another system that can MAD-style generate my whole CUE system for whatever level of generalization I want. As you say, it just becomes another abstraction layer. Can’t say I’m quite ready to go that far 😅
Thanks for the info. When I searched MASD, it told me instead about MAD, so it’s good to know how they’re differentiated.
This whole idea comes from working in a shop where most of their DevSecOps practices were fantastic, but we were maintaining fleets of Helm charts (picture the same Helm override sent to lots of different places with slightly different configuration). The unique values for each deployment were buried “somewhere” in all of these very lengthy values.yaml override files. Basically had to did into thousands of lines of code whenever you didn’t know off-hand how a deployment was configured.
I think when you’re in the thick of a job, people tend to just do what gets the job done, even if it means you’re going to have to do it again in two weeks. We want to automate, but it becomes a battle between custom-fitting and generalization. With the tradeoff being that generalization takes a lot of time and effort to do correctly.
So, I think plenty of places are “kind of” at this level where they might use CUE to generalize but tend to modify the CUE for each use case individually. But many DevOps teams I suspect aren’t even using CUE, they’re still modifying raw yaml. I think of yaml like plumbing. It’s very important, but best not exposed for manual modification unless necessary. Mostly I just see CUE used to construct and deliver Helm/kubernetes on the cluster, in tools like KubeVela and Radius. This is great for overriding complex Helm manifests with a simple Application .yaml, but the missing niche I’m trying to fill is a tool that provides the connections between different tools and constrains the overall structure of a DevSecOps stack.
I’d imagine any company with a team who has solved this problem is keeping it proprietary since it represents a pretty big advantage at the moment. But I think it’s just as likely that a project like this requires such a heavy lift before seeing any gain that most businesses simply aren’t focusing on it.
I’ve never heard of this before, but you’re right that it sounds very much like what I’m doing. Thank you! Definitely going to research this topic thoroughly now to make sure I’m not reinventing the wheel.
Based on the sections in that link, I wondered if the MASD project was more geared toward the software dev side or devops. I asked Google and got this AI response:
“MAD” (Modern Application Development) services, often used in the context of software development, encompass a broader approach that includes DevOps principles and tools, focusing on rapid innovation and cloud-native architectures, rather than solely on systems development.
So (if accurate), it sounds like all the modernized automation of CI/CD, IaC, and GitOps that I know and love are already engaging in MAD philosophy. And what I’m doing is really just providing the last puzzle piece to fully automate stack architecting. I’m guessing the reason it doesn’t already exist is because a lot of the open source tools I’m relying on to do the heavy lifting inside kubernetes are themselves relatively new. So, hopefully this all means I’m not wasting my time lol
Yeah, I’ve been using it heavily. While someone without technical knowledge will surely allow AI to build a highly insecure app, people with more technological knowledge are going to propel things to a level where the less tech savvy will have fewer and fewer pitfalls to fall into.
For the past two months, I’ve been leveraging AI to build a CUE system that takes a user desire (e.g. “i want to deploy a system with an app that uses a database and a message queue” expressed as a short json) and converts a simple configuration file that unpacks into all the kubernetes manifests required to deploy the system they want to deploy.
I’m trying to be fully shift-left about it. So, even if the user’s configuration is as simple as my example, it should still use CUE templating to construct the files needed for a full DevSecOps stack - Ingress Controller, KEDA, some kind of logging such as ELK stack, vulnerability scanners, policy agents, etc. The idea is the every stack should at all times be created in a secure state. And extra CUE transformations ensure that you can split the deployment destinations in any type of way, local/onprem, any cloud provider, or any combination thereof.
The idea is that if I need to swap out a component, I just change one override in the config and the incoming component already knows how to connect to everything and do what the previous component was doing because I’ve already abstracted the component’s expected manifest fields using CUE. So, I’d be able to do something like changing my deployment from one cloud to another with a click of a button. Or build up a whole new fully secure stack for a custom purpose within a few minutes.
The idea is I could use this system to launch my own social media app, since I’ve been planning the ideal UX for many years. But whether or not that pans out, I can take my CUE system and put a web interface over it to turn it into a mostly automated PaaS. I figure I could undercut most PaaS companies and charge just a few percentage points above cost (using OpenCost to track the expenses). If we get to the point where we have a ton of novices creating apps with AI, I might be in a lucrative position if I have a PaaS that can quickly scale and provide automated secure back ends.
Of course, I intend on open sourcing the CUE once it’s developed enough to get things off the ground. I’d really love to make money from my creative ideas on a socialized media app that I create, am less excited about gatekeeping this kind of advancement.
Interested to know if anyone has done this type of project in the past. Definitely wouldn’t have been able to move at nearly this speed without AI.
Uli@sopuli.xyzto Space@beehaw.org•SpaceX Has Finally Figured Out Why Starship Exploded, And The Reason Is Utterly Embarrassing4·2 months agoOh my god, how embarrassing.
Uli@sopuli.xyzto Memes@lemmy.ml•All communities in one single community, but without putting them into one single community6·3 months agoI think each title/post of the same content should be treated as its own top-level object in the comments section, so collapsing everything at the top level would show you all the posts and reposts from various communities.
On client side, you should be able to merge all the posts, to sort all top level comments together. But if you go to make a top level comment, you’ll need to be replying to a specific post from a specific community (selectable, but defaults to the title you were shown from outside the post).
From outside the post, I think it would be cool to be able to browse the various posts of the same content from different communities, seeing their titles, the name of the community/instance, the number of comments.
Just my initial thoughts. Mainly, I just think it’s cool that we’re talking about this issue at all because once we solve this kind of problem in all its forms and iterations, we could see some really cool decentralized communities start to coalesce. IMO, the next big step after this would be building systems a user could use to find instances and communities they’re not yet aware of.
Uli@sopuli.xyzto Asklemmy@lemmy.ml•What was the second best thing that happened to you in 2024?3·5 months agoI’m glad you’ve broken that dating barrier as well! It certainly is difficult to invite people in when life is cluttered, and I can imagine the added complication of the clutter not being your own made things especially tricky. I’m personally on the opposite end of the cannabis spectrum at the moment - I used it for many years, mainly to break down my emotions and get at the root causes of my anxieties. I’m at the point now where I’ve done a lot of self improvement, but the cannabis has become more of a hindrance. I was dependent on it and definitely seeing some side effects from long term usage. I think it did serve a purpose, but it’s become time for me to stop using it as a crutch. Just a minor heads up to use with moderation if possible. I’m happy you’ve found someone though, and that your life is heading in a good direction. Wishing you all kinds of success in your relationship and life!
Uli@sopuli.xyzto Asklemmy@lemmy.ml•What was the second best thing that happened to you in 2024?42·5 months agoWell, the best thing that happened to me was meeting my girlfriend. Just happened a month ago, but we already feel like we’re going to spend the rest of our lives together and this is after me not dating at all for almost fifteen years.
So, the second best thing has to be several months ago when my family caught on to the fact that I was depressed and overwhelmed with clutter from stuff I was hoarding because I felt too guilty about throwing things away. They helped me sort through it all so it wasn’t so overwhelming. My living space is nice and tidy now and that’s what allowed me the confidence to go meet a partner who is perfect for me in almost every way.
Get out. No, don’t get your coat. Just go.
Yeah, it’s specifically the not talking to a kid version that bothers me.
I pick up a subtext of self-importance and I think that’s what I find irksome. A mom is a parent. A momma is a special parent who will do anything for their baby, you’d better watch out. A kid is a child. A kiddo is a specific child who has a close bond with their momma or teacher that you wouldn’t understand. That’s the vibe I get.
Similarly, not a fan of when teachers and parents talk about their “kiddos.”
Feels like they’re needlessly using a more playful childish term to make themselves part of a separate “in group” who “gets it.”
Uli@sopuli.xyzto Privacy@lemmy.ml•Why does my calculator need a privacy policy? It's a calculator!51·9 months agoIt’s got your number.
Makes sense. Thanks for the info!
I finally got fed up with my Windows machine and upon seeing symptoms of motherboard failure, I’ve ordered all the parts for a new rig and intend on installing Linux as my primary OS.
Haven’t decided on a distro yet. I’m a DevOps engineer with a few passion projects, so I plan on setting up a couple of kubernetes clusters where I can play. I do all the usual things (word processing, gaming, web browsing, multimedia, etc), plus some AI stuff (stable diffusion, local LLMs, OpenCV). Ideally don’t want to have to fuss with drivers too much, but I don’t mind getting my hands dirty every now and then.
Is Chimera the kind of distro I should be looking at, or should I pick something else for my first go at full-time Linux?
Uli@sopuli.xyzto Asklemmy@lemmy.ml•What scientific discovery, which could actually happen in the next 5 years, would have the most impact in our lives in you opinion?353·10 months agoRespectfully, I disagree. We’ve entered an AI boom, and right now, the star of the show is in a bit of a gangly awkward teenage phase. But already, these large data models are eating up mountains of energy. We’ll certainly make the technology more energy efficient, but we’re also going to rely on it more and more as it gets better. Any efficiency gains will be eaten up by AI models many times more complex and numerous than what we have now.
As climate change warms the globe, we’re all going to be running our air conditioning more, and nowhere will that be more true than the server centers where we centralize AI. To combat climate change, we may figure out ways of stripping carbon from the air and this will require energy too.
Solar is good. It’s meeting much of our need. Wind and hydroelectric fill gaps when solar isn’t enough. We have some battery infrastructure for night time and we’ll get better at that too. But there will come a point where we reach saturation of available land space.
If we can supplement our energy supply with a technology that requires a relatively small footprint (when it comes to powering a Metropolitan area), can theoretically produce a ton of power, requires resources that are plentiful on Earth like deuterium, and doesn’t produce a toxic byproduct, I think we should do everything in our power to make this technology feasible. But I can certainly agree that we should try to get our needs completely met with other renewables in the meantime.
In the same way that the murderer is often first to the crime scene