All Projects → rbogle → backstage-on-aws

rbogle / backstage-on-aws

Licence: other
cdk application to deploy backstage as a container on AWS Fargate(ECS) with Aurora-postgresql DB

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to backstage-on-aws

aws-ecs-orb
An orb that simplifies deployment to Amazon's Elastic Container Service (ECS). Supports both EC2 and Fargate launch types.
Stars: ✭ 48 (+29.73%)
Mutual labels:  fargate
aws-eks-accelerator-for-terraform
Configure and deploy complete EKS clusters.
Stars: ✭ 1,220 (+3197.3%)
Mutual labels:  fargate
fargate-create
A CLI tool for scaffolding out new AWS ECS/Fargate applications based on Terraform templates and Fargate CLI
Stars: ✭ 103 (+178.38%)
Mutual labels:  fargate
guestbook
A simple app with automated infrastructure provisioning, app deployment, and E2E testing
Stars: ✭ 25 (-32.43%)
Mutual labels:  fargate
vue-backstage-manage
一个基于IVIEW 的VUE 后台管理端
Stars: ✭ 40 (+8.11%)
Mutual labels:  backstage
ecs-taskmetadata-cloudwatch
An example sidecar container for Amazon ECS and AWS Fargate to enable task/container-level metrics on CloudWatch
Stars: ✭ 17 (-54.05%)
Mutual labels:  fargate
ecs-container-exporter
AWS ECS side car that exports ECS container level docker stats metrics to Prometheus as well as publish it via Statsd.
Stars: ✭ 22 (-40.54%)
Mutual labels:  fargate
ecsgo
Provides an interactive prompt to connect to ECS Containers using the ECS ExecuteCommand API.
Stars: ✭ 30 (-18.92%)
Mutual labels:  fargate
cdk-github-actions-runner
Deploy self-hosted GitHub Actions runner to AWS Fargate using AWS Cloud Development Kit (CDK)
Stars: ✭ 89 (+140.54%)
Mutual labels:  fargate
faas-fargate
OpenFaaS on AWS Fargate. Open source Functions as a Service without any infrastructure to manage
Stars: ✭ 50 (+35.14%)
Mutual labels:  fargate
techdocs-cli
Former repository housing the utility CLI for managing TechDocs sites in Backstage (now in the main backstage/backstage monorepo)
Stars: ✭ 13 (-64.86%)
Mutual labels:  backstage
workshop-serverless-graphql
[AWSKRUG Serverless Group 2019] Serverless GraphQL Workshop
Stars: ✭ 80 (+116.22%)
Mutual labels:  fargate
amazon-ecs-shim-loggers-for-containerd
Logger shim repository for streaming container logs when using Containerd
Stars: ✭ 35 (-5.41%)
Mutual labels:  fargate
terraform-fargate-tutorial
A minimal set of Terraform to create a Fargate service
Stars: ✭ 32 (-13.51%)
Mutual labels:  fargate
autoscaling-ec2-gitlab-runners-fargate
Autoscaling EC2 GitLab Runners Spawned by Fargate
Stars: ✭ 20 (-45.95%)
Mutual labels:  fargate
on-demand
CloudFormation resources for scheduling On-Demand Buildkite Agents with AWS ECS and AWS Fargate
Stars: ✭ 19 (-48.65%)
Mutual labels:  fargate
container-demo
How can I manage microservices using ecs-cli?
Stars: ✭ 30 (-18.92%)
Mutual labels:  fargate
terraform-aws-ecs-fargate-task-definition
AWS ECS Fargate Task Definition Terraform Module
Stars: ✭ 20 (-45.95%)
Mutual labels:  fargate
terraform-ecs-fargate-nlb
A Terraform template used for provisioning network application stacks on AWS ECS Fargate
Stars: ✭ 50 (+35.14%)
Mutual labels:  fargate
terraform-aws-ecs-alb-service-task
Terraform module which implements an ECS service which exposes a web service via ALB.
Stars: ✭ 108 (+191.89%)
Mutual labels:  fargate

Backstage Infrastructure

This project uses CDK to deploy a containerized version of your backstage instance along with the required infrastructure in into a AWS account, to host your own Backstage based service. It creates two independent stacks which deploy pipelines, infrastructure, and app image containers to AWS. It is assumed you have more than a passing familiarity with:

  • CDK
  • AWS
  • Backstage
  • Docker
  • Python

WARNING! Deploying these stacks to AWS will incur costs!

Versions

If you are looking for the orgininal version of this cdk stack without the use of pipelines see the original branch in this repo.

Prerequisites

you will need to have at least the following installed and configured:

  • python3
  • aws cli
  • aws cdk

and you will need to have your backstage application code in a separate repo from this one.

The backstage stack and pipeline

This stack creates multiple environments within a ECS Fargate cluster along with Aurora postgres dbs for persistence, and puts those behind application load balancers with a custom domain name. Finally it builds a codepipeline called the backstage-app-pipline which builds and deploys a new container image based on commits to a separate backstage repo where the backstage app code resides and triggers an ECS deployment update. Once this cdk stack is deployed, you only need to update your backstage application code to update the current running application.

The infrastructure pipeline

The infra pipeline stack creates a codepipeline to both update itself and to deploy the backstage stack described above. In this way this set of infrastructure code is self-updating and self-healing, and requires no manual intervention after the initial manual deployment of the infra-pipeline stack.

Diagram

Image of Architecture

Documentation

To Do

  • Move config file into cdk context
  • Create bootstrap scripts
  • Move app-buildspec.yml back to app repo?
  • Remove aws integration user and use an ECS role for AWS auth.
  • add dynamic route53 domain creation in the backstage-stack.
  • Add creation of ECR repository to the backstage-stack.
  • add Code* notification and connection creation to backstage-stack.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].