Re:Show HN: Klotho – Transform plain code into cloud native ...
by ashiban on Tuesday January 10, 2023 @02:54PM
(#34330551)
Hi everyone, Ala here. I'm the co-founder of Klotho (https://klo.dev). We built a tool that allows you to write cloud applications without the complexities that exist with today's approaches.
Infrastructure-as-Code is the current state of the art, but the level of work needed to implement a cloud system with it is extremely high, to the point where teams and companies staff an entire organization to support the rest of the company in building features.
Klotho solves that by inferring the application architecture from the application source, with a bit of help from simple annotations that developers add. Then, it generates the IaC that the architecture implies.
For example, if you have a Node.js app with an fs/promises object, you can turn that into S3 persistence as simple as:
// @klotho::persist { id="imagestore" }
import fs = require("fs/promises")
Today, we support:
- multiple languages (JavaScript/Typescript on Node.js; Python; Go; more coming soon)
- IDE extensions for syntax highlighting
- AWS Lambda, ECS or EKS
- HTTP endpoints
- persisting data to S3, DynamoDB, Redis, and various ORMs
- secrets
- event-driven workflows
- static asset hosting
- and all of these include the various dependencies and "glue" resources, including network resources and IAM roles/policies
Re:Show HN: Klotho – Transform plain code into cloud native ...
by gg-klotho on Wednesday January 11, 2023 @09:15AM
(#34338685)
You're right, the developer (or operator) will still need to know how to troubleshoot. For this first stage we're focusing on improving development and iteration speed while maintaining status quo on operating & troubleshooting. Later on, we do plan on trying to tackle this problem. It's a hard problem to solve though, I'd be curious if you (or anyone) has any ideas on it - for example, what would a good solution look like?
Infrastructure-as-Code is the current state of the art, but the level of work needed to implement a cloud system with it is extremely high, to the point where teams and companies staff an entire organization to support the rest of the company in building features.
Klotho solves that by inferring the application architecture from the application source, with a bit of help from simple annotations that developers add. Then, it generates the IaC that the architecture implies.
For example, if you have a Node.js app with an fs/promises object, you can turn that into S3 persistence as simple as:
// @klotho::persist { id="imagestore" }
import fs = require("fs/promises")
Today, we support:
- multiple languages (JavaScript/Typescript on Node.js; Python; Go; more coming soon)
- IDE extensions for syntax highlighting
- AWS Lambda, ECS or EKS
- HTTP endpoints
- persisting data to S3, DynamoDB, Redis, and various ORMs
- secrets
- event-driven workflows
- static asset hosting
- and all of these include the various dependencies and "glue" resources, including network resources and IAM roles/policies
We're open source, so check us out on GitHub: https://github.com/klothoplatform/klotho. We're also on Discord (https://discord.gg/4z2jwRvnyM), and here of course.