전체 글

전체 글

    MonkeyStock - GitOps Pipeline

    MonkeyStock - GitOps Pipeline

    개발자가 소스를 담고 있는 깃 레포에 코드를 커밋하게 되면, 젠킨스에 훅이 걸려 코드를 이미지화 하여 도커 허브에 푸시합니다. 개발한 마이크로 서비스들을 배포하기 위해 깃 옵스 레포에 존재하는 쿠버네티스 매니페스트 yaml 파일의 정보를 갱신하여 새로 커밋합니다. 이는 Argo에서 싱크 폴리시를 Auto로 두어 값이 갱신되면 자동으로 파드들을 Deploy 합니다.

    MonkeyStock - AWS Infra Architecture

    MonkeyStock - AWS Infra Architecture

    사용자가 라우트53으로 연결된 애플리케이션 로드밸런서의 엔드포인트에 접속을 하면 프라이빗 서브넷에 존재하는 각 파드들이 낫 게이트웨이를 통해 프라이빗 서브넷에서 발생하는 트래픽을 퍼블릭 서브넷으로 전송해 외부 인터넷망과 통신하여 저희가 배포하는 웹 서비스에 접속할 수 있도록 했습니다. 프라이빗 서브넷에 EKS 를 둔 이유는 사용자가 웹 어플리케이션을 사용할 수 는 있지만 보안을 위해 EC2 인스턴스 자체에는 접근하지 못하도록 하기 위함입니다. 개발자 또한 VPC 내부에서만 EC2에 접속을 할 수 있기에, EKS 클러스터에 접속하기 위해 배스쳔 중계 서버를 두어 접속 가능하도록 하였습니다. 각 마이크로서비스는 보안을 위해 다른 VPC에 존재하는 RDS에 연결되었고, S3 버킷에는 데이터 크롤러가 크롤링 한..

    MonkeyStock - Micro Service Architecture

    MonkeyStock - Micro Service Architecture

    저희는 일단 리액트 앱을 투 페이즈 빌드해서 엔진엑스 서버로 돌리는 방식을 사용했습니다. 총 4개의 마이크로 서비스로 나뉘어졌는데 각 서비스는 독립적인 데이터베이스를 가지고 있으며 각 서비스들이 별도의 서비스로 구분되어 있어서 다른 서비스의 기술적 제약 없이 다양하게 사용할 수 있고, 새로운 서비스를 추가하는 등이 발생할 때 전체 서비스를 다운시키는 등이 일을 할 필요가 없기 때문에 클라우드 환경에서 이점을 보일 것이라 생각했습니다. 또한 MSA 방식을 채택하여 이렇게 서비스별로 개발하려는 언어가 다른 경우에도 다른 서비스와 의존성을 고려하지 않아도 전체 서비스가 동작하는 데 아무 지장이 없을 것이라 생각됩니다. 저희가 개발한 각 서비스는 RESTful 한 방식으로 프론트와 통신하기 때문에 API 명세에..

    MonkeyStock - 주식 모의 투자 웹 서비스

    MonkeyStock - 주식 모의 투자 웹 서비스

    📃 프로젝트 개요 클라우드에 최적화된 MSA 기반의 주식 모의 투자 웹 어플리케이션을 개발 📃 기대 효과 퍼블릭 클라우드 및 컨테이너 기술 활용해 클라우드 서비스 설계/개발 경험 📃 사용 기술 📃 담당 파트 - 프론트엔드 - 백엔드 ( Community Service , User Auth Service ) - AWS Infra Architecture Design & Build