Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stacktape/stacktape
The next-generation, DevOps-free cloud development framework.
https://github.com/stacktape/stacktape
aws aws-cloudformation cloud cloud-infrastructure cloud-native containers devops-automation serverless
Last synced: 14 days ago
JSON representation
The next-generation, DevOps-free cloud development framework.
- Host: GitHub
- URL: https://github.com/stacktape/stacktape
- Owner: stacktape
- Created: 2019-10-07T19:28:49.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T16:43:24.000Z (20 days ago)
- Last Synced: 2024-10-25T21:37:40.146Z (19 days ago)
- Topics: aws, aws-cloudformation, cloud, cloud-infrastructure, cloud-native, containers, devops-automation, serverless
- Language: Shell
- Homepage: https://stacktape.com
- Size: 4.62 MB
- Stars: 69
- Watchers: 4
- Forks: 5
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[Website](https://stacktape.com) • [Docs](https://docs.stacktape.com/) • [Discord](https://discord.gg/gSvzRWe3YD)
• [X](https://twitter.com/stacktape) • [LinkedIn](https://www.linkedin.com/company/stacktape/)## 97 % OF AWS CAPABILITIES, 3% COMPLEXITY
Stacktape transforms AWS into a developer-friendly platform, allowing you to deploy production-grade infrastructure in minutes.
> [!NOTE]
> Stacktape is NOT open-source. This repository only includes helpful resources for Stacktape users.### [Sign up](https://console.stacktape.com/sign-up)
### Before
#### Option 1 - PaaS 1.0
:white_check_mark: Easy to use
:white_check_mark: Great Dev Experience
:x: Expensive
:x: Limited capabilities & flexibility
#### Option 2 - In-house DevOps team
:white_check_mark: Flexible
:white_check_mark: Unlimited capabilities
:x: Requires hiring DevOps experts
:x: Long time to production
### After (with Stacktape)
:white_check_mark: Usable by developers
:white_check_mark: Great Dev Experience
:white_check_mark: Cost efficient
:white_check_mark: Flexible & Powerful
:white_check_mark: Up to $100,000 in free [AWS Activate credits](https://aws.amazon.com/activate/activate-landing/)
## Contents
- [How it works](#how-it-works)
- [Supported infrastructure components](#all-the-infrastructure-components-youll-need)
- [Comparison](#comparison)
- [Serverless](#serverless)
- [Heroku](#heroku)
- [Firebase](#firebase)
- [Kubernetes](#kubernetes)
- [AWS SAM](#aws-sam)
- [CloudFormation](#cloudformation)
- [Terraform](#terraform)
- [Vercel](#vercel)
- [FAQ](#faq)
- [Contact us](#contact-us)
- [Other](#other)## How it works
### 1. Configure your stack
Stacktape is an **IaC** (Infrastructure as a code) tool.
The configuration is simple, declarative and can be written using **YAML**, **JSON**, **Javascript**, **Typescript** or
**Python**.> _Example **stacktape.yml** configuration file_
```yml
serviceName: my-application
resources:
mainGateway:
type: http-api-gateway
apiServer:
type: multi-container-workload
properties:
resources:
cpu: 2
memory: 2048
scaling:
minInstances: 1
maxInstances: 5
containers:
- name: api-container
imageConfig:
filePath: src/main.ts
environment:
- name: DB_ENDPOINT
value: $ResourceParam('mainDatabase', 'endpoint')
events:
- type: http-api-gateway
properties:
method: GET
path: /{proxy+}
containerPort: 3000
httpApiGatewayName: mainGateway
mainDatabase:
type: relational-database
properties:
engine:
type: aurora-postgresql-serverless
credentials:
masterUserName: $Secret('dbSecret.username')
masterUserPassword: $Secret('dbSecret.password')
```### 2. Deploy your application
Deployment is done using a **single command**.
Stacktape handles the rest:
- Packages your source code
- Scans and resolves dependencies
- Configures and provisions infrastructure resources
- Deploys your application to AWS> \*Using **CLI\***
```bash
$ stacktape deploy --stage production --region eu-west-1
[SUCCESS] Loading configuration done in 0.03 sec.
[SUCCESS] Fetching stack data done in 0.63 sec.
[SUCCESS] Packaging workloads
└ apiserver-apicontainer: done in 18.57 sec. Image size: 85 MB.
[SUCCESS] Uploading deployment artifacts done in 6.53 sec.
[SUCCESS] Validating template done in 0.42 sec.
[INFO] Deploying stack my-application-production...
[INFO] Deploying infrastructure resources. Finished: 9/35.
```> \*Using **SDK\***
```js
import { Stacktape } from 'stacktape';
const stacktape = new Stacktape({
region: 'eu-west-1',
stage: 'production'
});
stacktape.deploy({
config: {
serviceName: 'my-application',
resources: [...your resources...]
}
});
```### 3. Iterate on your application
Stacktape offers an easy and efficient way to develop your apps.
When developing containers, Stacktape will:
- Build and run your container locally with the same permissions it has when running in the cloud
- Resolve and inject referenced environment variables (for example database connection strings)
- Expose configured ports```bash
$ stacktape cw:run-local --resourceName apiServer
[SUCCESS] Loading configuration done in 0.03 sec.
[SUCCESS] Fetching stack data done in 0.63 sec.
[SUCCESS] Packaging workloads
└ apiServer-apicontainer: done in 3.3 sec. Image size: 85 MB.
[SUCCESS] Container started successfully. (type 'rs' + enter to rebuild and restart)
[INFO] Exposed ports: http://localhost:3000Api container started successfully. Listening on PORT 3000.
```## All the infrastructure components you'll need
One tool for all your apps. From simple websites to data processing pipelines.
#### Lambda functions
Short-lived serverless functions able to quickly scale up to 1000s of parallel executions with pay-per-use pricing.
#### Container workloads
Fully managed, auto-scalable and easy-to-use runtime for your Docker containers.
#### Batch jobs
Fully managed, on-demand runtime for your container jobs with pay-per-use pricing. Supports GPU compute resources.
#### SQL databases
Fully managed relational databases (Postgres, MySQL, MariaDb, etc.) with support for clustering, failover & more.
#### MongoDb clusters
Fully managed MongoDb Atlas clusters. Automatically deployed to your AWS account and managed within your stack.
#### DynamoDB
Fully managed, serverless, highly-available and massively scalable key-value datastore.
#### Api Gateways
Fully managed, serverless HTTP Api Gateway with pay-per-request pricing.
#### Load balancers
Fully managed, Application (L7) Load balancer.
#### Storage buckets
Durable and highly-available object storage with pay-per-use pricing.
#### Authentication
Fully managed sign-ups, logins and authorization for your users with pay-per-use pricing.
#### Redis clusters
Fully managed, redis-compatible in-memory data store with sub-millisecond latency.
#### Upstash Redis
Fully managed, serverless Redis with pay-as-you-go billing.
#### Upstash Kafka
Fully managed, serverless Kafka with pay-as-you-go billing for event-streaming solutions.
#### CDN
Globally distributed (edge) cache for your Buckets, Load balancers and API Gateways.
#### Domains & certificates
Auto-provisioned certificates and domain management for your Buckets, Load balancers and API Gateways.
#### Secrets
Fully managed secret store for your credentials, API keys and other sensitive data.
## Comparison
### Serverless
Read more
Serverless framework is a great tool that simplifies deployment of function-based (FaaS) applications.Sadly, the simplicity disappears when your application needs more than just functions, and you're left with the
responsibility for configuring, managing and integrating other infrastructure components.#### Stacktape's advantages
- **More power** - Besides lambda functions, Stacktape allows you to deploy container workloads, batch jobs, SQL and
NoSQL databases, API Gateways, Load balancers and much more.
- **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
- **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It
allows you to easily build complicated deployment pipelines.
- **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly
validated. Error messages are descriptive and include hints.
- **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with
validation, autocompletion and built-in documentation.
- **Development studio (coming soon)** - Stacktape development studio is a graphical user interface. It's a convenient
way to manage and test your applications and infrastructure.
- **Client SDKs (coming soon)** - Client SDKs (for web, mobile and more) can be used within your application to help
with most common tasks (authenticating users, uploading files, etc.).#### Stacktape's disadvantages
- **Not open-source** - Stacktape is a SaaS product. But it comes with a free tier.
- **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
- **AWS only** - Stacktape works on top of AWS. Support for MS Azure and Google Cloud is planned. Besides AWS services,
Stacktape also supports 3rd party providers (such as MongoDb Atlas).### Heroku
Read more
Heroku is an easy-to-use platform for hosting applications.Sadly, it's also very costly and lacks a lot of features compared to larger cloud platforms (such as AWS).
#### Stacktape's advantages
- **Full power of AWS** - Stacktape allows you to deploy almost any infrastructure components, including containers,
batch jobs, SQL and NoSQL databases, API Gateways, Load balancers, file storage, CDN & more.
- **Lower costs** - With Heroku, you get simplicity for a significantly higher infrastructure costs. Stacktape gives you
the simplicity without the absurd infrastructure bills.
- **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
- **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It
allows you to easily build complicated deployment pipelines.
- **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with
validation, autocompletion and built-in documentation.
- **Infrastructure as Code** - Stacktape allows you to manage infrastructure using simple and declarative configuration
file. You can easily deploy as many environments (stages) as you want.
- **Development studio (coming soon)** - Stacktape development studio is a graphical user interface. It's a convenient
way to manage and test your applications and infrastructure.
- **Client SDKs (coming soon)** - Client SDKs (for web, mobile and more) can be used within your application to help
with most common tasks (authenticating users, uploading files, etc.).#### Stacktape's disadvantages
- **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
- **Less buildpacks** - Stacktape currently supports zero-config builds for less languages and frameworks.### Firebase
Read more
Firebase is an easy-to-use BaaS (backend as a service) platform for mobile and web applications.Sadly, Firebase isn't sufficient for larger applications that require continuously running jobs, containers, batch jobs,
SQL databases or anything else not supported by Firebase.#### Stacktape's advantages
- **Full power of AWS** - Stacktape allows you to deploy almost any infrastructure components, including containers,
batch jobs, SQL and NoSQL databases, API Gateways, Load balancers, file storage, CDN & more.
- **Infrastructure as Code** - Stacktape allows you to manage infrastructure using simple and declarative configuration
file. You can easily deploy as many environments (stages) as you want.
- **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
- **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with
validation, autocompletion and built-in documentation.
- **Cost at scale** - Firebase can get very costly very fast when you go out of the free tier.#### Stacktape's disadvantages
- **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
- **Less pre-built capabilities for mobile apps** - Stacktape doesn't come with purpose-built features for mobile apps.### Kubernetes
Read more
Kubernetes is a popular and widely adopted tool for orchestrating containers.However, it comes with great architectural, configuration, operational and financial overhead.
#### Stacktape's advantages
- **Developer friendly** - Stacktape is usable by every developer. No DevOps, Cloud or infrastructure expertise is
required.
- **Fully managed** - All resources supported by Stacktape are fully managed. They remove a lot of responsibility from
your shoulders.
- **Fully featured development framework** - Stacktape handles all of the common tasks required to develop and run cloud
applications, including application deployments, testing, debugging & much more.
- **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
- **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It
allows you to easily build complicated deployment pipelines.
- **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly
validated. Error messages are descriptive and include hints.
- **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with
validation, autocompletion and built-in documentation.
- **Development studio (coming soon)** - Stacktape development studio is a graphical user interface. It's a convenient
way to manage and test your applications and infrastructure.
- **Client SDKs (coming soon)** - Client SDKs (for web, mobile and more) can be used within your application to help
with most common tasks (authenticating users, uploading files, etc.).#### Stacktape's disadvantages
- **Not open-source** - Stacktape is a SaaS product. But it comes with a free tier.
- **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
- **Public cloud only** - Stacktape is not usable with on-premise infrastructure.### AWS SAM
Read more
Serverless Application Model is a simple and handy framework for building lambda function-based application on AWS.Similarly to Serverless Framework, the simplicity disappears if you need more than just lambda functions.
#### Stacktape's advantages
- **More power** - Besides lambda functions, Stacktape allows you to deploy container workloads, batch jobs, SQL and
NoSQL databases, API Gateways, Load balancers and much more.
- **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
- **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It
allows you to easily build complicated deployment pipelines.
- **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly
validated. Error messages are descriptive and include hints.
- **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with
validation, autocompletion and built-in documentation.
- **Development studio (coming soon)** - Stacktape development studio is a graphical user interface. It's a convenient
way to manage and test your applications and infrastructure.
- **Client SDKs (coming soon)** - Client SDKs (for web, mobile and more) can be used within your application to help
with most common tasks (authenticating users, uploading files, etc.).#### Stacktape's disadvantages
- **Not open-source** - Stacktape is a SaaS product. But it comes with a free tier.
- **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.### CloudFormation
Read more
AWS Cloudformation is a powerful tool for provisioning and configuring AWS resources.Unfortunately, using Cloudformation is complex, time-consuming and requires a lot of Cloud and infrastructure knowledge.
#### Stacktape's advantages
- **Developer friendly** - Stacktape is usable by every developer. No DevOps, Cloud or infrastructure expertise is
required.
- **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
- **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It
allows you to easily build complicated deployment pipelines.
- **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly
validated. Error messages are descriptive and include hints.
- **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with
validation, autocompletion and built-in documentation.
- **Development studio (coming soon)** - Stacktape development studio is a graphical user interface. It's a convenient
way to manage and test your applications and infrastructure.
- **Client SDKs (coming soon)** - Client SDKs (for web, mobile and more) can be used within your application to help
with most common tasks (authenticating users, uploading files, etc.).#### Stacktape's disadvantages
- **None** - Stacktape is customizable and can be easily extended using native AWS Cloudformation resources.
### Terraform
Read more
Terraform is a tool for provisioning infrastructure across multiple cloud providers.However, it requires a lot of Cloud, DevOps and infrastructure knowledge. It doesn't handle packaging, applications
deployments and many other tasks required to run your applications.#### Stacktape's advantages
- **Developer friendly** - Stacktape is usable by every developer. No DevOps, Cloud or infrastructure expertise is
required.
- **Fully featured development framework** - Stacktape handles all of the common tasks required to develop and run cloud
applications, including application deployments, testing, debugging & much more.
- **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
- **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It
allows you to easily build complicated deployment pipelines.
- **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly
validated. Error messages are descriptive and include hints.
- **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with
validation, autocompletion and built-in documentation.
- **Development studio (coming soon)** - Stacktape development studio is a graphical user interface. It's a convenient
way to manage and test your applications and infrastructure.
- **Client SDKs (coming soon)** - Client SDKs (for web, mobile and more) can be used within your application to help
with most common tasks (authenticating users, uploading files, etc.).#### Stacktape's disadvantages
- **Not open-source** - Stacktape is a SaaS product. But it comes with a free tier.
- **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
- **AWS only** - Stacktape works on top of AWS. Support for MS Azure and Google Cloud is planned. Besides AWS services,
Stacktape also supports 3rd party providers (such as MongoDb Atlas).### Vercel
Read more
Vercel is a platform for building and hosting application frontends.However, it has very limited support for building application backends (servers).
#### Stacktape's advantages
- **Full power of AWS** - Stacktape allows you to deploy almost any infrastructure components, including containers,
batch jobs, SQL and NoSQL databases, API Gateways, Load balancers, file storage, CDN & more.
- **Infrastructure as Code** - Stacktape allows you to manage infrastructure using simple and declarative configuration
file. You can easily deploy as many environments (stages) as you want.
- **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
- **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It
allows you to easily build complicated deployment pipelines.
- **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with
validation, autocompletion and built-in documentation.
- **Development studio (coming soon)** - Stacktape development studio is a graphical user interface. It's a convenient
way to manage and test your applications and infrastructure.
- **Client SDKs (coming soon)** - Client SDKs (for web, mobile and more) can be used within your application to help
with most common tasks (authenticating users, uploading files, etc.).#### Stacktape's disadvantages
- **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
## FAQ
"Can I use Stacktape for free?"
Yes. Stacktape is forever free for small and medium size projects.For open-source maintainers, we also offer a premium plan for free. Feel free to
[contact us](https://stacktape.com/#contact)."What do I need to pay for?"
For larger projects that require more infrastructure resources or advanced features, you can choose a [premium plan](https://stacktape.com/#pricing).Premium plans cost only a fraction of the cost you'd pay for an alternative solution or for DevOps/Cloud specialists.
"Is Stacktape secure?"
Yes.Stacktape works on the developer’s machine (or on your CI/CD server). Your deployments don't go through any
Stacktape-managed infrastructure.Furthermore, Stacktape does everything it can to help you secure your applications (least privilege permissions, secret
management, database access management, etc.)."Which cloud providers are supported?"
Stacktape is built around AWS. AWS is the biggest and most advanced cloud computing provider.Besides numerous AWS services, Stacktape integrates popular 3rd party service providers (such as MongoDb Atlas).
Support for MS Azure is planned for late 2022.
If you need anything else currently not supported by Stacktape, feel free to
[contact us](https://stacktape.com/#contact)."Can Stacktape really cover all of my cloud infrastructure needs?"
Yes. Stacktape supports all of the most commonly used infrastructure components.Furthermore, if your use-case is very specific and not natively supported by Stacktape, you can easily extend Stacktape
applications with any AWS service."Which programming languages are supported?"
You can deploy applications written in any language, if you supply your own Dockerfile.Zero-config, heavily optimized builds are currently supported for Javascript and Typescript applications. Zero-config
Python, Go and Java builds are coming soon.To write Stacktape configuration, you can use YAML, JSON, Javascript, Typescript or Python.
"Do I lose control or flexibility with Stacktape?"
No.Unlike other solutions on the market, Stacktape is designed to be easily customizable and extensible.
"Can you help us migrate to the cloud?"
Yes.Migrating your applications to the cloud using Stacktape is in most cases very straightforward.
If you need more assistance, our team of cloud specialists can help you architect, design and run your cloud
applications.Feel free to [contact us](https://stacktape.com/#contact).
### [Sign up now](https://console.stacktape.com/sign-up)
## Contact us
- [Discord](https://discord.gg/gSvzRWe3YD)
- [Email](mailto:[email protected])
- [X/Twitter](https://twitter.com/stacktape)
- [LinkedIn](https://www.linkedin.com/company/stacktape/)## Other
- [Terms of Use](https://stacktape.com/terms-of-use/)
- [Privacy Policy](https://stacktape.com/privacy-policy/)
- [Roadmap](https://console.stacktape.com/roadmap)
- [Changelog](https://github.com/stacktape/stacktape/releases)