Rust AI Deployment Tool
What is shuttle.rs?
Shuttle is an open-source cloud platform aimed at simplifying backend development and deployment for web applications. Its standout features include rapid deployment times, eliminating traditional container technology in favor of a lightweight approach, infrastructure abstraction allowing developers to focus solely on coding, comprehensive support for Rust frameworks with built-in logging capabilities, and the flexibility to deploy applications to any cloud or locally without vendor lock-in. Embraced by a vibrant global community, Shuttle offers essential functionalities and fosters collaborative development efforts.
How does shuttle.rs work?
Shuttle streamlines backend development and deployment processes for web applications with its Rust-native approach. Here's an overview of how it operates:
Rust-Native: By adding a single annotation to your main function, Shuttle seamlessly packages and deploys any Rust service code. This streamlined process ensures your application is up and running in the cloud within seconds.
Infrastructure from Code: Through macros, Shuttle facilitates resource provisioning. For instance, obtaining a database is as straightforward as making a request within your Rust code, simplifying infrastructure management.
Supported Frameworks: Shuttle accommodates a variety of Rust programs, including web applications developed with frameworks such as Axum, Actix Web, Rocket, Warp, and others, ensuring compatibility with diverse development environments.
Fast Redeploys: Leveraging cached builds, Shuttle enables rapid redeployment, ensuring efficient updates and modifications to your application with minimal downtime.
No Vendor Lock-In: Users have the flexibility to deploy applications to their preferred cloud service or locally with Shuttle, ensuring independence from proprietary platforms. Everything within Shuttle is Rust-based, providing users with control and flexibility over their deployment choices.
What are the security features of shuttle.rs?
Shuttle prioritizes the security and integrity of applications through various features:
Isolation: Each project undergoes building and deployment within its own container, ensuring secure isolation from other users and their projects, thus minimizing potential vulnerabilities.
Resource Provisioning: By enabling provisioning of resources directly from code, Shuttle streamlines resource management, reducing the likelihood of misconfigurations and enhancing overall security.
First-Class Support for Rust Frameworks: Shuttle extends support to prominent Rust frameworks like Axum, Actix Web, and Rocket, which are inherently designed with security best practices, bolstering the safety of applications.
Permissions Management: Shuttle takes charge of security and permissions, alleviating the need for users to configure access controls or manage secrets manually. This enables developers to focus on writing secure code without distraction.
Secrets Management: Leveraging Shuttle's Secrets plugin, sensitive information such as API keys can be securely stored outside version control in a key-value format within a Secrets.toml file, mitigating the risk of unauthorized access.
In essence, Shuttle integrates security measures seamlessly into its platform, ensuring a safer environment for Rust developers while simplifying backend development and deployment processes.
How does shuttle.rs handle authentication and authorization?
Shuttle offers multiple security features to safeguard the integrity of applications:
Isolation: Projects are individually built and deployed within dedicated containers, ensuring secure isolation from other users and their projects, thereby minimizing potential risks.
Resource Provisioning: Shuttle facilitates resource provisioning, such as databases, directly from code, eliminating the need for separate configuration files. This streamlines resource management and reduces the likelihood of configuration errors, enhancing overall security.
First-Class Support for Rust Frameworks: Supporting popular Rust frameworks like Axum, Actix Web, and Rocket, Shuttle ensures adherence to security best practices inherent in these frameworks, bolstering application safety.
Permissions Management: Shuttle takes care of security and permissions, freeing developers from the task of configuring access controls or managing secrets manually. This enables developers to focus on writing secure code without distraction.
Secrets Management: Through Shuttle's Secrets plugin, sensitive information like API keys can be securely stored outside version control in a key-value format within a Secrets.toml file, mitigating the risk of unauthorized access.
In essence, Shuttle underscores security as a priority while simplifying backend development and deployment, offering a more enjoyable experience for Rust developers.
How much does shuttle.rs cost?
Shuttle offers diverse pricing tiers tailored to different requirements:
Community (Free):
- Up to 3 projects
- Adequate CPU & RAM for initial usage
- Starter Database
- Infrastructure configuration via code annotations
- Simple plug-in instrumentation
- Deployment via GitHub Actions
- 20 deploys per day
- Logs retention for 1 day
- Community supportPro ($20/user/month):
- Pricing based on resource usage
- Up to 15 projects
- Expanded CPU & RAM limits
- Custom domains
- Increased storage capacity
- Configurable instances
- Early access to Shuttle AI (upcoming)
- Extended logs retention
- Enhanced supportTeam (Custom):
- Tailored tier for team productivity
- Unlimited projects
- Elevated CPU & RAM limits
- Option for "Bring your own cloud" (upcoming)
- Custom Service Level Agreement (SLA)
- Extended logs retention
- Dedicated support
Additionally, Shuttle offers add-ons for network egress, compute, and Amazon RDS (Relational Database Service) at extra charges. The Forever-free tier grants unrestricted access to essential features, supported by the community.