# Overview Source: https://docs.replit.com/category/replit-deployments Share your Replit Apps with the world in just a few clicks. Publishing lets you share your Replit App with the world using a simplified process. The action of making your app live is called "Publishing." This page describes the different types of deployments available. ## What is Publishing? Publishing is a feature that saves a **snapshot** of your Replit App to the cloud, where everyone can interact with it. A snapshot captures the current state of the files in your Replit App. When you publish your Replit App, you create a **published app**. A published app is a running instance of your app on Replit's cloud infrastructure. This makes the app reliably available on the internet, separate from the version in your workspace. Replit's infrastructure is backed by Google Cloud Platform (GCP). All published apps are hosted in the United States. Enterprise customers can contact sales to request their published apps to be hosted in the European Union instead. Every individual, organization, and enterprise customer receives a dedicated, single-tenant GCP project for their published apps. This means that published apps' compute resources, secrets, and storage are fully isolated and never shared with other customers' apps. Publishing includes tools to monitor your published app status and view web analytics. Replit offers the following deployment types: Automatically adjusts resources based on your app's usage. Provides an affordable way to host websites that don't change based on user input. Provides a consistent amount of computing resources for your app to run continuously. Runs your app at scheduled times that you choose. ## Getting started Follow the steps below to publish your Replit App: 1. From your Replit App workspace, select Publish icon **Publish** at the top. 2. In the **Publishing** tab, select your publishing option. 3. If **Add a payment method** appears, follow the prompts to add a payment method. Replit automatically selects the best publishing option for your app based on the project type and your needs. However, to choose a different deployment type, consider the following information. ## Choosing the right publishing option The following video explains how to choose the right publishing option for your app: Use the following decision tree featured in the video to help you choose: ## Key features Publishing offers the following convenient features: * **Multiple publishing options**: Select or update a deployment type that meets your needs in a few clicks. * **Custom domains**: Serve your app from your web domain. * **Analytics**: Track visitor data and other metrics for your published app. * **Monitoring tools**: View your published app status and configuration. * **Access controls**: Control who can see your app with a single click. Available only for **Teams** members. * **Badge settings**: Core users can manage the "Made with Replit" badge in Publishing settings. If you published an app while on the Starter plan that include the badge, it may take a couple minutes to update your app to remove the badge after you upgrade. * **Feedback collection**: Enable feedback on your published app to gather insights from your users. ## How it works When you publish your Replit App, Replit creates a snapshot of your app's files and dependencies. This snapshot is then sent to Replit's cloud infrastructure, where it runs as a separate instance of your app. To update your published app with the latest changes, publish again to create a fresh snapshot. Avoid saving and relying on data written to a published app's filesystem. To store data, use a storage or database option such as Replit's [Storage and Database](/category/storage-and-databases) offerings. ## Use cases The following examples show different types of published apps. ### Autoscale deployment: Typing speed assessment app Let the cloud scale up resources when users take typing tests and reduce them when not in use. ### Static deployment: Solar system simulation Learn about the planets in a solar system visualization app on the web. This visualization renders in the browser and doesn't transfer any user input to a server. ### Reserved VM deployment: Discord bot Run a Discord bot that helps you moderate and onboard members. It's always online to chat with users and respond to commands with predictable pricing and performance. ### Scheduled deployment: Home automation triggers Schedule API calls to start and stop your smart home devices at specific times and days. ## Next steps To learn more about Replit Publishing, see the following resources: * [Autoscale Deployment](/cloud-services/deployments/autoscale-deployments/): Learn how to set up applications that scale with traffic * [Static Deployment](/cloud-services/deployments/static-deployments/): Discover how to publish static websites quickly and efficiently * [Reserved VM Deployment](/cloud-services/deployments/reserved-vm-deployments/): Explore dedicated VM options for specialized use cases * [Scheduled Deployment](/cloud-services/deployments/scheduled-deployments/): Set up recurring tasks with simple scheduling * [Custom Domains](/cloud-services/deployments/custom-domains/): Connect your published app to a custom domain # Storage and Databases Source: https://docs.replit.com/category/storage-and-databases Learn about file storage and database options on Replit. Using Replit's flexible storage solutions, you can quickly add the perfect data storage your app needs to run. You can use Replit's database or object storage for apps with the following requirements, and Agent can automatically set up and integrate both solutions: * A game that needs to save player information such as progress or high scores * A content platform that manages media files ## What are Replit's storage and database options Replit offers the following data storage options: * **Database**: stores structured data such as user profiles, game scores, and product catalogs. You can store or retrieve data by attributes and relationships between data points. * **App Storage**: stores unstructured data such as images, videos, documents. You can store and retrieve large files and binary data. ### App Storage and database comparison | | Database | App Storage | | --------------------- | :-------------------------------------- | :-------------------------------------- | | **Ideal data format** | Structured data with relationships | Large files (images, videos, documents) | | **Data model** | Tables, rows, columns | Buckets, files | | **Query language** | SQL | REST API | | **Clients** | PostgresSQL-compatible clients and ORMs | Replit SDKs and GCS client libraries | | **Billing model** | Pay for compute time and storage space | Pay for bandwidth and storage space | ### Workspace tools Learn more about the following Replit tools to set up and manage your app's data storage: Ideal for structured data and representing data relationships. Backed by a fully-managed PostgresSQL database that scales with your app. Ideal for unstructured data and large files, such as images, videos, and documents. Backed by Google Cloud Storage (GCS) for high availability and scalability. Agent can automatically set up App Storage with advanced authentication and access controls. ## Getting started The quickest way to get started with Replit's storage solutions is to follow one of the tutorials below: Connect your app to a SQL database Manage App Storage using the Replit Python SDK Manage App Storage using the Replit JavaScript SDK ## Use cases The following examples show how the database and object storage tools can support your Replit Apps. ### E-commerce app Store product information, customer profiles, and order history in the database. Use SQL queries to filter products by category, search for items, and manage customer orders. screenshot of an E-commerce app ### File sharing app Share large files such as images, videos, and documents using App Storage. Use the Replit App Storage SDK to upload, download, and move files. screenshot of a file sharing app ## Next steps * [Database](/cloud-services/storage-and-databases/sql-database/): Learn about the database workspace tool and how to connect your Replit App to a database * [App Storage](/cloud-services/storage-and-databases/object-storage/): Learn how to use Replit's App Storage solution # Autoscale Deployments Source: https://docs.replit.com/cloud-services/deployments/autoscale-deployments Learn how Autoscale Deployments automatically adjust capacity based on your app's traffic. Autoscale Deployments run on cloud computing resources that scale up and down to efficiently handle the network traffic and workload of your Replit App. When your app is busy, autoscaling adds servers to manage the load. When your app is idle, it reduces the number to as low as zero to save you money. Autoscale Deployments are ideal for the following use cases: * Web applications that handle variable workloads and traffic such as ecommerce sites * APIs and services Autoscale Deployment ## Features Autoscale Deployment include the following features: * **Automatic resource scaling**: Automatically adjusts resources based on traffic patterns to optimize costs. * **Custom domains**: Configure a custom domain or use a `.replit.app` URL to access your app. * **Configurable limits**: Set the maximum number of instances your published app can scale to. * **Flexible machine power**: Choose the CPU and RAM configuration that meets your app's needs. * **Monitoring**: View logs and monitor your published app's status. ## Usage You can access Autoscale Deployment in the Publishing workspace tool. From the left **Tool dock**: 1. Select All tools icon **All tools** to see a list of workspace tools. 2. Select Publishing icon **Publishing**. 3. Select the **Autoscale** option and then select **Set up your published app**. From the **Search bar**: 1. Select the magnifying glass icon magnifying glass at the top to open the search tool 2. Type "Publishing" to locate the tool and select it from the results. 3. Select the **Autoscale** option and then select **Set up your published app**. Autoscale publishing options ## Machine power Select **Edit** to view and set the machine power options. Use the sliders to select the CPU and RAM configuration for each published app server instance. View the **compute unit** cost for the configuration in the **Total per machine** row. A compute unit is a measurement of cloud computing resources based on the memory and CPU configuration of the machine. To learn more about calculating the cost based on Compute Units, see [Compute Units](/billing/about-usage-based-billing#2-compute-units). screenshot of the machine power configuration ## Max number of machines Use the slider to adjust the maximum number of machines. This number is the upper limit of server instances the autoscaling feature can assign when it determines your app is busy. The bottom row shows the equivalent compute units, calculated by the following formula: `Number of machines * compute units per machine` screenshot of the max number of machines configuration ## Next steps * [Published App Monitoring](/cloud-services/deployments/monitoring-a-deployment/): Learn how to view logs and monitor your published app. * [Publishing costs](/billing/deployment-pricing): View the costs associated with publishing. * [Pricing](https://replit.com/pricing/): View the pricing and allowances for each plan type. * [Usage Allowances](/billing/about-usage-based-billing/): Learn about scheduled deployment usage limits and billing units. # Custom Domains Source: https://docs.replit.com/cloud-services/deployments/custom-domains Learn how to connect your own domain name to your published Replit app. Custom domains let you assign your domain name, such as `www.my-incredible-app.com` to your Replit published app. While Replit provides a free subdomain in the format `.replit.app`, using a custom domain lets you create a more memorable address. A custom domain name can help brand recognition and trust with your app's users. Watch the following video for a quick overview of setting up Custom Domains: