stacktape 1.0.0-alpha.138 → 1.0.0-alpha.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/README.md +353 -178
  2. package/cli.js +1355 -889
  3. package/config-schema.json +1 -1
  4. package/helper-lambdas/{batchJobTriggerLambda-dede99415df95c9e4341281d5e998830662bb81e.zip → batchJobTriggerLambda-2cf9c2900faa071bad3953b77d73cd6dec36cb0a.zip} +0 -0
  5. package/helper-lambdas/{cdnOriginRequestLambda-a1f6c1760c0e16dacb328a505d5b64cc47d750a8.zip → cdnOriginRequestLambda-c71d9047333275881e7b50a96bbd9a2eccc0cef1.zip} +0 -0
  6. package/helper-lambdas/{cdnOriginResponseLambda-b804c7d6388724be76121b594edd92585d9ea336.zip → cdnOriginResponseLambda-31bab40cb938e0a793200f496811a73cb8373216.zip} +0 -0
  7. package/helper-lambdas/stacktapeServiceLambda-5ed7b25b6e8adfe44c8e2f15bc3d1f8c35f44e48.zip +0 -0
  8. package/metafile.json +1 -1
  9. package/package.json +1 -1
  10. package/sdk.d.ts +631 -236
  11. package/sdk.js +15 -40
  12. package/server.js +17 -17
  13. package/starter-projects/java-spring-boot-api-postgres-jpa/stacktape.yml +1 -1
  14. package/starter-projects/python-video-transcoding-batch-job/stacktape.yml +1 -1
  15. package/starter-projects/typescript-expressjs-api-mongodb-mongoose/stacktape.yml +4 -1
  16. package/starter-projects/typescript-expressjs-api-mysql-sequelize/stacktape.yml +1 -4
  17. package/starter-projects/typescript-lambda-api-postgres-prisma/stacktape.yml +5 -1
  18. package/starter-projects/typescript-lambda-api-postgres-prisma-auth/stacktape.yml +4 -1
  19. package/starter-projects/typescript-lambda-hello-world/stacktape.yml +4 -1
  20. package/starter-projects/typescript-nestjs-api-postgres-prisma/stacktape.yml +1 -4
  21. package/starter-projects/typescript-web-scraper-lambda-puppeteer/stacktape.yml +1 -2
  22. package/starter-projects/website-gatsby/stacktape.yml +1 -1
  23. package/starter-projects/website-nextjs-ssr/stacktape.yml +1 -1
  24. package/starter-projects/website-static-html/stacktape.yml +1 -1
  25. package/helper-lambdas/stacktapeServiceLambda-b09e4d44f75c0eb8da385e54e48692d73cc46757.zip +0 -0
package/README.md CHANGED
@@ -1,22 +1,22 @@
1
- [![Stacktape cloud native framework](https://stacktape.com/github_title.png)](http://stacktape.com)
2
- [Website](https://stacktape.com) • [Get Started](https://docs.stacktape.com/getting-started) • [Docs](https://docs.stacktape.com/) • [Examples](https://github.com/stacktape/stacktape) • [Blog](https://teespring.com/stores/serverless) • [Slack](https://stacktape-community.slack.com) • [Twitter](https://twitter.com/stacktape) • [Facebook](https://www.facebook.com/stacktape) • [Linked In](https://www.linkedin.com/company/stacktape/)
3
-
1
+ [![DevOps-free cloud development](https://stacktape.com/cover-images/github-zoomed.png)](https://stacktape.com)
4
2
 
5
- # Stacktape is a cloud-native framework that makes full power of AWS accessible to common developers.
3
+ [Website](https://stacktape.com) [Docs](https://docs.stacktape.com/) [Slack](https://stacktape-community.slack.com) [Twitter](https://twitter.com/stacktape) [Facebook](https://www.facebook.com/stacktape) [Linked In](https://www.linkedin.com/company/stacktape/)
6
4
 
7
-
5
+ #### Stacktape gives you the **full power of AWS** with **98% less configuration** and **developer-friendly** experience.
8
6
 
9
- - **Made for developers -** By abstracting away all the complexity, we make cloud development accessible to every developer.
10
- - **Full power of AWS -** Deploy anything. From simple web apps to complicated data-processing pipelines.
11
- - **Production-ready from day 1 -** Reliability, scalability, security & performance. With no extra effort.
12
- - **Optimized for productivity -** Includes developer tooling that makes cloud-native development seamless and developers happy.
13
- - **Fully serverless -** Scale from 0 to 1000s of concurrent workloads automatically. Pay only for what you use.
14
- - **Cost-effective -** We do our best to keep your AWS bills as low as possible. Without compromising quality.
15
-
7
+ ## [Deploy your cloud application in 5 minutes](https://docs.stacktape.com/getting-started/setup-stacktape/)
8
+
9
+ <br />
10
+
11
+ - **Focused on developer experience -** Easy to use, well-documented, customizable and with helpful error messages.
12
+ - **Production grade -** Gives you scalable, reliable, observable, secure and performant infrastructure.
13
+ - **Fast and efficient -** Up to 90% faster deployments with parallel builds and advanced caching.
14
+ - **Cost-effective -** As cost-effective as possible. No more AWS pricing loopholes.
16
15
 
17
16
  ## Contents
18
17
 
19
- - [How it works](#how-it-works)
18
+ - [How it works](#next-gen-cloud-development-framework)
19
+ - [Supported infrastructure components](#all-the-infrastructure-components-youll-need)
20
20
  - [Comparison](#comparison)
21
21
  - [Serverless](#serverless)
22
22
  - [Heroku](#heroku)
@@ -25,267 +25,442 @@
25
25
  - [AWS SAM](#aws-sam)
26
26
  - [CloudFormation](#cloudformation)
27
27
  - [Terraform](#terraform)
28
+ - [Vercel](#vercel)
28
29
  - [FAQ](#faq)
29
30
  - [Community and Socials](#community-and-socials)
30
31
  - [Other](#other)
31
-
32
32
 
33
- ## How it works
33
+ ## Next-gen cloud development framework
34
+
35
+ ### 1. Configure your stack
34
36
 
35
- ### 1. Configure your infrastructure
37
+ Stacktape is an **IaC** (Infrastructure as a code) tool.
36
38
 
37
- Every aspect of your application is configured using a **simple configuration file**.\
38
-
39
- Configuration can be written in multiple languages, from **YAML** & **JSON** to **Typescript** & **Python**.\
40
-
41
- Built-in directives help with common tasks and **custom directives can be used to build custom, reusable constructs using real languages**.\
42
-
43
- You can extend Stacktape templates using **AWS Cloudformation** or override any aspect of the framework using **custom plugins**.
44
-
39
+ The configuration is simple, declarative and can be written using **YAML**, **JSON**, **Javascript**, **Typescript** or **Python**.
45
40
 
46
41
  > _Example **stacktape.yml** configuration file_
47
42
 
48
43
  ```yml
49
- stackConfig:
50
- name: my-stack
44
+ serviceName: my-application
51
45
  resources:
52
- functions:
53
- generateWeeklyReport:
54
- sourcePath: src/reports/generate-weekly-report.ts
55
- environment:
56
- DB_URL: $ResourceParam('userDatabase', 'Address')
57
- events:
58
- - schedule:
59
- rate: cron(0 7 * * 1)
60
- databases:
61
- userDatabase:
62
- dbInstanceSize: db.t3.micro
46
+ mainGateway:
47
+ type: http-api-gateway
48
+ apiServer:
49
+ type: container-workload
50
+ properties:
51
+ resources:
52
+ cpu: 2
53
+ memory: 2048
54
+ scaling:
55
+ minInstances: 1
56
+ maxInstances: 5
57
+ containers:
58
+ - name: api-container
59
+ imageConfig:
60
+ filePath: src/main.ts
61
+ environment:
62
+ - name: DB_ENDPOINT
63
+ value: $ResourceParam('mainDatabase', 'endpoint')
64
+ events:
65
+ - type: http-api-gateway
66
+ properties:
67
+ method: GET
68
+ path: /{proxy+}
69
+ containerPort: 3000
70
+ httpApiGatewayName: mainGateway
71
+ mainDatabase:
72
+ type: relational-database
73
+ properties:
63
74
  engine:
64
- type: postgres
65
- version: 12.4
75
+ type: aurora-postgresql-serverless
76
+ credentials:
77
+ masterUserName: $Secret('dbSecret.username')
78
+ masterUserPassword: $Secret('dbSecret.password')
66
79
  ```
67
80
 
68
- ### 2. Develop your application
81
+ ### 2. Deploy your application
69
82
 
70
- Stacktape is based on experience from many cloud-native projects, making your development process as seamless and productive as possible.\
71
-
72
- You can **emulate cloud environment**, **interact with live cloud services**, **preview & inspect changes**, **rollback to previous versions**, **enforce policies** & much more.\
73
-
74
- Stacktape isn’t opinionated about your development workflow, making it easy to **fit into any pipeline**.
75
-
83
+ Deployment is done using a **single command**.
76
84
 
77
- > _Example **lambda function** code_
78
-
79
- ```ts
80
- import { WebClient } from '@slack/web-api';
81
- import { getDbAdapter } from './db-adapter';
82
- const dbAdapter = getDbAdapter({ URL: process.env.DB_URL });
83
- const slackClient = new WebClient('MY-SLACK-TOKEN');
85
+ Stacktape handles the rest:
84
86
 
85
- export default async (event, context) => {
86
- const activeUsers = dbAdapter.getAllActiveUsers();
87
- await slackClientchat.postMessage({
88
- text: activeUsers.join('\n'),
89
- channel: 'CHANNEL-ID'
90
- });
87
+ - Packages your source code
88
+ - Scans and resolves dependencies
89
+ - Configures and provisions infrastructure resources
90
+ - Deploys your application to AWS
91
+
92
+ > \*Using **CLI\***
93
+
94
+ ```bash
95
+ stacktape deploy --stage production --region eu-west-1
96
+ [SUCCESS] Loading configuration done in 0.03 sec.
97
+ [SUCCESS] Fetching stack data done in 0.63 sec.
98
+ [SUCCESS] Packaging workloads
99
+ ↪ apiserver-apicontainer: done in 18.57 sec. Image size: 85 MB.
100
+ [SUCCESS] Uploading deployment artifacts done in 6.53 sec.
101
+ [SUCCESS] Validating template done in 0.42 sec.
102
+ [INFO] Deploying stack my-application-production...
103
+ [INFO] Deploying infrastructure resources. Finished: 9/35.
104
+ ```
91
105
 
92
- return { message: 'Generated user report.' };
93
- };
106
+ > \*Using **SDK\***
107
+
108
+ ```js
109
+ import { Stacktape } from 'stacktape';
110
+ const stacktape = new Stacktape({
111
+ region: 'eu-west-1',
112
+ stage: 'production'
113
+ });
114
+ stacktape.deploy({
115
+ config: {
116
+ serviceName: 'my-application',
117
+ resources: [...your resources...]
118
+ }
119
+ });
94
120
  ```
95
121
 
96
- ### 3. Deploy everything using one command
122
+ ## All the infrastructure components you'll need
97
123
 
98
- Stacktape handles the rest:
99
-
124
+ One tool for all your apps. From simple websites to data processing pipelines.
100
125
 
101
- 1. **Configures infrastructure resources**
102
- Figures out an optimal way to run your workloads. You don’t need to understand how networking, VPCs or ECS clusters or autoscaling groups work.
103
-
104
- 2. **Packages and deployes your source code:**
105
- Creates perfectly optimized Lambda packages or Docker containers. Everything is done as efficently as possible, leveraging advanced caching and parallel builds.
106
-
107
- > _Console output of **stacktape deploy** command_
126
+ ### Lambda functions
108
127
 
109
- ```
110
- > stacktape deploy --stage production
111
- [INFO] Using config file at ./stacktape.yml
112
- [SUCCESS] Packaging function generateWeeklyReport done in 0.15 sec. Size: 15kB. Zipped size: 4kB.
113
- [SUCCESS] Uploading deployment artifacts done in 0.3 sec.
114
- [INFO] Deploying stack to stage production…
115
- [████████████--------------] 45%
116
- ```
128
+ Short-lived serverless functions able to quickly scale up to 1000s of parallel executions with pay-per-use pricing.
129
+
130
+ ### Container workloads
131
+
132
+ Fully managed, auto-scalable and easy-to-use runtime for your Docker containers.
133
+
134
+ ### Batch jobs
135
+
136
+ Fully managed, on-demand runtime for your container jobs with pay-per-use pricing. Supports GPU workloads.
137
+
138
+ ### SQL databases
139
+
140
+ Fully managed relational databases (Postgres, MySQL, MariaDb, etc.) with support for clustering, failover & more.
141
+
142
+ ### MongoDb clusters
143
+
144
+ Fully managed MongoDb Atlas clusters. Automatically deployed to your AWS account and managed within your stack.
145
+
146
+ ### DynamoDB
147
+
148
+ Fully managed, serverless, highly-available and massively scalable key-value datastore.
149
+
150
+ ### Api Gateways
151
+
152
+ Fully managed, serverless HTTP Api Gateway with pay-per-request pricing.
153
+
154
+ ### Load balancers
155
+
156
+ Fully managed, Application (L7) Load balancer.
157
+
158
+ ### Storage buckets
159
+
160
+ Durable and highly-available object storage with pay-per-use pricing.
161
+
162
+ ### Authentication
163
+
164
+ Fully managed sign-ups, logins and authorization for your users with pay-per-use pricing.
165
+
166
+ ### Redis clusters
167
+
168
+ Fully managed, redis-compatible in-memory data store with sub-millisecond latency.
169
+
170
+ ### CDN
171
+
172
+ Globally distributed (edge) cache for your Buckets, Load balancers and API Gateways.
173
+
174
+ ### Domains & certificates
175
+
176
+ Auto-provisined certificates and domain management for your Buckets, Load balancers and API Gateways.
177
+
178
+ ### Secrets
179
+
180
+ Fully managed secret store for your credentials, API keys and other sensitive data.
117
181
 
118
182
  ## Comparison
119
183
 
120
184
  ### Serverless
121
185
 
122
- Serverless framework makes deploying (FaaS) functions to multiple cloud providers easy.
123
-
124
- Stacktape is focused only on AWS, which allows us to do much more.
125
-
186
+ <details>
187
+ <summary>Read more</summary>
188
+ Serverless framework is a great tool that simplifies deployment of function-based (FaaS) applications.
189
+
190
+ Sadly, the simplicity disappears when your application needs more than just functions, and you're left with the resposibility for configuring, managing and integrating other infrastructure components.
126
191
 
127
192
  #### Stacktape's advantages
128
193
 
129
- - **More power** - Stacktape unlocks full power of AWS. Enabling you to do more and cover more use-cases.
130
- - **Plug-and-play** - Everything is built-in. No need to configure a plugin for everything.
131
- - **Perfectly optimized** - Everything from packaging to deployment happens up to 50 times faster.
132
- - **Streamlined development process** - No need for excessive configuration or figuring out how to solve common problems.
133
-
194
+ - **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.
195
+ - **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
196
+ - **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It allows you to easily build complicated deployment pipelines.
197
+ - **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly validated. Error messages are descriptive and include hints.
198
+ - **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with validation, autocompletion and built-in documentation.
199
+ - **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.
200
+ - **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.).
134
201
 
135
202
  #### Stacktape's disadvantages
136
203
 
137
- - **Not open-source** - Stacktape is not open-source. But we do have a generous free tier.
138
- - **AWS only** - Stacktape currently supports only AWS.
139
-
204
+ - **Not open-source** - Stacktape is a SaaS product. But it comes with a free tier.
205
+ - **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
206
+ - **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).
207
+ </details>
140
208
 
141
209
  ### Heroku
142
210
 
143
- Heroku is an easy to use platform for hosting applications.
144
-
145
- With Stacktape, you retain the simplicity of Heroku, while gaining more control, power & lower bills.
146
-
211
+ <details>
212
+ <summary>Read more</summary>
213
+ Heroku is an easy-to-use platform for hosting applications.
214
+
215
+ Sadly, it's also very costly and lacks a lot of features compared to larger cloud platforms (such as AWS).
147
216
 
148
217
  #### Stacktape's advantages
149
218
 
150
- - **More power** - Stacktape unlocks full power of AWS. Enabling you to do more and cover more use-cases.
151
- - **Lower bills** - AWS is significantly cheaper than Heroku. And Stacktape makes it even more cost-effective.
152
- - **More control & scaling** - AWS gives you more control, extensibility & customizability.
153
-
219
+ - **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.
220
+ - **Lower costs** - With Heroku, you get simplicity for a significantly higher infrastructure costs. Stacktape gives you the simplicity without the absurd infrastructure bills.
221
+ - **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
222
+ - **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It allows you to easily build complicated deployment pipelines.
223
+ - **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with validation, autocompletion and built-in documentation.
224
+ - **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.
225
+ - **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.
226
+ - **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.).
154
227
 
155
228
  #### Stacktape's disadvantages
156
229
 
157
- - **Less supported languages** - Zero config code builds are currently supported for less languages. But you can use any language, if you supply your own Dockerfile.
158
-
230
+ - **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
231
+ - **Less buildpacks** - Stacktape currently supports zero-config builds for less languages and frameworks.
232
+ </details>
159
233
 
160
234
  ### Firebase
161
235
 
162
- Firebase is an easy-to-use platform for mobile and web apps.
163
-
164
- With firebase, you trade simplicity for control & power. With Stacktape, you don't.
165
-
236
+ <details>
237
+ <summary>Read more</summary>
238
+ Firebase is an easy-to-use BaaS (backend as a service) platform for mobile and web applications.
239
+
240
+ 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.
166
241
 
167
242
  #### Stacktape's advantages
168
243
 
169
- - **Support for containers and long-running jobs** - Firebase supports only (FaaS) functions.
170
- - **SQL** - Firebase supports only key-value datastore.
171
- - **Lower bills** - AWS is significantly cheaper than Heroku. And Stacktape makes it even more cost-effective.
172
-
244
+ - **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.
245
+ - **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.
246
+ - **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
247
+ - **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with validation, autocompletion and built-in documentation.
248
+ - **Cost at scale** - Firebase can get very costly very fast when you go out of the free tier.
173
249
 
174
250
  #### Stacktape's disadvantages
175
251
 
176
- - **Less pre-made features for mobile apps** - While you can do anything you want using Stacktape and AWS, it's a bit more work for mobile app use-cases.
177
-
252
+ - **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
253
+ - **Less pre-built capabilities for mobile apps** - Stacktape doesn't come with purpose-built features for mobile apps.
254
+ </details>
178
255
 
179
256
  ### Kubernetes
180
257
 
181
- Kubernetes is a bit over-used tool for orchestrating containers.
182
-
183
- It comes with a great architectural, operational, configural and conceptual complexity.
184
-
258
+ <details>
259
+ <summary>Read more</summary>
260
+ Kubernetes is a popular and widely adopted tool for orchestrating containers.
261
+
262
+ However, it comes with great architectural, configuration, operational and financial overhead.
185
263
 
186
264
  #### Stacktape's advantages
187
265
 
188
- - **Usable by common developers** - No need for infrastructure and DevOps experts.
189
- - **Instant value** - You just deploy your app and it works. No need for months of configuration.
190
- - **Easy testing and debugging** - Includes developer tooling that makes developers productive.
191
-
266
+ - **Developer friendly** - Stacktape is usable by every developer. No DevOps, Cloud or infrastructure expertise is required.
267
+ - **Fully managed** - All resources supported by Stacktape are fully managed. They remove a lot of responsibility from your shoulders.
268
+ - **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.
269
+ - **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
270
+ - **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It allows you to easily build complicated deployment pipelines.
271
+ - **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly validated. Error messages are descriptive and include hints.
272
+ - **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with validation, autocompletion and built-in documentation.
273
+ - **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.
274
+ - **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.).
192
275
 
193
276
  #### Stacktape's disadvantages
194
277
 
195
- - **AWS only** - Stacktape currently supports only AWS.
196
- - **Cloud only** - Not usable with on-premise infastructure.
197
-
278
+ - **Not open-source** - Stacktape is a SaaS product. But it comes with a free tier.
279
+ - **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
280
+ - **Public cloud only** - Stacktape is not usable with on-premise infastructure.
281
+ </details>
198
282
 
199
283
  ### AWS SAM
200
284
 
201
- AWS Serverless Application Model is a framework for building FaaS-based application on AWS.
202
-
203
- Stacktape is designed to enable much more than just FaaS-based applications, while being easier to use.
204
-
285
+ <details>
286
+ <summary>Read more</summary>
287
+ Serverless Application Model is a simple and handy framework for building lambda function-based application on AWS.
288
+
289
+ Similarly to Serverless Framework, the simplicity disappears if you need more than just lambda functions.
205
290
 
206
291
  #### Stacktape's advantages
207
292
 
208
- - **More power** - Stacktape unlocks full power of AWS. Enabling you to do more and cover more use-cases.
209
- - **Zero-config code builds** - Stacktape builds your code and creates optimized deployment packages for you.
210
- - **Perfectly optimized** - Parallel builds and advanced caching make your development process significantly faster.
211
-
293
+ - **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.
294
+ - **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
295
+ - **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It allows you to easily build complicated deployment pipelines.
296
+ - **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly validated. Error messages are descriptive and include hints.
297
+ - **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with validation, autocompletion and built-in documentation.
298
+ - **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.
299
+ - **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.).
212
300
 
213
301
  #### Stacktape's disadvantages
214
302
 
215
- - **Not open-source** - Stacktape is not open-source. But we do have a generous free tier.
216
-
303
+ - **Not open-source** - Stacktape is a SaaS product. But it comes with a free tier.
304
+ - **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
305
+ </details>
217
306
 
218
307
  ### CloudFormation
219
308
 
220
- AWS Cloudformation provisions AWS resources defined as code. Stacktape is built on top of it.
221
-
222
- Stacktape provides a higher level abstraction. 1 Stacktape resource can consist of more than 15 Cloudformation resources.
223
-
309
+ <details>
310
+ <summary>Read more</summary>
311
+ AWS Cloudformation is a powerful tool for provisioning and configuring AWS resources.
312
+
313
+ Unfortunately, using Cloudformation is complex, time-consuming and requires a lot of Cloud and infrastructure knowledge.
224
314
 
225
315
  #### Stacktape's advantages
226
316
 
227
- - **Usable by common developers** - No need for infrastructure and DevOps experts.
228
- - **Zero-config code builds** - Stacktape builds your code and creates optimized deployment packages for you.
229
- - **Easy testing and debugging** - Includes developer tooling that makes developers productive.
230
-
317
+ - **Developer friendly** - Stacktape is usable by every developer. No DevOps, Cloud or infrastructure expertise is required.
318
+ - **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
319
+ - **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It allows you to easily build complicated deployment pipelines.
320
+ - **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly validated. Error messages are descriptive and include hints.
321
+ - **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with validation, autocompletion and built-in documentation.
322
+ - **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.
323
+ - **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.).
231
324
 
232
325
  #### Stacktape's disadvantages
233
326
 
234
- - **None** - Stacktape can be easily extended using native AWS Cloudformation resources.
235
-
327
+ - **None** - Stacktape is customizable and can be easily extended using native AWS Cloudformation resources.
328
+ </details>
236
329
 
237
330
  ### Terraform
238
331
 
239
- Terraform provisions resources across multiple cloud providers. It comes with it's own declarative langague.
240
-
241
- Stacktape comes with a higher level of abstraction over cloud infrastructure and handles more tasks for the developer.
242
-
332
+ <details>
333
+ <summary>Read more</summary>
334
+ Terraform is a tool for provisioning infrastructure across multiple cloud providers.
335
+
336
+ 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.
243
337
 
244
338
  #### Stacktape's advantages
245
339
 
246
- - **Usable by common developers** - No need for infrastructure and DevOps experts.
247
- - **Zero-config code builds** - Stacktape builds your code and creates optimized deployment packages for you.
248
- - **Easy testing and debugging** - Includes developer tooling that makes developers productive.
249
- - **No state management** - Infrastructure state management is reliably handled for you by AWS cloudformation.
250
-
340
+ - **Developer friendly** - Stacktape is usable by every developer. No DevOps, Cloud or infrastructure expertise is required.
341
+ - **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.
342
+ - **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
343
+ - **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It allows you to easily build complicated deployment pipelines.
344
+ - **Better developer experience** - Stacktape is simple, well-documented and easily customizable. Everything is properly validated. Error messages are descriptive and include hints.
345
+ - **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with validation, autocompletion and built-in documentation.
346
+ - **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.
347
+ - **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.).
251
348
 
252
349
  #### Stacktape's disadvantages
253
350
 
254
- - **Not open-source** - Stacktape is not open-source. But we do have a generous free tier.
255
- - **AWS only** - Stacktape currently supports only AWS.
256
-
351
+ - **Not open-source** - Stacktape is a SaaS product. But it comes with a free tier.
352
+ - **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
353
+ - **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).
354
+ </details>
355
+
356
+ ### Vercel
357
+
358
+ <details>
359
+ <summary>Read more</summary>
360
+ Vercel is a platform for building and hosting application frontends.
361
+
362
+ However, it has very limited support for building application backends (servers).
363
+
364
+ #### Stacktape's advantages
365
+
366
+ - **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.
367
+ - **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.
368
+ - **Optimized build process** - Stacktape supports zero-config, heavily optimized parallel builds with advanced caching.
369
+ - **Programmatic SDK** - Stacktape includes both CLI and SDK (currently supported for Javascript and Typescript). It allows you to easily build complicated deployment pipelines.
370
+ - **Editor extension** - Stacktape comes with a VS code editor extension to further improve developer experience with validation, autocompletion and built-in documentation.
371
+ - **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.
372
+ - **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.).
373
+
374
+ #### Stacktape's disadvantages
375
+
376
+ - **Smaller community** - Being a new product, Stacktape doesn't have a large community yet.
377
+ </details>
257
378
 
258
379
  ## FAQ
259
380
 
260
- - **"I have an issue. Where can I get help?"**
261
- You can get help on our community slack channel https://stacktape-community.slack.com. But we prefer if you submit an issue at https://github.com/stacktape/stacktape/issues
262
-
263
- - **"Is Stacktape open-source?"**
264
- No. But we do have a generous free tier. And you can participate on Stacktape's development by submitting issues and feature requests. We value your feedback.
265
-
266
- - **"Why isn't Stacktape open-source?"**
267
- Being able to monetize core features allows us to focus more on the product itself. We don't have to focus on premium addons or complementary services.
268
-
269
- - **"Which languages are supported?"**
270
- To write configuration, you can use anything, from javascript, typescript and python to JSON and YAML. Zero-config bundling (e.g. building source code, resolving dependencies, packaging lambda packages or Docker images) is supported for Javascript and Typescript, with Python and Java coming very soon. Furthermore, you can deploy containers written in any language, if you supply your own Dockerfile.
271
-
272
- - **"Are you going to support more cloud providers?"**
273
- Yes. We will start with MS Azure and continue with Google Cloud. You can expect first MS Azure support during second half of 2021.
274
-
275
- - **"I have no previous cloud experience. Can I still use Stacktape?"**
276
- Yes. Our mission is to simplify cloud computing as much as possible. If you have a basic back-end development understanding, you will be able to deploy production-ready cloud applications to AWS in no time.
277
-
381
+ <details>
382
+ <summary>"Can I use Stacktape for free?"</summary>
383
+ Yes. Stacktape is forever free for small and medium size projects.
384
+
385
+ For open-source maintainers, we also offer a premium plan for free. Feel free to [contact us](https://stacktape.com/#contact).
386
+
387
+ </details>
388
+
389
+ <details>
390
+ <summary>"What do I need to pay for?"</summary>
391
+ For larger projects that require more infrastructure resources or advanced features, you can choose a [premium plan](https://stacktape.com/#pricing).
392
+
393
+ Premium plans cost only a fraction of the cost you'd pay for an alternative solution or for DevOps/Cloud specialists.
394
+
395
+ </details>
396
+
397
+ <details>
398
+ <summary>"Is Stacktape secure?"</summary>
399
+ Yes.
400
+
401
+ Stacktape works on the developer’s machine (or on your CI/CD server). Your deployments don't go through any Stacktape-managed infrastructure.
402
+
403
+ Furthermore, Stacktape does everything it can to help you secure your applications (least privilege permissions, secret management, database access management, etc.).
404
+
405
+ </details>
406
+
407
+ <details>
408
+ <summary>"Which cloud providers are supported?"</summary>
409
+ Stacktape is built around AWS. AWS is the biggest and most advanced cloud computing provider.
410
+
411
+ Besides numerous AWS services, Stacktape integrates popular 3rd party service providers (such as MongoDb Atlas).
412
+
413
+ Support for MS Azure is planned for late 2022.
414
+
415
+ If you need anything else currently not supported by Stacktape, feel free to [contact us](https://stacktape.com/#contact).
416
+
417
+ </details>
418
+
419
+ <details>
420
+ <summary>"Can Stacktape really cover all of my cloud infrastructure needs?"</summary>
421
+ Yes. Stacktape supports all of the most commonly used infrastructure components.
422
+
423
+ Furthermore, if your use-case is very specific and not natively supported by Stacktape, you can easily extend Stacktape applications with any AWS service.
424
+
425
+ </details>
426
+
427
+ <details>
428
+ <summary>"Which programming languages are supported?"</summary>
429
+ You can deploy applications written in any language, if you supply your own Dockerfile.
430
+
431
+ Zero-config, heavily optimized builds are currently supported for Javascript and Typescript applications. Zero-config Python, Go and Java builds are coming soon.
432
+
433
+ To write Stacktape configuration, you can use YAML, JSON, Javascript, Typescript or Python.
434
+
435
+ </details>
436
+
437
+ <details>
438
+ <summary>"Do I lose control or flexibility with Stacktape?"</summary>
439
+ No.
440
+
441
+ Unlike other solutions on the market, Stacktape is designed to be easily customizable and extensible.
442
+
443
+ </details>
444
+
445
+ <details>
446
+ <summary>"Can you help us migrate to the cloud?"</summary>
447
+ Yes.
448
+
449
+ Migrating your applications to the cloud using Stacktape is in most cases very straightforward.
450
+
451
+ If you need more assistance, our team of cloud specialists can help you architect, design and run your cloud applications.
452
+
453
+ Feel free to [contact us](https://stacktape.com/#contact).
454
+
455
+ </details>
278
456
 
279
457
  ## Community and Socials
280
458
 
281
- - [Email updates](https://stacktape.com/#subscribe)
282
- - [Facebook](https://www.facebook.com/stacktape)
459
+ - [Email newsletter](https://stacktape.com/#subscribe-to-newsletter)
460
+ - [Community Slack](https://stacktape-community.slack.com)
461
+ - [Contact us](mailto:info@stacktape.com)
283
462
  - [Twitter](https://twitter.com/stacktape)
284
463
  - [Linked In](https://www.linkedin.com/company/stacktape/)
285
- - [Instagram](https://www.instagram.com/stacktape_com/)
286
- - [Slack](https://stacktape-community.slack.com)
287
- - [Contact us](mailto:info@stacktape.com)
288
-
289
464
 
290
465
  ## Other
291
466