본문 바로가기

무중단 배포 전략 3가지 들어가기 마이크로 서비스 아키텍처가 되면서 작은 서버가 매우 많아졌다. 새로운 버전의 애플리케이션을 배포하기 위해서 기존에 자동 배포만으로는 한계가 있다. 기존에는 배포할 경우 서비스 중단 후에 배포했지만, 현재는 서비스 중단 없이 배포하고 있다. 그렇기에 배포에도 전략이 필요하다. 작성자: http://ospace.tistory.com/ (ospace114@empal.com) 배포 전략 현재 잘 알려진 무중단(zero-downtime) 배포 전략은 3가지이다. Rolling Blue-Green Canary Rolling 배포 서버 별로 하나씩 새로운 버전으로 교체하면서 점차적으로 배포한다. 즉, 운영과 배포가 동시에 진행된다. 배포할 때에 두가 형태로 가능하다. 기존 시스템 하나를 중단해서 배포하거나 .. 더보기
[nexus] Nexus로 Maven Repository 구성 들어가기 Nexus는 sonaytype에서 개발한 Maven Repository 지원하는 오픈소스이다. 가장 많이 사용하고 있는 Maven Repository로 다양한 형태의 Repositry 지원(npm, nuget, pypi,yum, etc)한다. 실제 사용하는 방법을 간단하게 살펴보자. 작성자: http://ospace.tistory.com/ (ospace114@empal.com) 환경 구성 아래 다운로드 링크를 통해 설치할 OS에 맞는 파일을 다운받는다. 리눅스는 자체 패키지 관리자에 의해서도 설치 가능하다. 다운로드: https://help.sonatype.com/en/download.html 압축을 풀면 nexus 디렉토리가 있고 그 안에 실행파일이 있다. 아래 처럼 실행하면 된다. # Win.. 더보기
아파치에서 여러 URL를 톰캣으로 연동하기 들어가기 직접 서버를 구성할 경우 아파치는 웹서버로 톰캣과 같이 연동하여 많이 사용된다. 이런 연동에 아파치 서버의 reverse proxy와 virtual host를 사용한 톰캣 연동을 많이 사용한다. 이를 사용한 톰캣 연동 방법을 간단하게 살펴볼려고 한다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 환경구성 먼저 환경구성을 해보자. 아파치와 톰캣이 있다면 건너뛰어도 좋다. 리눅스 배포판인 경우는 내부 패키지 관리자에 의해서 쉽게 설치 가능하다. Windows 환경이라면 아래 링크에서 다운로드 받을 수 있다. 아파치: https://dlcdn.apache.org/httpd/binaries/win32/README.html 톰캣: https://tomca.. 더보기
가상화 솔루션 Proxmox-VE 사용 들어가기 가상화 솔루션은 가상머신을 관리하는 기능을 제공하는 솔루션이다. 가상활 솔루션으로 유명한 곳에 vmware가 있다. 비용이 많이 들기 때문에 개발 과정에서는 사용하기 힘들다. 웹 기반으로 관리할 수 있는 무료 솔류션을 찾은게 Proxmox-VE이다. UI는 미려하지 하지 않아도 기본 기능에 충실하고 성능도 나쁘지 않다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 개요 개발을 하려면 물리적 서버가 필요하다. 최근 Cloud로 인해 이런 환경구성이 매우 편리해졌지만 아직까지 패쇄적인 환경에서는 사용하기 어렵다. 물리적인 서버가 여러개 구매하기 힘들 상태에서 한개 물리적인 서버에 여러 가상머신을 사용하여 리소스를 효율적으로 활용할 수 있는 가상화 기.. 더보기
VisualVM 소개 들어가기 visualvm를 활용한 java 프로파일링을 하기 위한 도구이다. 간단하게 사용하기 유용하기에 소개할려고 한다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ VisualVM이란? java 플로파일링하는 도구로 기본적은 모니터링 기능과 프로파일러를 제공하고 있다. 프로파일러는 CPU, Memory, JDBC, Locks를 지원하고 있다. 다운로드: https://visualvm.github.io/download.html 실행방법 JDK 1.8 이상이 필요 JDK를 찾을 수 없을 경우 직접 경로 입력 가능 $ visualvm --jdkhome "\path\openjdk-17.0.2"VisualVM 2.1.7인 경우 JDK 1.8로는 실행이 안되고 .. 더보기
CTIP 소개 들어가기 CTIP(Continuous Test and Integration Platform)는 짧은 주기에 통합으로 인해 발생하는 오류를 사전에 빠르게 확인하고 통합에 따른 자원 절약에 있다. CTIP는 CI/CD에서 CI(Continuous Integration)를 위한 도구로서 지속적 테스트 통합을 위한 플랫폼이다. CTIP에 대해 간단하게 살펴보자. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 지속적 통합 이란? 지속적 통합(Continuous Integration)은 Agile 개발 프로세스에서 XP 개발에 응용되기 시작했다. 구현된 코드 통합, 시험과정을 자동으로 수행하고 그 결과를 리포팅하여 현재 상태를 쉽게 파악할 수 있게 한다. 개발에서 지.. 더보기
소프트웨어 테스트란 들어가기 다양한 형태의 테스트 방법을 간단하게 살펴볼려고 한다. 다양한 테스트 방법을 어느 정도 알아야 현재 개발 단계에서 적절한 테스트 선택할 수 있고 생각한다. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 테스트란 소프트웨어 테스트는 소프트웨어 결함을 존재하고 있음을 증명하는 과정이다. 테스트는 소프트웨어가 "완벽하다"고 검증하는게 아니라 "결함이 없다"라고 보증하는 절차이다. IEEE 정의에 따르면 테스트는 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 수동 또는 자동 방법을 이용하여 검사하고 평가하는 일정의 과정이다라고 정의되었다. 테스트 종류 다양한 테스트 종류가 있다. 간단하게 정리했다. 개발단계 단위테스트: 단위.. 더보기
[Jenkins] Jenkins pipeline에서 git parameter 사용 들어가기 젠킨스에서 git 브랜치 중에서 선택해서 배포하고 싶을 경우가 있다. 이때 git parameter을 사용하면 된다. 간단하게 사용해보자. 작성자: ospace114@empal.com, http://ospace.tistory.com/ 프로젝트 설정 git parameter을 사용하기 위해 프로젝트 설정에서 “This project is parameterized”를 체크 표시해야 한다. 그러면 git parameter 관련 설정 항목이 표시된다. 먼저 git에서 브랜치를 가져오기 위해서 Parameter Type을 Branch로 변경했다. 스트립트 작성 다음으로는 pipeline에서 활용해보자. pipeline에서 선택된 브랜치로 빌드하면 된다. 간단하게 살펴보기 위해서 핵심만 정리했다. para.. 더보기

반응형