전체 글96 CI/CD가 필요한 이유 CI/CD (Continuous Integration, Continuous Delivery or Deployment) - Build, Test, Merge, Deploy의 자동화 CI (Continuous Integration) - 애플리케이션의 새로운 코드 변경사항이 정기적으로 빌드 및 테스트되어 공유 Repository에 통합 - 여러 명의 개발자가 각자 작업한 Source Code를 commit할 경우 서로 충돌할 수 있는 문제 해결 - 변경 사항이 merge되면 각기 다른 레벨의 자동화 테스트(단위 테스트, 통합 테스트) 수행 CD (Continuous Delivery or Deployment) - 통합된 공유 Repository의 변경사항이 Production 환경까지 Release되는 것 - .. 2022. 2. 14. Socket, TCP/IP, UDP Socket - 두 호스트를 서로 연결하기 위한 각 프로그램의 엔드 포인트로 인터페이스의 역할 - 프로토콜 + IP 주소 + Port 번호로 구성됨 연결 과정 TCP/IP (Transmission Control Protocol / Internet Protocol) - 3 way handshake 과정을 통해 신뢰성 확보 Client 1. socket() : socket 생성 2. connect() : ip와 port 번호를 통해 통신할 서버로 연결 시도 3. write(), read() : 데이터 송수신 4. close() : 연결 종료 Server 1. socket() : socket 생성 2. bind() : socket에 ip와 port 번호 설정 3. listen() : 클라이언트의 접근 요청에 .. 2022. 2. 13. Terraform vs Helm Kubernetes 배포에 있어 Helm을 쓰는 게 나을까, Terraform을 쓰는 게 나을까? Terraform - 인프라 자원들을 IaC로 관리하는 것이 주목적 Helm - K8S Application과 앱의 상태를 관리하는 것이 주목적 Terraform Helm 무설치형 설치형 Kubernetes cluster 배포 가능 Kubernetes cluster 배포 불가능 modules 사용 가능 sub-charts 사용 가능 JSON/HCL format standard manifests, Go-templates 인프라 자원과 함께 배포 애플리케이션과 함께 배포 Unstable Stable 환경 변수 지원 환경 변수 지원 제한 복잡한 Rollback 쉬운 Rollback 적은 자원 사용 많은 자원 사용.. 2022. 2. 12. 이전 1 ··· 20 21 22 23 24 25 26 ··· 32 다음