개발기술/CI CD

    [쿠버네티스] 쿠버네티스란?

    [쿠버네티스] 쿠버네티스란?

    쿠버네티스란? 쿠버네티스는 컨테이너 개발에 있어 컨테이너화된 애플리케이션을 탄력적으로 실행하기 위한 프레임워크를 말한다 컨테이너화된 애플리케이션의 로드밸런싱 & 시크릿 관리 등을 원활히 하도록 돕는다 * 로드벨런싱 : 컴퓨터 네트워크 기술 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 뜻함 배포를 돕는 것 뿐만 아니라 배포가 잘못되었을 경우 유연한 대처(롤백)이 가능하도록 한다 쿠퍼네티스를 이용하면 부하가 많아질때마자 특정 이미지로 빠르게 앱을 여러개로 배포할 수 있다 또, 어떠한 인스턴스가 다운됐다고 가정할 때 다른 인스턴스가 자동으로 생성되어 수초 이내로 되돌아갈 수 있도록 설정이 가능하고, 부하에 따라 오토스케일 명령 또한 가능하다 따라서 컨테이..

    [Docker] 도커란 무엇인가

    [Docker] 도커란 무엇인가

    도커란? 리눅스 컨테이너 기반으로 하는 오픈소스 가상화 플랫폼. 즉, 특정한 서비스를 패키징하고 배포하는데 유용한 오픈소스 프로그램 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는데 필요한 모든것이 포함되어있다 가상머신에 비해 꼭 필요한 것만 담겨서 구동되기 때문에 이미지를 만들경우 용량이 대폭 줄어든다 도커를 사용하는 이유 애플리케이션 독립성을 가진다. 호스트 OS, 다른 컨테이너와도 독립된 공간을 보장받아 충돌이 발생하지 않는다 컨테이너 내부에 작업후 배포하려 한다면 도커 이미지로 만들어서 운영서버에 전달만 하면 된다 마이크로 서비스 구조로 변화가 쉽다. 컨테이너 하나 당 하나의 기능을 제공하는 모듈로 만드는 등 조정이 가능하다 Docker를 사용하면 환경에 구애받지 않..

    [CI/CD] Firebase hosting + Github actions 1 (feat. react 포트폴리오)

    [CI/CD] Firebase hosting + Github actions 1 (feat. react 포트폴리오)

    CI/CD란? CI : Continuous Integration (지속적 통합) CD : Continuous Deployment (지속적 배포) 또는 지속적인 서비스 제공(Continuous Delivery) CI는 빌드/테스트 자동화 과정이다. 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되서 공유 레파지토리에 통합되므로 여러 명의 개발자가 동시에 애프리케이션 개발과 관련된 코드 작업을 할 경우 충돌하는 문제를 해결할 수 있다. 요약하자면 code 작성 - Build - Test를 짧은 주기로 자동화 하는것 CD는 배포 자동화 과정이다. 애플리케이..