Home Forums Job & Work Life Gitlab CI CD Pipeline vs TFS and Manual Gitlab CI CD Pipeline vs TFS and Manual Name * Password * Email 우리는 약 4만대의 리눅스 기반 서버를 운용하고, 서비스 소프트웨어는 자체 개발입니다. 그러나 OS를 포함한 시스템 소프트웨어도 관리해야 하므로, 전체적인 관리 시스템은 상당히 복잡합니다. 자체 소프트웨어 스택을 deploy하는 것과 시스템 update하는 것은 별개이면서도 연동이 되도록 되어 있습니다. 서비스를 계속 제공하면서 온라인 업데이트를 해야 하기 때문이죠. 지금 여러가지 문제를 해결할려고 하시는데, 각 문제에 대한 분석과 목표를 먼저 구체화해야겠습니다. 어떤 CICD 솔루션을 던져 넣는다고 모든게 해결될거라고는 생각하지 않으시죠? 절대로 그렇게 안됩니다. 이런 툴들이 다양한 이유는 각각 특정 문제 해결에 집중하기 때문이기도 합니다. 버젼 콘트롤을 포함한 소프트웨어 개발 프로세스, 빌드 및 QA/testing에 먼저 적절한 엔지니어링 프로세스가 자리 잡혀야 합니다. 프로세스는 너무 rigid하면 발목을 잡을 수도 있으니, 적절한 타협점이 필요합니다. 역시 주요 문제 해결을 시작점으로 해야겠죠. deploy 문제는, scp로 한다고 했는데 그것 자체가 근본적인 문제인가요? 이런 push model과 pull model은 장단점이 있습니다. 요즘은 많은 deploy 툴들이 pull하도록 되어 있죠. 그렇다고 그게 무조건 좋은 것도 아닙니다. 중앙에서 각 시스템의 상태를 정확히 아는데는 push가 좋을 수 있습니다. 제 생각에는 scp를 이용한 distribution method 자체의 문제가 아니라, 주변 tooling의 문제가 더 있지 않나 합니다. 그런데 push를 하려면 네트웍에 노출된다는 단점도 있죠. pull이라면 firewall/proxy를 통할 수 있는데 말이죠. 또한 같은 기능을 제공하는 노드들의 클러스터를 관리하는 것과, 한대 한대 각각의 상태가 중요한 경우도 관리 방법이 달라집니다. 상황과 스케일에 따라 솔루션이 많이 달라질텐데, 좀 더 문제점과 목표에 대한 고민을 해보셔햐 할겁니다. I agree to the terms of service Comment