고코딩

용어 정리 본문

CS지식

용어 정리

고코딩 2021. 7. 28. 14:27

IT 용어 정리

교살자 패턴 - 스트랭글러 패턴

특정 기능을 새로운 애플리케이션 및 서비스로 점진적으로 교체한다. 그리고 레거시 시스템을 중단한다.

Auto Injection

의존성 자동 주입, 스프링에서 주로 사용되는 기능

Code Inspection

개발팀에서 작성한 개발소스 코드를 분석하여 개발 표준에 위배되었거나 잘못 작성된 부분을 수정하는 작업을 말한다. 잘못된 부분이란, 코드가 중복되거나 작성규칙에 맞지 않거나 잘못 구현한 부분들을 말한다.

Code Inspection을 통해 소프트웨어의 품질을 높일 수 있고 다른 사람이 구현한 코드를 통해 여러 가지를 배울 수도 있다. 어떻게 보면 시간이 많이 걸리는 작업이기도 하나 Code Inspcetion은 개발 단계에서 발생할 수 있는 여러 시행 착오를 줄일 수 있는 중요한 과정 중의 하나이다.

Fault Tolerance(장애 허용 시스템)

장애 허용 시스템(Fault tolerant System)은 시스템은 구성하는 부품의 일부에서 결함(fault) 또는 고장(failure)이 발생하여도 정상적 혹은 부분적으로 기능을 수행할 수 있는 시스템이다.

healthCheck

컨테이너의 헬스체크(컨테이너안의 프로세스가 정상적으로 작동하고 있는지를 체크 할 때 사용)

Helm

Helm은 쿠버네티스 package managing tool 이다. node.js의 npm 과 비슷한 형태로 쿠버네티스 패키지 배포를 가능하게 하는 tool이라고 보면된다.

chart라고 부르는 package format을 사용하는데 chart는 쿠버네티스 리소스를 descrive하는 파일들의 집합이다.

Lock-In 효과

기존에 사용하던 것보다 좋은 서비스가 나와도 이미 투자된 기회비용, 환경 들으로 인해 새로운 서비스로 옮기지 못하는 것

Migration(마이그레이션)

이주

NFV

네트워크 기능 가상화(NFV)는 기존에 독접 하드웨어에서 실행되었던 라우터, 방화벽, 로드 밸런서 등의 네트워크 서비스를 가상화하는 방식입니다. 이러한 서비스는 사용 하드웨어에서 가사머신(vm)으로 패키징 되므로 서비스 제공업체는 독접 서버가 아닌 표준 서버에서 자체 네트웤를 실행할 수 있습니다.

OCI(Open Container Initiative)

컨테이너 기술에 대한 표준화.

OCI는 컨테이너 런타임과 이미지 관련 업계 개방형 표준을 만들기 위해 2015년 6월22일 레드햇과 Docker사 등의 여러 기업에 의해 설립된 현재는 Linux Foundation 산하의 오픈 소스 단체입니다.

On-premise(온 프레미스)

기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 의미.

온프레미스 시스템의 장점은 기업의 비지니스 정보를 보안성 높게 관리할 수 있다는 것이고, 단점은 시스템을 구축하는데 있어서 많은 시간이 걸린다는 것과 많은 비용이 들어간다는 것입니다. 그래서 기업에서 보안성이 높은 데이터는 온프레미스 환경에서, 보안성 낮은 데이터는 클라우드 환경을 사용하는 하이브리드 IT 인프라가 등장했습니다.

RBAC(역할 기반 접근 제어)

역할 기반 접근 제어(role-based access control, RBAC)는 컴퓨터 시스템 보안에서 권한이 있는 사용자들에게 시스템 접근을 통제하는 한 방법이다. 500명 이상의 직원이 있는 기업 다수가 사용하며 강제 접근 제어(MAC)나 임의 접근 제어(DAC)를 구현할 수 있다. RBAC는 역할 기반 보안으로 부르기도 한다.

RMI(Remote Method Invocation)

RMI(원격 메소드 호출)는 자바 프로그래밍 언어와 개발환경을 사용하여 서로 다른 컴퓨터들 상에 있는 객체들이 분산 네트워크 내에서 상호 작용하는 객체지향형 프로그램을 작성할 수 있는 방식이다.

Sidecar 패턴

사이드카 패턴은 어플리케이션 컨테이너와 독립적으로 동작하는 별도의 컨테이너를 붙이는 패턴이다. 어플리케이션 컨테이너의 변경이나 수정 없이 독립적으로 동작하는 컨테이너를 붙였다 뗐다 할 수 있다.

예시를 보면 아래와 같은 것들이 있다.

  • 보안을 위해 사이드카로 NGINX reverse proxy 등을 붙여서 HTTPS 통신을 한다.
  • 성능을 위해 사이드카로 NGINX content cache 등을 붙인다.
  • 컨테이너 외부로 로그를 모으기 위해 logstash, fluentd 등을 붙인다

모두 어플리케이션 변경 없이, 사이드카를 붙였다 떼거나 교체하기 쉬운 구성 방식이다. 상황에 따라 사이드카를 다른 것으로 변경하거나 버전업 등이 필요할 수도 있다.

장점

  • 상호 의존성을 줄일 수 있다.
  • 사이드카 장애 시 어플리케이션이 영향을 받지 않는다. (isolation)
  • 사이드카 적용/변경/제거 등의 경우에 어플리케이션은 수정이 필요 없다.
  • 어플리케이션과 사이드카를 다른 언어로 만들 수 있다.
  • 대부분 같은 스토리지를 공유할 수 있기 때문에 공유에 대한 고민이 적다.

단점

  • 어플리케이션이 너무 작은 경우 배 보다 배꼽이 커질 수 있다.
  • 프로세스간 통신이 많고 최적화 해야 한다면, 어플리케이션에서 함께 처리하는게 좋을 수 있다.

SPOF

단일 고장 점(Single point of failure, SPOF)는 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는 요소를 말한다. 예를 들어 이더넷 케이블과 전원, 이더넷 허브(Hub), 접속 단말들의 NIC(Network Interface Card) 등으로 이루어진 간단한 이더넷 네트워크에 있어서 네트워크 허브 장치의 전원은 SPOF이다.

'CS지식' 카테고리의 다른 글

하이퍼바이저와 컨테이너  (0) 2022.04.24
ELK 란  (0) 2021.09.27
Deployment의 변화 과정  (0) 2021.07.22
RPA - 변화와 기회  (0) 2021.07.21
도커에 대해서 잘 정리한 글  (0) 2021.07.21