Stacktape

Sign up for freeSign up



How it works

Overview

Stacktape is distributed as a single binary and can be installed using a single command.

It works on any (Windows, Linux or Mac) machine or CI/CD server.

Stacktape itself is implemented in Typescript (with a fallback to Go for performance demanding tasks).

Configuration

Every aspect of your infrastructure and deployment process is configured using a simple (YAML, JSON or Typescript) configuration.

The configuration lives alongside your application in your project repository. This approach has multiple advantages:

  • Version-controlled and easy to review
  • Immediately obvious for every developer how the application runs in production
  • Ability to spin up multiple environments (stages) using the same configuration
  • Your applications can be deployed using a single command

Example stacktape.yml configuration

Copy

serviceName: my-application
resources:
apiServer:
type: web-service
properties:
resources:
cpu: 1
memory: 2048
scaling:
minInstances: 1
maxInstances: 5
packaging:
type: stacktape-image-buildpack
properties:
entryfilePath: ./src/index.ts

Infrastructure management

Behind the scenes, Stacktape uses AWS CloudFormation to manage your infrastructure.


Stacktape offers 25+ high-level infrastructure resources.

This resources are composed of multiple (in some cases more than 20), underlying AWS services.

For example, a single web-service resource translates to almost 1000 lines of Cloudformation configuration.

Deployments

Stacktape offers different ways to deploy your application.

1. From local machine

The deployment from local machine will build and deploy the application from your (Windows, Linux or Mac) system.

These deployments are the fastest and most convenient, but require you to have Docker (or any other language-specific build) tool installed.

The deployment is as simple as

Copy

stacktape deploy --stage <<stage>> --region <<region>>

Deploy from local machine
Deploy from local machine

2. Using AWS CodeBuild pipeline

The Deployment using AWS CodeBuild will build and deploy your application remotely, inside AWS CodeBuild pipeline.

These deployment ensure the consistent deployment environment and doesn't require anything (besides Stacktape) installed locally.

The deployment is as simple as

Copy

stacktape codebuild:deploy --stage <<stage>> --region <<region>>

Deploy from AWS
Deploy from AWS

3. Using any CI/CD tool

Stacktape also easily integrates into any CI/CD pipeline that your already use.

Example Github actions workflow configuration

Copy

name: Deploy application using Stacktape
on:
push:
branches:
- main
jobs:
deploy-app:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: "16"
- name: Install Stacktape
run: curl -L https://installs.stacktape.com/linux.sh | bash
- name: Deploy the stack
run: stacktape deploy --stage <<stage>> --region <<region>>
env:
STP_API_KEY: ${{ secrets.STP_API_KEY }}

Deploy from your CI/CD
Deploy from your CI/CD

Previous

Developer self-service

Next

Install Stacktape

Need help? Ask a question on SlackDiscord or info@stacktape.com.