Closed papavhub closed 2 years ago
GitHub의 DevSecOps : 깃허브는 GitHub Advanced Security 를 사용해 DevSecOps를 자동으로 실행할 수 있음.
<깃허브의 취약점을 식별하는 다이어그램>
AWS 서비스를 사용한 Git Webhook (이것도 아닌거 같음 한번 읽어봐주세요)
Git 리포지토리를 AWS 클라우드에 연결하기 위한 HTTPS 엔드포인트 및 코드
설명 이 Quick Start는 Git와 AWS 서비스를 연결하는 Webhook를 구성할 때 사용할 수 있는 HTTPS 엔드포인트를 배포합니다. Webhook를 구성하면 Git 사용자가 커밋을 푸시할 때마다 리포지토리가 자동으로 검색되고 압축된 후 Amazon Simple Storage System(Amazon S3) 버킷에 업로드됩니다. 리포지토리가 업로드된 후에는 AWS CodePipeline, AWS CodeBuild 및 AWS CodeDeploy 등 S3 버킷을 소스로 사용할 AWS 서비스를 구성할 수 있습니다.
URL https://aws.amazon.com/ko/quickstart/architecture/git-to-s3-using-webhooks/
— AWS 서비스를 사용한 Git Webhook
— AWS code deploy
— AWS CodeBuild
=> 필요없음
Using Custom Source Actions in AWS CodePipeline for Increased Visibility for Third-Party Source Control
간단하게 말하면 저거는 깃허브가 아니라 깃 레포지토리에 있는거 배포하는 거 같음
AWS S3 : 깃허브 레포지토리라고 생각하면 편함
Pipeline : 배포할 때 쓰임 https://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/tutorials-s3deploy.html (공식문서 - 안읽어도 됨)
=> 결론 : AWS S3를 이용하는 방향으로가는건 어떻습니까?
GitLab 구조
URL https://docs.gitlab.com/ee/development/architecture.html
최종
Github, GitLab 구조
Gitlab shell : 애드온 애플리케이션 (https://gitlab.com/gitlab-org/gitlab-shell/-/blob/main/README.md)
sidekiq 쓰는 이유 : 이메일 보내기, SMS 보내기, PDF 생성, 엑셀 파일 생성 등과 같은 작업은 서버에서 시간이 많이 소요될 수 있습니다. 서버가 이러한 작업을 시도하는 동안 서버는 다른 요청을 처리할 수 없습니다. 이것은 서버의 처리량을 감소시킵니다. 이는 들어오는 요청을 처리하기 위해 더 많은 서버가 필요하다는 것을 의미합니다. 더 나은 전략은 요청을 받아 백그라운드에서 처리하도록 저장하는 것입니다. 이런 식으로 누군가가 "비밀번호 재설정"을 요청할 때 서버는 즉시 응답을 보낼 수 있습니다. 사용자는 "비밀번호 이메일이 전송 중입니다"라는 알림을 받습니다. 백그라운드에서 서버는 모든 백그라운드 작업을 하나씩 처리할 수 있습니다. (https://www.bigbinary.com/learn-rubyonrails-book/background-job-processing-using-sidekiq)
redis랑 sidekiq 연결 이유 : 사이드킥에 잡을 등록하기 위해서는 태스크를 저장할 레디스 서버가 필요
Github, GitLab MSA 구조 (+Container) : 컨테이너 기반 마이크로 서비스 아키텍처
GitLab Rails (Puma)
Puma
PostgreSQL (+이유)
— Nginx (vs apache)
— Gitlab workhorse https://gitlab.com/gitlab-org/gitlab-workhorse