ecs-refarch-cloudformation VS django-step-by-step

Compare ecs-refarch-cloudformation vs django-step-by-step and see what are their differences.

ecs-refarch-cloudformation

A reference architecture for deploying containerized microservices with Amazon ECS and AWS CloudFormation (YAML) (by aws-samples)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
ecs-refarch-cloudformation django-step-by-step
5 23
1,675 167
- -
0.0 8.7
9 months ago 2 days ago
Makefile Python
Apache License 2.0 -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ecs-refarch-cloudformation

Posts with mentions or reviews of ecs-refarch-cloudformation. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-07.
  • My Infrastructure as Code Rosetta Stone - Deploying the same web application on AWS ECS Fargate with CDK, Terraform and Pulumi
    8 projects | dev.to | 7 Jan 2023
    I first started out with IaC following this project aws-samples/ecs-refarch-cloudformation (which is pretty old at this point) and wrote a lot of CloudFormation by hand. The pain of doing that lead me to explore the CDK with Python. I learned TypeScript by rewriting the Python CDK code I wrote in TypeScript. I later worked with a team that was more experienced in Terraform and learned how to use that. I feel like Pulumi takes the best of the two tools and has a really great developer experience. There is a little bit of a learning curve with Pulumi, and you give up some of the simplicity of Terraform.
  • Daisy-chaining CloudFormation templates together
    1 project | /r/aws | 19 Jul 2022
    Yes, deploy them as nested stacks inside a parent template. You can reference outputs via !GetAtt NestedStackX.Outputs.OutputName. see this repo for an example https://github.com/aws-samples/ecs-refarch-cloudformation
  • My approach to building ad hoc developer environments using AWS ECS, Terraform and GitHub Actions (article link and diagram description in comments)
    2 projects | /r/aws | 12 Jun 2022
    Sure. My IaC journey actually started out with CloudFormation, and I learned a lot from this reference project: aws-samples/ecs-refarch-cloudformation. Then I picked up CDK when that became available and migrated a project from CloudFormation to CDK. It sounded like a nicer way to handle stacks in a familiar language with lots great one-liners and utility functions and constructs, and it definitely is. I have a similar project written in CDK that is an application/framework-first (Django) approach to learning and doing IaC that you can find here: https://github.com/briancaffey/django-cdk. This implements both ECS and EKS, but my attempts at learning EKS sort of fizzled out for now as I don't have the need to use it, and for the task at hand (running a monolithic Django application on AWS) I think ECS makes a LOT more sense.
  • Docker Hosting
    3 projects | /r/docker | 4 May 2022
    I'm mostly using just EC2 instances running Docker Engine and Docker Compose (with configs and Compose projects in Git), but I'm starting to use CloudFormation and ECS more. I've taken a lot of inspiration from https://github.com/aws-samples/aws-refarch-shibboleth, https://github.com/awslabs/ecs-refarch-continuous-deployment, and https://github.com/aws-samples/ecs-refarch-cloudformation. At some point in the future, I plan to refactor my CloudFormation/ECS deployments into something more cloud agnostic using Terraform/Kubernetes.
  • Best way to deploy docker compose to AWS ECS?
    1 project | /r/docker | 4 Mar 2021
    If you need more options that is provided the Docker/ECS tool listed above you can roll your own using CloudFormation (the AWS deployment scripting tool). There's a good starter here.

django-step-by-step

Posts with mentions or reviews of django-step-by-step. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-22.
  • What is your development cycle when using docker and containers? What's the general flow between developing locally and running the containers to test.
    2 projects | /r/django | 22 Jan 2023
    Here's an example of a docker-compose file in my reference Django project: https://github.com/briancaffey/django-step-by-step/blob/main/docker-compose.yml
  • My Infrastructure as Code Rosetta Stone - Deploying the same Django application on AWS ECS Fargate with CDK, Terraform and Pulumi
    6 projects | /r/devops | 7 Jan 2023
  • My Infrastructure as Code Rosetta Stone - Deploying the same web application on AWS ECS Fargate with CDK, Terraform and Pulumi
    8 projects | dev.to | 7 Jan 2023
    Mono repo with a sample Django micro blogging app (μblog) and frontend app (Vue SPA written with Quasar), GitHub Action workflows for infrastructure and (separate) application deployment pipelines, IaC code that consumes each of the libraries listed above, VuePress documentation site and miscellaneous items (k6 load testing scripts, Cypress tests, docker-compose, etc.): github.com/briancaffey/django-step-by-step
  • My Django blog website doesn't have a 'like' button. How can I add one?
    1 project | /r/django | 1 Jan 2023
    This project also uses a model manager to make it easy to show how many people like a post as well as if the current user likes the post or not https://github.com/briancaffey/django-step-by-step/blob/main/backend/apps/blog/managers.py.
  • Need some theoretical clarity on Terraform vs AWS CDK
    1 project | /r/Terraform | 12 Dec 2022
    Here's another repo that consumes these IaC libraries and deploys them through GitHub Actions pipelines: https://github.com/briancaffey/django-step-by-step
  • Decoupling terraform ecs task definition and deployments
    2 projects | /r/Terraform | 23 Nov 2022
    By ignoring changes here you don’t have to worry about infra upgrades pushing out application updates. And you can update your app with with a separate pipeline. My code uses AWS CLI to register new task definitions. Here’s an example of my pipeline that deploy the app: https://github.com/briancaffey/django-step-by-step/blob/main/.github/workflows/ad_hoc_update_backend.yml
  • Scenario based question for DevOps Engineers out there
    2 projects | /r/devops | 22 Nov 2022
    Here are some other questions that would be good to ask about the infrastructure: * What AWS account will this run in? Who has access to that account? Are SSO permission sets used? * What DNS records will be used to access the frontend and the backend? Are these two services accessed via the same record URL? For example, all do you to only send example.com/api/* traffic to the backend and then send all other example.com/* to the Angular frontend? Or do you want to use api.example.com for all API traffic and example.com for the Angular site. What about non-prod environments? Will you use alpha.example.com for a staging environment for a non-prod environment named alpha? * You mentioned that the team will be using Terraform heavily, how will you be splitting up your modules? When you run Terraform's apply command, does it update a single set of infrastructure for your entire application, or do you run terraform apply several times for different groups of resources, such as a networking stack (with VPC), data stack (with RDS) and application stack (for ECS resources), for example? You will probably use terraform remote state to manage these different logical components and the data dependencies they have between each other. * Another related question is how you are running pipelines for Terraform? I would use something like GitHub Actions. When a pipeline runs, you should see the output of a terraform plan stage and then the pipeline should pause for manual approval after the changes have been reviewed. This can be done with GitHub environments, for example, and other CI/CD tools can also do this. * What happens when you need to change an environment variable? This can be a complicated question. Environments that are not secrets might be stored in a terraform.tfvars file, or might be stored in environment variables in your pipeline in the form of TFVAR{name}, so this implies that changing an environment variable is an infrastructure change. You want to keep your infrastructure deployments separate from your application deployments. If you are using ECS, you probably want to use ignore_changes for the task definitions referenced by the services. This will create a new task definition, but it will not be used by the new services. When you do an application update, the service may use this new task definition with the updated environment variable. * Another question: does anyone on the team need direct access to the database? Is there a bastion host used in the infrastructure that can people can connect to the DB with via port forwarding? I hope these questions are helpful. I have thought about a lot of these and have been exploring their answers with an open source project focused on a containerized, database-backed Python web app (made with Django) that I deploy on AWS with ECS Fargate, and I have another repo with Terraform modules for deploying application infrastructure. Here's the application repo: https://github.com/briancaffey/django-step-by-step and here is the Terraform module repo: https://github.com/briancaffey/terraform-aws-django. Please let me know if you have any questions
  • How do you organize your code in Vue 3 composition api?
    1 project | /r/vuejs | 9 Nov 2022
    Here is how I organize my modules for an example microblog app: https://github.com/briancaffey/django-step-by-step/tree/main/quasar-app/src/modules
  • Django templates with DRF and React
    1 project | /r/django | 9 Nov 2022
    Yes, this is possible. There are different ways to do this and it will depend on how and where you host your applications. Here's an example project of mine that I run on AWS that uses some the same URL with some routes for Django template-powered views, some views for a Vue app, some views for REST API and some views for GraphQL: https://github.com/briancaffey/django-step-by-step.
  • When to implement CI/CD in a brand new project?
    1 project | /r/django | 6 Nov 2022
    Here's an example of how I implement CI and CD with a Django project on AWS using GitHub Actions. I use ECS Fargate. https://github.com/briancaffey/django-step-by-step/blob/main/.github/workflows/backend_linting_and_unit_tests.yml

What are some alternatives?

When comparing ecs-refarch-cloudformation and django-step-by-step you can also consider the following projects:

aws-refarch-shibboleth - Containerized version of the Shibboleth IdP running on AWS with AWS Secrets Manager and AWS CodePipeline integrations. You can submit feedback & requests for changes by submitting issues in this repo or by making proposed changes & submitting a pull request.

homelab

projen - Rapidly build modern applications with advanced configuration management

cookiecutter-django-vue-graphql-aws - A highly opinionated Cookiecutter template that fuses together Django, Vue.js, GraphQL, and AWS into one full-stack web application.

ecs-refarch-continuous-deployment - ECS Reference Architecture for creating a flexible and scalable deployment pipeline to Amazon ECS using AWS CodePipeline

todo-app-infra - Repository contains example application with PaaS, SaaS & IaaS

pulumi-aws-django - A Pulumi package for deploying Django applications to AWS using ECS Fargate and other managed services

scim-examples - 1Password SCIM Bridge deployment examples

docker-django-example - A production ready example Django app that's using Docker and Docker Compose.

django-postgres-vue-gitlab-ecs

terraform-aws-ad-hoc-environments - Shared resources for supporting multiple ad hoc environments in an AWS account for software development teams