--- title_tag: "Pulumi Cloud Framework Overview" title: "Cloud Framework" meta_desc: "The Pulumi Cloud Framework lets you program infrastructure and application logic using high-level, cloud-agnostic building blocks.Get started here." aliases: - /docs/quickstart/cloudfx/ - /docs/tutorials/cloudfx --- The Cloud Framework for Pulumi lets you program infrastructure and application logic, side by side, using simple, high-level, cloud-agnostic building blocks. The Cloud Framework must be configured with credentials to deploy and update resources in the target cloud platform. See the [full API documentation](/docs/reference/pkg/nodejs/pulumi/cloud/) for complete details of the available Cloud Framework APIs. For AWS-specific use cases, see also the [awsx](/docs/reference/pkg/nodejs/pulumi/awsx/) library which provides higher-level libraries for working with many AWS services. ## Getting Started The easiest way to start with the Cloud Framework is to follow one of the tutorials: * [A simple serverless REST API](/docs/tutorials/cloudfx/rest-api/): Deploy cloud-agnostic managed REST API * [A simple containerized app](/docs/tutorials/cloudfx/service/): Deploy cloud-agnostic containerized services * [Serverless + Containers + Infrastructure](/docs/tutorials/cloudfx/thumbnailer): Deploy a complete cloud-agnostic application using a combination of buckets, serverless functions and containers. In addition to the tutorials, several interesting examples are available with instructions: * [HTTP API](https://github.com/pulumi/examples/tree/master/cloud-js-api) * [Containers](https://github.com/pulumi/examples/tree/master/cloud-js-containers) * [Thumbnailer (buckets, containers, functions)](https://github.com/pulumi/examples/tree/master/cloud-js-thumbnailer) * [URL Shortener (table, API)](https://github.com/pulumi/examples/tree/master/cloud-ts-url-shortener) * [Voting App (table, API)](https://github.com/pulumi/examples/tree/master/cloud-ts-voting-app) ## Example ```javascript const cloud = require("@pulumi/cloud"); const api = new cloud.API("my-api"); api.get("/hello", (req, res) => { res.json({ message: "Hi, world!" }); }); exports.url = api.publish().url; ``` ## Libraries The following packages are available in package managers: * JavaScript/TypeScript: [https://www.npmjs.com/package/@pulumi/cloud](https://www.npmjs.com/package/@pulumi/cloud) The provider-specific implementations of this library are also available for use directly when writing code that does not need to be portable: * JavaScript/TypeScript: [https://www.npmjs.com/package/@pulumi/cloud-aws](https://www.npmjs.com/package/@pulumi/cloud-aws) The Cloud Framework is open source and available in the [pulumi/pulumi-cloud](https://github.com/pulumi/pulumi-cloud) repo. ## Authentication Authentication options must be set for the target cloud provider. See the [AWS setup page](/registry/packages/aws/installation-configuration/) for details (more providers for the Cloud Framework coming soon). ## Configuration The Cloud Framework accepts the following configuration settings. These can be provided via `pulumi config set cloud: