Docs

Example projects


Careers

Terms of use

Privacy policy

Contact us

Roadmap

Blog

Sign up

Reshaping DevOps: Platform as a Service 2.0

Šimon Obetko, Dev @ Stacktape

March 11, 2024

Navigating the DevOps landscape feels like walking through a dense forest, doesn't it?

Between managing deployments, wrestling with configurations, and ensuring everything scales smoothly, it's a journey fraught with challenges. We've been there, and we get it. That's why we created and are excited to introduce Stacktape—it's our way of saying, " We see the hurdles you're facing, and we're here to help you leap over them."

Stacktape isn't just another tool in your arsenal. It's a developer-first platform designed to automate DevOps complexities, deployment, and use of AWS for developers and CTOs — a PaaS 2.0. With Stacktape, we're aiming to clear the path for you, making cloud-native application development on AWS not just easier but genuinely enjoyable.

Developer makes first contact with AWS

We whipped up Stacktape as your go-to DevOps buddy that's got you covered for everything: from serverless functions, container services, CDNs, to load balancers, relational databases, MongoDB, Kafka, and yes, evenNext.js@Edge.

Do not be mistaken. Stacktape is not only about getting your workload up and running quickly on AWS. We will be talking:

  • packaging,
  • local development,
  • security,
  • costs overview,
  • secrets,
  • alerts,
  • monitoring,
  • logs,
  • domain management

and more... Throughout the next few days, we will break down what Stacktape really does and the features it brings to the table.

One Config to Rule Them All

Every Stacktape project starts with a simple config file - a template. This is your app's single source of truth and its blueprint. Unlike other setups where you might juggle multiple config files for different tools, Stacktape brings everything into one place. You can write your template in YAML, TypeScript, or even Python. This means less clutter and more focus on your code.

Just a single config

Easy to Read, Easy to Use

The Stacktape config is straightforward. It's made to be human-readable, so anyone on your team can understand it, not just the developers. This cuts down on the time you spend managing infrastructure and lets you concentrate on building great apps. It's all about making your life easier, whether you're automating deployments or explaining your setup to a colleague.

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
connectTo:
- mainDatabase
cors:
enabled: true

Freedom to Customize

We understand the importance of having the flexibility to tweak and tailor your infrastructure to fit your specific needs.

Since Stacktape is built on CloudFormation, you get all the customization you might need. Want to tweak CloudFormation resources or mix in some CDK constructs? Go for it. Stacktape gives you the tools to tailor your environment exactly how you want, without making things overly complicated.

trying to fit into traditional paas
resources:
mainDatabase:
type: relational-database
properties:
credentials:
masterUserName: $Secret('prodDb.name')
masterUserPassword: $Secret('prodDb.pass')
engine:
type: postgres
properties:
primaryInstance:
instanceSize: db.t3.micro
# parameters not exposed by Stacktape abstractions
# can be directly set/overridden in Cloudformation resource
overrides:
MainDatabaseDbParameterGroup:
Parameters:
max_connections: 5

Complexity Simplified: Solutions at Your Fingertips

We take great satisfaction in enabling users to deploy their applications easily while we do the heavy lifting on the background. Just take an example of our Next.js serverless resource. It only takes two lines for user to configure the resource and we take care of the rest. On the background, Stacktape takes care of building your app, creating tens of resources on AWS to run your app in AWS Lambda and delivering the app itself to the cloud.

Now you might say: Great, but this is already achievable using Vercel or other solutions. Why would I care?

Well besides this being dramatically cheaper at a scale ;)… can you use Vercel to deploy and control databases and other parts of your infrastructure? This is how easy it is to do with Stacktape — to create and connect serverless postgres database and third party serverless Upstash Redis to your Next.js app:

resources:
myWeb:
type: nextjs-web
properties:
appDirectory: ./
connectTo:
- myDb
- myRedis
myDb:
type: relational-database
properties:
engine:
type: aurora-postgresql-serverless
credentials:
masterUserName: $Secret('myDb.name')
masterUserPassword: $Secret('myDb.pass')
myRedis:
type: upstash-redis

If you're interested in Next.js, check out our full-stackT3 Next.js App tutorial.

So, what is different about us?

We strive towards covering your app’s needs without the need to use different tools for each part of your app:

  • Prefer containers or serverless functions? We got both. ✅
  • Do you want Stacktape to build your code or do you prefer to use your own Dockerfile or prebuilt artifacts? No problem. ✅
  • Need to use advanced Blue/Green deployment strategies? Comes out of the box. ✅
  • Want to have your database accessible only in your private network? Yes, sir. ✅
  • Executing database migrations through secured bastion tunnel? Easy. ✅

We aim to take care of your application as a whole from packaging and deploying to monitoring and alerting. To provide a platform with advanced features that you will not outgrow.

Composing stack in GUI

Simplified Code Packaging with Stacktape

As we touched on earlier, we don't want to box you into our ways, and you are free to build and package your app your own way. But you know what is even easier than writing a Dockerfile or creating your own zip lambda function artifact? Letting Stacktape build and package your app for you.

Broad Language Support

Stacktape packaging is designed with versatility in mind, supporting a wide array of programming languages including Typescript, Javascript, Python, Go, and Java. This broad language support ensures that no matter what technology stack you're using, Stacktape can seamlessly integrate into your workflow, providing a unified solution for your code packaging needs.

Fast Builds, Smaller Artifacts

Our build process is not just fast; it's also efficient, producing small artifacts that result in quicker deployments. For functions, we generate zip packages, and for container-based applications, we produce optimized images. This efficiency is key in minimizing deployment times and ensuring that your applications are up and running as quickly as possible.

Intelligent Caching

One of the standout features of Stacktape's packaging process is its intelligent caching system. If we detect that an artifact has already been deployed and no changes have been made, we won't deploy it again. This not only speeds up deployments even further but also reduces unnecessary load on your resources, making your deployment process as efficient as possible.

Packaging

TLS Out of the Box and Easy Custom Domains

We recognize that secure and custom domain management is a fundamental requirement for any online application. That's why Stacktape effortlessly takes care of it for you. From the get-go, your domains are TLS-secured, ensuring your applications are both secure and trusted, without any extra steps needed from your side.

Here's How It Works:

  • DNS Records Made Easy: When you opt for a custom domain with Stacktape, a DNS record is automatically created during deployment, pointing your domain directly to your resource. This removes the hassle of manual DNS management, making the process smooth and straightforward.
  • Hassle-Free TLS Certificates: Ensuring your site is secure with HTTPS is non-negotiable. Stacktape issues and attaches the appropriate AWS-managed TLS certificate to your resource, providing robust security at no additional cost. This way, you enjoy encrypted connections and a secure site without the complexity typically involved.
  • Custom Certificates? No Problem: If you have specific certificate needs or prefer to use your own, Stacktape offers the flexibility to use customCertificateArns in your setup. This ensures that your security preferences are met without compromising on convenience or security.
resources:
myWeb:
type: hosting-bucket
properties:
uploadDirectoryPath: ./build
customDomains:
# easily attach a domain to your resource
- domainName: my-custom-domain.com
# or have custom subdomain parametrized by the stage of the environment
- domainName: $Format('{}.my-custom-domain.com', $Stage())

Deploy Your Way: From Push-to-Deploy to CLI Mastery

Are you looking for a push-to-deploy experience? Or are you a terminal power user with a strong preference towards CLIs? With Stacktape, you're covered either way. We understand that every developer has their unique workflow and preferences, which is why we've designed Stacktape to be as versatile and accommodating as possible.

Push-to-Deploy: Streamlined and Simple

For those who appreciate the simplicity and automation of a push-to-deploy mechanism, Stacktape's console integration has got your back. Connect your repository directly within the Stacktape console, and set up a seamless push-to-deploy experience. This means every time you push your code, Stacktape takes care of the rest, deploying your updates automatically to AWS. It's hassle-free, efficient, and perfect for teams looking to streamline their deployment processes.

Integrating with git

CLI: Deploy from Anywhere, Anytime

On the flip side, if you thrive in the command line environment and love the control and flexibility it offers, Stacktape's CLI binary is your playground. Deploy from anywhere, anytime, with just a few keystrokes. The CLI is packed with powerful features, offering you the full suite of Stacktape's capabilities right at your fingertips. Whether you're pushing a quick update or rolling out a major release, the Stacktape CLI makes it a breeze, ensuring you're always in command of your deployment process.

Using CLI

Thanks for reading till the end! We hope you enjoyed the updates for our first Stacktape Launch Week Day #1.

We are looking forward to seeing what you build with Stacktape, and your feedback to make it even better.

More on Launch Week #1 & how to support us:

Stay in touch

Join our monthly product updates.

input icon

Copyright © Stacktape 2024