Hello. I'm Taehyun Kim from 'This is My Architecture'. Today, we are with Donguk Lee from Zigbang.
We will talk about the architecture of Zigbang.
- Hi. - Hello.
First, please introduce Zigbang.
Yes, Zigbang is an integrated platform service that provides real estate information for apartments,
studios, and offices.
Currently, this is really for real estate,
but in the long run, it is growing to providing additional services related to living and housing.
Yes, here is the Zigbang architecture that utilizes different AWS services.
Can you please explain the architecture?
Yes, I'll explain the overall architecture of the Zigbang service.
Please see the diagram. When an API request is delivered through a client,
Route53 forwards traffic to CloudFront.
This Route53 will pass back to the internal Route53.
This Route53 will send traffic to each server.
Each server sends a response to the client
through the CRUD operation in the database.
Initially, there was only one architecture with API Gateway and Lambda.
Due to the traffic and cost issues, we are operating it with ECS and Fargate.
Yes, when I see the architecture you described, the part that uses Route53 seems
unique.
How did you construct the architecture to fix the issue?
First, the purpose of internal Route53 is the weight distribution for traffic.
By placing the weight distribution in AWS, the distribution can be achieved in real-time.
The weight distribution uses CloudWatch's monitoring through ECS monitoring. CloudWatch provides information to Lambda,
so the AWS SDK determines the load on each server
and reflects it in real-time.
For processing the real-time weight, you have one more Route53 inside.
In the back, you are using ECS ​​and Lambda together.
Is there any special reason?
In the case of this ECS, autoscaling itself was not enough to sustain the large amounts of traffic within a short time
due to the push marketing for events.
In order to prevent the traffic loss during autoscaling,
through the above structure, traffic was increased to Lambda
and the load on ECS was reduced
during scale-out.
On the contrary, when it's stable, we provided the stable services by reducing the proportion of Lambda in the API Gateway
and increasing the proportion of ECS.
It enabled us to use the cost savings and reliable traffic distribution.
When there was the large amount of traffic, you used Lambda so that ECS autoscaling could handle it a little more efficiently.
I see that you are using different DBs together.
Could you please explain the purpose of each and how the data will be used later?
In our Zigbang, we use 4 types of storage:
The first is ElastiCache, the second is DocumentDB, the third is RDS, and the fourth is Elasticsearch.
First, in the case of ElastiCache, the cache is intended to speed up
the response to the volatile data.
DocumentDB is used for data
with a lot of inquiries
or unstructured data.
RDS is the basic storage for basic CRUD.
Lastly, Elasticsearch is used for two purposes.
First, it is used as the search engine for searching apartment addresses.
The second purpose is storing, managing, and collecting
the application logging for trouble shooting.
It would not have been easy to manage the infrastructure to maintain Zigbang's overall architecture.
Could you please explain how you manage the infrastructure in Zigbang?
All of our architectural designs and the direction of deployment is made through the AWS CDK.
Meaning that it borrows the concept of "Infra as a Code".
As you can see, we are also using
the AWS SDK for some services
or real-time changes.
Yes, thanks for your explanation today.
Could you tell us a little about Zigbang's future plans?
Zigbang service is called a hybrid architecture with duplexing method.
I designed the service with this hybrid architecture.
Internally, we are also working on MSA.
Therefore, in the long run, we aim to implement the internal duplexing service with MSA.
The load balancing of all traffic
or service processing will be done through CDK,
and we aim to design and develop a way
that microservices can be added or subtracted at any time.
I'm looking forward to seeing Zigbang's future.
Thank you.
This has been 'This is My Architecture'. Thank you.