A programming language for the cloud

Wing combines infrastructure and runtime code in one language, enabling developers to stay in their creative flow, and to deliver better software, faster and more securely.

Thank you! Your submission has been received!
Oops!
Something went wrong while submitting the form.

Infrastructure and code in one language


A unified programming model that combines both infrastructure and application code into a single programming language.

  • Compiles to IaC (TF, CDK, etc.) & Javascript
  • Infrastructure resources are first-class citizens
  • Automatic IAM policies and other cloud mechanics
Learn more

Local simulation


Stay in your creative flow with minimal context switching and immediate feedback

  • Run your cloud application in your local environment
  • Visualize, interact, and debug locally
  • Write unit test for complete cloud architectures
Learn more

Apply DevOps at the right level


Use any cloud service and compile to multiple cloud providers and provisioning engines, with full control over how your infrastructure is configured and deployed

  • Cloud-agnostic SDK for maximum portability
  • Customizable infrastructure through plugins
  • Supports any provider in the Terraform ecosystem
AWS, GCP, Azure, Terraform,
CloudFormation, Pulumi, Kubrnetes
AWS, GCP, Azure, Terraform, CloudFormation, Pulumi, Kubrnetes
Learn more

Designed for humans


Easy to learn and interoperates with existing stacks and tools

  • Syntax inspired by modern application development languages like TypeScript, JavaScript, Swift, and more
  • Statically-typed and simple language with powerful IDE tooling
  • Interoperates with npm modules, CDK constructs and Terraform providers
Because of compilation
to Terraform and javascript
Because of compilation to Terraform and javascript

New language for a new programming model

Build cloud applications with cloud primitives and test locally on your machine. Harness the power of the entire cloud ecosystem and reduce the time it takes to test cloud applications from minutes to seconds.

Serverless workloads

Develop distributed serverless applications in the cloud.

bring cloud;

// define an API
let api = new cloud.Api();
// define storage
let store = new cloud.Bucket();

// create routes for the API
api.get("/employees", inflight (req) => {
  let result = MutJson [];
  let var i = 0;
  for employee in store.list() {
    result.setAt(i, employee);
    i = i + 1;
  }
  return cloud.ApiResponse {
    status: 200,
    body: Json.stringify(result)
  };
});

Extensible

Define your own standards, best practices and abstractions.

bring cloud;

// define interfaces
interface IKVStore extends std.IResource {
  inflight get(key: str): Json;
  inflight set(key: str, value: Json): void;
}

// create custom resources/lib
class BucketBasedKeyValueStore impl IKVStore {
  bucket: cloud.Bucket;
  new() {
    this.bucket = new cloud.Bucket();
  }
  pub inflight get(key: str): Json {
    return this.bucket.getJson(key);
  }
  pub inflight set(key: str, value: Json): void {
    this.bucket.putJson(key, value);
  }
}

Built by developers,
for developers

Check out our community

Frequently asked questions

See all FAQ on GitHub

Finally, a language that can speak cloud

Ready to get started?