research
constructs
research | constructs | |
---|---|---|
3 | 4 | |
17 | 387 | |
- | 1.6% | |
7.3 | 9.4 | |
3 months ago | 6 days ago | |
CWeb | TypeScript | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
research
-
Cloud, Why So Difficult?
In this insightful article, Elad Ben-Israel, the mind behind the CDK, shares his love for the cloud, but also his frustrations with the complexity of building cloud applications. The challenges he identifies include:1. Focus on non-functional mechanics: The need to understand and manage cloud platform mechanics instead of focusing on building valuable features for users.2. Lack of independence: Developers often need to rely on others to handle parts of the deployment process or to resolve issues, interrupting their work flow.3. Delayed feedback: The current iteration cycle in cloud development can take minutes or even longer, significantly slowing down the development process and making it harder for developers to stay in their flow state.## It's not just a rantElad is not just ranting about cloud development. He proposes a solution in the form of a programming language for the cloud. This language would treat the entire cloud as its computer. The language compiler will be able to see the complete cloud application, unbound by the limits of individual machines. Such a compiler would be able to handle a significant portion of the application's non-functional aspects, enabling developers to operate at a more abstract level, thus reducing complexity and promoting autonomy. Moreover, it could expedite iteration cycles by allowing to compile applications to quick local simulators during the development process. ## The Winglang ProjectElad reveals that he's in the process of developing such an open-source, “cloud-oriented” language, dubbed Winglang. Wing aims to improve the developer experience of cloud applications by enabling developers to build distributed systems that leverage cloud services as first-class citizens. This is achieved by integrating infrastructure and application code in a secure, unified programming model. Wing programs can be executed locally via a fully-functional simulator or deployed to any cloud provider.## My Interest in WinglangI, together with a group of dedicated contributors, joined forces with Elad to develop Winglang.While still in Alpha and not yet ready for production use, it's already possible to build some real applications.Check out https://github.com/winglang/wing for more details.
-
A Manifesto for Cloud-Oriented Programming from the creator of the CDK
## My Interest in Winglang I, together with a group of dedicated contributors, joined forces with Elad to develop Winglang. While still in Alpha and not yet ready for production use, it's already possible to build some [real applications](https://github.com/winglang/research/tree/main/dogfooding).
-
Cloud, why so difficult? 🤷♀️
We have been working on Wing for almost a year now, and I am excited to invite you to check it out and let me know what you think. While still in Alpha and not yet ready for production use, it's already possible to build some real applications with it.
constructs
-
Cloud, why so difficult? 🤷♀️
To "meet developers where they are" is a beautiful tenet of AWS, and of the CDK, and inspired us to create awesome technology such as JSII and constructs.
-
Projecting templating with CDK
I agree with constructs, I recommend using both (article mentions). Create your template, you might have various CDK constructs (community, AWS, personal), the template will produce a full project how you / your org want it. This might include your github actions for linting, cdk synth, testing, deployment etc. Application source (Lambda, API, container etc). Anyone in your team or external should be able to take that template and produce a project that is the same.
-
Dagger: a new way to build CI/CD pipelines
Have you heard of or explored https://github.com/aws/constructs (related: https://github.com/aws/jsii and https://github.com/aws/aws-cdk)?
This is what CDK uses for declarative modeling, but gives the opportunity to use languages/tooling that most devs are already familiar with. CDK8s already uses it as a replacement for yaml (technically, the yaml becomes an implementation detail rather than actually replaced)
-
Projen: The Next CDK Suprise!
All CDKs are based on Amazon's Constructs, (which also uses projen). They come with a CLI and Development Kit (API). In short, you set up an Object in code and then synthesize the representation to disk. This opens up the full power of programming languages. If you are sick of the issues with terraform, CloudFormation Templates, troposphere, Azure Blue Prints, or the like then this is for you.
What are some alternatives?
wing - A programming language for the cloud ☁️ A unified programming model, combining infrastructure and runtime code into one language ⚡
dagger - Application Delivery as Code that Runs Anywhere
jsii - jsii allows code in any language to naturally interact with JavaScript classes. It is the technology that enables the AWS Cloud Development Kit to deliver polyglot libraries from a single codebase!
earthly - Super simple build framework with fast, repeatable builds and an instantly familiar syntax – like Dockerfile and Makefile had a baby.
aws-cdk - The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code
projen - Rapidly build modern applications with advanced configuration management
nballerina - Ballerina compiler that generates native executables.
dark - Darklang main repo, including language, backend, and infra
awesome-projen - P6M7G8's Awesome Projen
notation - A CLI tool to sign and verify artifacts
yplatform - Self-service bootstrap/build/CI/CD. Software and configuration that supports various cycles of software development.