애자일(Agile)방법론이란? 짧은 주기로 작업 계획을 세우고 개발하고, 개선하는 작업을 반복하는 소프트웨어 개발 방식이다. 빠른 개발과 피드백을 통해 최소한의 비용으로 제품의 성공 확률을 높일 수 있으며, 현재 가장 널리 사용되는 개발 방법론이다. 애자일(Agaile)의 작업 주기를 스프린트라고 부르며, 하나의 스프린트가 "기획 ➪ 디자인 ➪ 기능구현 ➪ 테스트➪ 배포" 단계를 가진다. 애자일의 공통점 여러 가지 애자일 방법론이 존재하지만 모두 아래 세 가지 특징을 공통적으로 가진다. Value Oriented (가치 지향) 가치 없는 것은 버리고 가치 있는 것을 챙기자 스프린트 과정에서 가치를 증명하고, 결과에 따라 가치있는 것을 챙긴다는 뜻이다. Interactive (상호적) 개발자, 기획자, 사..
Kubernetis란? 현재 가장 유명한 컨테이너 오케스트레이션 도구이다. 컨테이너 오케스트레이션이란? 컨테이너화 된 애플리케이션에 대한 자동화된 설정, 관리 및 제어 체계 오케스트레이션의 기능 클러스터 관리: 컨테이너를 분산 실행하고, 확장, 로드 밸런싱 등을 관리한다. 네트워킹: 컨테이너 간 통신을 위한 가상 네트워크를 생성하고, 네트워크 정책을 설정하며, 컨테이너와 외부 네트워크 간의 연결을 관리한다. 상태관리: 컨테이너 실행 상태, 애플리케이션의 설정 정보, 환경 변수 등을 관리하고, 애플리케이션의 상태 변화에 따라 컨테이너를 생성, 업데이트, 삭제하는 등의 작업을 수행한다. 배포 관리: 새로운 애플리케이션 버전의 배포, 트래픽 분배 등을 수행하며, 애플리케이션의 가용성과 안정성을 유지하면서 배포..
컨테이너란? 컨테이너는 OS를 가지지 않는 VM보다 가벼운 단위의 독립된 컴퓨팅 환경이다. VM - 하이퍼바이저에 의해 Host OS위에 여러 개의 Guest OS를 띄워서 사용한다. (하이퍼바이저 : OS와 리소스를 분리해 가상머신을 생성하고 구동하는 소프트웨어 = VM Manager) - 하나의 독립된 환경을 생성할 때마다 리소스를 크게 차지하는 Guest OS를 만들어야한다. Container - Guest OS를 포함하지 않아 리소스를 적게 사용하며, 최소한의 필요한 프로세스, 라이브러리 등을 포함하여 생성 속도가 빠르다. - 각각의 컨테이너가 독립되어 있어 컨테이너 간에 간섭이 없다. 도커란? 컨테이너를 생성하고 실행하기 위한 소프트웨어 중 하나이다. 도커의 장점 프로젝트 실행환경을 도커 이미지..