Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add blog on building scalable multi-tenant systems with aws cdk #70

Merged
merged 8 commits into from
Dec 30, 2024

Conversation

Mufaddal5253110
Copy link
Contributor

No description provided.

Copy link

netlify bot commented Nov 22, 2024

Deploy Preview for infraspec ready!

Name Link
🔨 Latest commit f555cb5
🔍 Latest deploy log https://app.netlify.com/sites/infraspec/deploys/676a98e8c4bd760008feb16d
😎 Deploy Preview https://deploy-preview-70--infraspec.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

featured: true
weight: 1
---
In this blog I will be taking you on a journey of building the scalable and efficient IaC solution that we build for our multi-tenant system. Here we are not going to debate why we choose the CDK; that will be another discussion that can be highlighted in another blog. Instead, how we approached solving using AWS CDK is going to be discussed in this blog. Even if you are not very familiar with CDK, this blog can help to build a mental model of how we can think while writing the code for the infrastructure of such a complex system.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's fix this.


So we had two options: Either edit the same code to add another support for the application, or create a new CDK project that will only care about the application, considering the networking part is already set up.

We choose to go with the 2nd approach because
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's fix this as well.


A multi-tenancy architecture uses a single instance of a software application to serve multiple customers. Each customer is referred to as a tenant. Tenants can customize certain aspects of the application, such as the color of the user interface or business rules, but they cannot change the application's code.

While there are mainly three types of multi-tenant architecture.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't feel like this is worded correctly.

Maybe you want to say - There are three main types of multi-tenant architecture.

While there are mainly three types of multi-tenant architecture.

1. One Application, One Database: All tenants share a single database.
2. One Application, Multiple Databases: Each tenant has its own database while sharing the same application instance.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about rewording this to make it easier to read/understand - One Application, Multiple Databases: Each tenant has its own database that shares the same application instance.

featured: true
weight: 1
---
In this blog I will be taking you on a journey of building the scalable and efficient IaC solution that we build for our multi-tenant system. Here we are not going to debate why we choose the CDK; that will be another discussion that can be highlighted in another blog. Instead, how we approached solving using AWS CDK is going to be discussed in this blog. Even if you are not very familiar with CDK, this blog can help to build a mental model of how we can think while writing the code for the infrastructure of such a complex system.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you check for grammatical mistakes like missing commas, spacing at sentence start, etc in the whole blog?


Considering we have what we wanted for our networking infrastructure, then for applications we are going to use Fargate ECS services, RDS for databases, SSM for application environment variables, Secret Manager for application secrets, and Route 53 for maintaining the DNS records.

And for continuous integration and continuous deployment, we are going to use GitHub Actions. From all this decision, you might realize that we are avoiding anything self-hosted for now.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar issue: And for continuous integration and continuous deployment, we are going to use GitHub Actions. From all this decision, you might realize that we are avoiding anything self-hosted for now.
Suggestion: And for continuous integration and continuous deployment, we are going to use GitHub Actions. From all these decisions, you might realize that we are avoiding anything self-hosted for now.

### ECS Service Stack (with EFS)

The stack creates the ECS service for the tenant cluster by identifying via the configuration file alongside the ALB, NLB, EFS, and security groups.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar issue: tenant cluster by identifying via the configuration file alongside the ALB, NLB, EFS, and security groups.
Suggestion: tenant cluster by identifying it via the configuration file alongside the ALB, NLB, EFS, and security groups.

@vjdhama vjdhama merged commit 1eb67aa into main Dec 30, 2024
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants