배포(deploy) 아키텍처 - 배포 코스 2008. 10. 2. 16:29
리소스설정치환에 관한 글에서 얘기했듯이 개발소스와 빌드결과물은 여러 서버를 거치면서 생성,이동,배치됩니다.
개발자 로컬PC -> (소스저장소) -> 빌드서버(CI서버) -> 개발서버 -> 테스트서버 -> 스테이징서버 -> 운영서버1차원적으로 일렬로 나열하니까 간단해보이지만 실상 어플리케이션의 이동경로는 2차원적으로 설계됩니다.
마치 수학자 오일러가 최단코스를 찾기 위해 고민한 것처럼 우리는 각각의 서버를 거점으로 하는 배포 코스를 그려가야 합니다.
(배포의 위상수학? 배포 아키텍처? 음.. 배포 아키텍처가 맘에 드는군요.)
하지만 너무나 다양하고 특이한 개발환경이 많이 존재하기 때문에 배포코스에 관한 뚜렷한 공식은 없는것 같습니다.
아래에 저의 경험과 동료들의 의견 그리고 온라인상의 자료 등을 종합해서 크게 3가지의 대표적인 코스를 그려보았습니다.
어떤게 베스트 프랙티스다라고 딱부러지게 말씀은 못드리겠군요.
(코스에서 테스트서버는 포함하지 않았습니다.솔직히 제가 겪었던 모든 프로젝트에서는 개발서버가 테스트서버,스테이징서버의 역할을 모두 겸하고 있었습니다.)
1.빌드서버 중심 코스
-개발서버용, 스테이징서버용, 운영서버용 어플리케이션(빌드산출물)을 모두 빌드서버에서 생성
-어플리케이션은 빌드서버에서 각각의 서버로 전송되어 배포됨
-또는 스테이징 서버에 전송된 어플리케이션을 다시 운영서버로 전송하기도 함![]()
2.소스저장소 중심 코스
-개발서버, 스테이징서버, 운영서버가 개별적으로 소스장소로부터 전체 개발소스를 취합하여 각각의 환경에 맞는 어플리케이션을 빌드하여 배포3.혼합된 코스
-개발서버용 어플리케이션은 빌드서버에서 생성하여 개발서버로 전송되어 배포
-스테이징서버용은 스테이징 서버가 소스저장소로부터 전체 개발소스를 취합하여 빌드하고 배포
-스테이징서버에서 빌드된 어플리케이션을 운영서버로 전송
2024.09.14 20:30
배포(deploy) 아키텍처 - 배포 코스
(*.168.0.1) 조회 수 495 추천 수 0 댓글 0
| 출처 | https://ecogeo.tistory.com/87 |
|---|
-
Read More
IA, 메뉴구조도, 화면목록
회사에서 사용자를 위한 서비스가 정의되면, ‘서비스에 어떤 화면들이 필요한지’, ‘각 화면들의 정보(화면 간 관계, 속성, 기능 등)는 어떻게 되는지’ 등을 정리합니다. 이렇게 정리된 화면들의 정보를 토대로 ‘화면 설계’를 진행하고, 이 과정에서 보통 IA(In...Date2024.12.18 Reply0 Views327 -
Read More
UX의 기본, 와이어프레임은 어떻게 작성하는 것일까
Wireframe (와이어프레임) 사용자 경험의 기본이자 핵심이라고 할 수 있는 와이어프레임은 기초적인 골격을 통해 만들고자 하는 결과물이 어떤 모습을 할 것인지를 예상해 볼 수 있는 중요한 문서입니다. 그렇다면 와이어프레임은 어떻게 작성해 나가는 것일까...Date2024.12.05 Reply0 Views396 -
Read More
웹, 모바일을 위한 I.A(Information Architecture, 정보구조도)
서비스 설계의 기초인 정보 구조도(Information Architecture) 에 대해서 알아보겠습니다. I.A.의 기초 이론과 역할 그리고 구조도 작성법에 대해 알아보도록 하겠습니다. I.A(정보 구조도)란?I.A.는 간단하게 말해서 서비스의 목차 역할을 수행합니다. 웹 혹...Date2024.12.05 Reply0 Views379 -
Read More
(웹 용어) GNB, LNB, SNB, FNB
웹사이트에서 유저의 서비스 탐색을 도와주는 카테고리. 서비스를 찾은 유저가 원하는 것을 쉽게 찾아낼 수 있게 직관적인 UI 구성이 필요한데요. 내비게이션 바라고 불리는 이 카테고리 영역은 위치와 역할에 따라 GNB, LNB, SNB, FNB 등으로 나눌 수 있어요...Date2024.12.04 Reply0 Views373
-
Read MoreNo Image
[Spring] Annotation
Annotation 이란? 사전적 의미로는 주석이라는 뜻이지만, 자바에서 Annotaion(@)은 코드 사이에 특별한 의미, 기능을 수행하도록 하는 기술이다. 프로그램 코드의 일부가 아닌 프로그램에 관한 데이터를 제공하고, 코드에 정보를 추가하는 정형화된 방법이다. ...Date2024.11.23 Reply0 Views421 -
Read MoreNo Image
iBatis, MyBatis 비교 정리(Dynamic Query)
iBatis와 MyBatisiBatis( ~ 2.3)의 버전이 변경되면서 MyBatis(2.5 ~)로 변경이 되었다. Apache project팀에서 google code 팀으로 이동하면서 명칭이 변경 변경된 사항들을 정리해보면 아래와 같다. Java 요구 버전Java 요구버전도 iBATIS는 JDK 1.4 이상에서...Date2024.11.13 Reply0 Views390 -
Read More
Git / Github / 포크 (Fork) 하는 방법 (오픈소스 프로젝트 복...
Fork란? 오픈 소스 프로젝트를 공부하거나 Contributors가 되고 싶을 때, 해당 원격 저장소(Remote Repository)를 자신의 원격 저장소로 복사할 수 있다. 이를 Fork라 한다. 깃허브의 경우 공개된 모든 자료가 오픈 소스로 다른 사람의 자료를 Fork 할 수 있다...Date2024.10.19 Reply0 Views558
-
Read MoreNo Image
VBA, Range/Cells Text, Value, Value2 차이점
VBA 프로그래밍의 기본은 특정 영역 또는 셀을 선택하는 것으로 시작될 것입니다. 단위 셀을 선택하는 방법은 다음 중 편한 방법을 선택하면 됩니다. Range(A5) = Cells(5, 1) = Cells(5, "A") Range와 Cells의 차이는 다중 영역을 선택할 수 있는지 여부 입니...Date2024.10.14 Reply0 Views1871 -
Read More
VBA VLookup 가이드
이 포스트는 Excel Macro Mastery 사이트의 'VBA VLookup – A Complete Guide(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 VLookup 함수를 VBA 스크립트에서 사용하는 방법에 대해 다룹니다. 들어가며 이번 포스트에서는 VLookup 함수...Date2024.10.04 Reply0 Views475
-
Read MoreNo Image
VBA 엑셀 - 북 선택(Workbooks)북(Workbooks), 시트(Sheet) 선택
VBA를 이용해 북(Book)과 시트(Sheet)를 선택하는 기능에 대해 알아보겠습니다. 일반적으로는 엑셀(Excell) 프로그램을 그냥 엑셀 또는 윈도우라고 하지만 VBA에서는 이 엑셀 프로그램 1개를 Book이라고 생각합니다. 주로 다른 북(Book) 선택 또는 종료를 위해...Date2024.09.28 Reply0 Views512 -
Read More
컬렉션(Collections)
1. 컬렉션(Collections) 1.1 컬렉션이란? : 컬렉션이란 우리말로 쉽게 말해서 자료구조이다. 더 쉽게 말하면 배열이다. 1.2 자료구조 1.3 컬렉션의 핵심 인터페이스와 특징 인터페이스 특징 List 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다. 예) 대...Date2024.09.26 Reply0 Views484
-
Read More
스테이징 서버(Staging Server)
2022. 7. 26. 01:26 주요 개념개발 서버(Development Server) 스테이징 서버(Staging Server) 프로덕션 서버(Production Server) 스테이징 서버(Staging Server)란 Production으로 가기 전 임시서버라 볼 수 있다. 즉, 운영환경에 적용하기 전에 확인하는 서버...Date2024.09.14 Reply0 Views585
-
Read More
배포(deploy) 아키텍처 - 배포 코스
배포(deploy) 아키텍처 - 배포 코스 2008. 10. 2. 16:29 리소스설정치환에 관한 글에서 얘기했듯이 개발소스와 빌드결과물은 여러 서버를 거치면서 생성,이동,배치됩니다. 개발자 로컬PC -> (소스저장소) -> 빌드서버(CI서버) -> 개발서버 -> 테스트서버 -> 스...Date2024.09.14 Reply0 Views495
-
Read More
Nginx란
Nginx(엔진엑스)는 높은 성능과 안정성 그리고 현재 가장 많이 사용되고 있는 웹 서버입니다. Apache(아파치) 같은 웹 서버와 비교하면 더 빠르고 가볍고, 대규모 애플리케이션 처리에 적합하다는 장점이 있습니다. Nginx를 이해하기 위해서는 다음 4가지 용어...Date2024.07.14 Reply0 Views486
-
Read More
인기 높은 아파치 HTTP 서버에서 발견된 취약점 패치돼
인기 높은 아파치 HTTP 서버에서 발견된 취약점 패치돼 요약 : 보안 블로그 시큐리티어페어즈에 의하면 아파치재단(Apache Foundation)에서 다수의 취약점을 패치했다고 한다. 아파치 HTTP 서버(Apache HTTP Server)에서 발견된 것들로, 가장 눈에 띄는 건 CVE...Date2024.07.11 Reply0 Views509
-
Read More
데이터센터, 데이터통합관리를 위한 nSIMS 소개
nSIMS 도입사례 - 국가정보자원관리원 (NIRS) 도입배경 국가정보자원관리원(구 정부통합전산센터)은 2005년 세계 최초의 범정부데이터센터로서 흩어져 있던 전자정부 시스템을 한곳에 모으는 역할을 했습니다. 현재는 정부 기관의 자료들을 한 곳에서 효율적으...Date2024.07.07 Reply0 Views491
-
Read More
APM, Elevisor(Elevation Advisor) 통합성능관리 및 모니터링툴...
Elevisor(Elevation Advisor) 는 시스템 성능을 최적화 할 수 있도록 도와주는 통합 성능관리 솔루션으로서. 다음과 같은 제품 군으로 구성되어 있습니다. Elevisor for J2EE 특징 J2EE 표준을 준수하는 모든 WAS 지원 50개 이상의 컨테이너의 독립적 모니터링...Date2024.07.07 Reply0 Views554
-
Read More
APM, Jennifer 제니퍼 소개
정보 기술 분야 에서 애플리케이션 성능 관리(APM, Application Performance Management)는 개발된 애플리케이션 등을 포함한 소프트웨어 응용 프로그램의 성능 및 가용성을 모니터링하고 관리하는 소프트웨어를 의미합니다. 애플리케이션 성능 관리(APM)는 기...Date2024.06.29 Reply0 Views564
-
Read More
APM, Scouter 스카우터 설치 및 실행(+Jenkins, SpringBoot)
XLog 보는 방법https://github.com/scouter-project/scouter/blob/master/scouter.document/client/Reading-XLog_kr.md Scouter 에서 응답시간 분포 그래프를 XLog 라고 부른다. XLog 는 Transaction Log 라는 의미에서 2004년에 처음 만들어졌다. XLog 는 전...Date2024.06.26 Reply0 Views1086
-
Read MoreNo Image
JAVA APM Scouter 활용 - 3부 스카우터 얼럿 플러그인 커스터마...
1부 APM 선정과 스카우터의 지표소개 2부 스카우터 기능 활용 및 페이퍼 플러그인 3부 스카우터 얼럿 플러그인 커스터마이징 스카우터에서는 성능 모니터링 중 생긴 특정 상황에 대해 얼럿 기능이 들어가 있다. 스카우터 클라이언트의 얼럿항목에서 확인 및 조...Date2024.06.26 Reply0 Views498

















