AWS 도입 사례 – 이스트에이드

MegazoneCloud AWS Case Study : EST AID


소개

About the Company

이스트에이드(구.줌인터넷)은 포털 서비스로서 검색, 뉴스, 연예, 스포츠, 여행, 라이프, TV, 쇼핑, 금융, 테크, 컬처, 푸드 등 다양한 카테고리에서 정보를 제공합니다. 서비스를 통해 다양한 고객과의 시너지로 인공지능(AI) 기술과 빅데이터 처리 역량을 활용하여 국내외 AI 기술 대중화를 추진과 동시 AI UX(사용자 경험) 사업에도 집중하고 있습니다.


과제

The Challenge

이스트에이드의 당면한 주요 과제는 아래와 같았습니다.

  • 마이크로 서비스 도입: 시스템을 마이크로 서비스 아키텍처로 재구성하여 유연성과 확장성을 향상시켜야 합니다.
  • 컨테이너 도입: 컨테이너 기술을 도입하여 애플리케이션 배포와 관리를 효율화하고 확장성을 강화해야 합니다.
  • DC와 AWS Public과의 연계: 온프레미스 데이터 센터와 AWS Public 클라우드를 연계하여 하이브리드 클라우드 환경을 구축하고 자원을 효율적으로 활용해야 합니다.
  • 효율적인 데이터 게시 및 정보 노출: 포털의 뉴스 및 다양한 데이터를 빠르게 게시하고 질 좋은 정보를 노출하기 위해 더욱 효율적인 프로세스와 시스템을 구축해야 합니다.
  • 언론매체 뉴스 수집 및 처리: 다양한 언론매체의 뉴스 및 자료를 효과적으로 수집, 분류, 처리하여 포털에 제공하는 작업을 개선해야 합니다.
  • 광고 노출 관리: 광고 효율을 높이기 위해 광고 노출을 관리하고 최적화하는 시스템을 구축하고 운영해야 합니다.
  • CDN을 활용한 콘텐츠 처리: 연예, 스포츠, 이슈 등의 기사와 콘텐츠를 CDN을 활용하여 빠르고 안정적으로 제공할 수 있도록 처리해야 합니다.

역할

메가존클라우드의 역할

메가존클라우드는 고객의 비즈니스 목표를 달성하기 위해 아래의 서비스들을 활용하여 아키텍쳐을 구현하였고 기대하는 결과를 가져올 수 있었습니다.

1. GitLab 및 Jenkins (CI/CD)

GitLab: Git 저장소를 호스팅하고 코드 버전 관리, 이슈 트래킹, 협업 기능 등을 제공하는 통합 개발 환경입니다.

Jenkins: 지속적 통합 및 지속적 배포 (CI/CD)를 구축하는 오픈소스 자동화 도구로, 다양한 플러그인을 통해 다양한 환경에서 사용할 수 있습니다.

 

2. MSA (마이크로 서비스 아키텍처)

마이크로 서비스 아키텍처는 Frontend, Backend, 그리고 Redis와 같은 서비스를 독립적으로 개발, 배포 및 확장 가능하게 분리하여 관리하는 아키텍처 패턴입니다.

 

3. Amazon EKS (Elastic Kubernetes Service)

Amazon EKS는 Kubernetes를 관리하는 완전관리형 서비스로, 컨테이너화된 애플리케이션을 실행하고 관리하는데 사용됩니다.

 

4. HPA (Horizontal Pod Autoscaler)

Kubernetes에서 제공하는 기능으로, 애플리케이션의 CPU 사용량, 메모리 사용량 등을 기반으로 자동으로 Pod의 수를 조절하여 트래픽 처리량을 관리합니다.

 

5. External Secret

Kubernetes의 비공개 정보를 저장하고 관리하기 위한 솔루션으로, 외부 시스템에서 비밀 정보를 가져와 Kubernetes Secret으로 동적으로 생성하는 기능을 제공합니다.

 

6. Route53

AWS의 관리형 DNS 서비스로, 도메인 등록, 라우팅, 상태 확인 등 다양한 DNS 관련 기능을 제공합니다.

 

7. CDN (Content Delivery Network)

CDN은 콘텐츠를 빠르게 전송하기 위해 사용되는 네트워크입니다. 사용자가 콘텐츠를 요청하면 CDN은 지역적으로 가장 가까운 서버에서 콘텐츠를 제공하여 응답 시간을 최소화합니다.

 

8. Keycloak

Keycloak은 오픈소스 Identity and Access Management (IAM) 서비스로, 사용자 인증, 권한 부여, Single Sign-On (SSO) 등을 제공합니다.

 

9. Prometheus 및 Grafana (모니터링)

Prometheus: 오픈소스 모니터링 및 경고 도구로, 서버 및 애플리케이션의 상태 및 성능 데이터를 수집합니다.

Grafana: 데이터 시각화 및 대시보드 도구로, Prometheus와 연계하여 수집한 데이터를 시각적으로 표현하고 모니터링 대시보드를 구축할 수 있습니다.

 

10. AWS OpenSearch

AWS OpenSearch는 Elasticsearch 및 Kibana의 관리형 서비스로, 검색 및 분석 엔진으로 데이터를 색인하고 검색할 수 있으며, 시각화를 통해 데이터를 분석할 수 있습니다.

 

11. Terraform, Git 을 통한 인프라, Application 구축, 배포 및 운영 자동화

Terraform을 사용하여 모든 인프라 리소스를 코드로 정의하고 관리해야 하며. 이를 통해 인프라 구성을 투명하게 관리하고, Git, IAC 등으로 변경 사항을 신속하게 반영합니다.


결과

The Benefits

프로젝트를 통해 EKS (Kubernetes) 와 DevOps를 적용하여 Git을 통해 인프라를 코드화하고 CI/CD 파이프라인을 자동화하여 효율적인 작업을 고도화하는 것을 배우고, 이를 통해 프로젝트에서 배운 점은 DevOps의 중요성을 이해하며, Application, 인프라를 코드로 관리하고 자동화하여 더욱 효율적으로 작업할 수 있다는 것을 습득하였습니다.

1. Kubernetes와 DevOps 원칙을 준수하여, Git으로 작업 및 코드를 관리하고, Terraform과 같은 IaC 도구를 활용하여 인프라까지 코드화하여 자동화합니다.

2. CI/CD 파이프라인을 Kubernetes와 DevOps 환경에 통합하여, 코드 변경 사항을 검토하고 테스트한 후 자동으로 배포하며, Kubernetes 기반으로 Blue/Green, 배포 승인등의 자동화합니다.

3. 작업 경험을 바탕으로 DevOps 문화와 자동화 원칙을 강화하고 추출된 문서와 코드로 향후 프로젝트에 재적용 하고, 지식 공유와 지속적인 개선을 통해 문서화합니다.