IT Terminology

IT관련 용어에 대한 개념, 차이, use-cases 등을 메모합니다.

Abstract 추상화

프로그래밍의 복잡성을 해결, 프로그래밍 과정의 단순화를 의미

  • 중요한 속성만을 포함하는 개체의 표현
    • 개체들의 사례(instance)를 공통적인 속성이 고려될 필요가 없는 그룹으로 모으는 것을 허용 → 공통된 속성들이 추상화되어 제거됨
  • 프로세스 추상화, 데이터 추상화

Anti-pattern 안티 패턴

In software development, common response to a recurring problem that is usually ineffective and risks being highly counterproductive.

API

API : Application Programming Interface , 애플리케이션 소프트웨어를 빌드하고 통합하기 위한 정의 및 프로토콜 세트

  • 컴퓨터나 시스템과 상호 작용하여 정보를 검색하거나 기능을 수행하고자 할 때, API는 사용자가 원하는 것을 시스템에 전달할 수 있게 지원하여 시스템이 이 요청을 이해하고 이행하도록 한다.

    • 소비자에게 필요한 콘텐츠(호출)와 생산자에게 필요한 콘텐츠(응답)을 구성 (한쪽 당사자가 특정한 방식으로 구성된 원격 요청을 보내면, 다른 쪽 당사자의 소프트웨어가 이에 응답하는 방식으로 작동한다.)

Source : API(애플리케이션 프로그래밍 인터페이스)란 - 개념, 기능, 장점

Auto scaling 오토 스케일링

클라우드의 유연성을 돋보이게 하는 핵심 기술로 CPU, 메모리, 디스크, 네트웍 트래픽과 같은 시스템 자원들의 메트릭(Metric) 값을 모니터링 하여 서버 사이즈를 자동으로 조절하는 것.

  • 오토스케일링은 다음과 같은 특성을 가진 서비스에 유용
    • 주기적으로 특정 시간대에 트래픽이 집중되는 서비스(혹은 서버 리소스가 적게 필요한 경우)
    • 일괄 작업, 주기적 분석과 같은 워크로드 패턴
    • 특정 기간에 급증하는 트래픽 패턴 등 일 또는 주 단위로 트래픽 흐름이 변화하는 서비스

Source : 에스코어 | 탄력적인 클라우드 자원 활용 기술: 오토스케일링(Auto Scaling)

오토스케일링 동작 원리

  1. 특정 주기마다 Load Balancer의 네트워크 정보와 서버의 시스템 리소스 메트릭 정보들이 모니터링 서비스로 수집됨
  2. 모니터링 서비스에서 지정한 임계치 조건을 벗어나는 것이 감지되면 오토스케일링 그룹으로 Alarm 발송
    • 위의 예시에서는 그룹의 CPU 평균 사용률 70% 이상인 상태 5분 지속 → 오토스케일링 정책이 Trigger 됨
  3. 오토스케일링 정책은 서버의 수를 늘리거나 줄이는 방식으로 적용됨
    • 위의 예시에서는 서버 수를 한번에 3대 추가하는 정책 적용
  4. 등록된 정책에 부합하는 경우 지정된 서버 수만큼 프로비저닝 작업을 시작
  5. 생성된 신규 서버의 서비스 상태 확인을 위한 작업을 수행
  6. 서버 상태 확인이 완료되면 서버를 서비스 Load Balancer에 추가해 다른 서버와 동일하게 클라이언트 요구 트래픽을 처리하기 시작한다.

IOPS

IOPS stands for Input/Output Operations Per Second
저장장치의 속도를 나타내기 위해 사용되는 측정단위

Out-of-the-box

"별도의 설치, 구성 필요 없이 바로 사용할 수 있는"을 의미
Any functionality that comes shipped directly from the software vendor or can be configured easily with built-in workflow tools, templates, and/or best practices provided directly by the vendor.

Protocol 프로토콜

서로 다른 통신 장비 간 주고 받는 데이터의 양식과 규칙

  • HTTP, HTTPS, FTP 등

REST API (RESTful API)

REST API(RESTful API, 레스트풀 API) : REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스

  • REST : Representational State Transfer
    프로토콜이나 표준이 아닌 아키텍처 원칙 세트로, API 개발시 REST 를 다양한 방식으로 구현할 수 있다.

  • RESTful API를 통해 요청이 수행될 때 RESTful API는 리소스 상태에 대한 정보을 요청자에게 전송한다.

    • 이 정보는 HTTP: JSON(Javascript Object Notation) , HTML, XLT 또는 일반 텍스트를 통해 몇 가지 형식
    • RESTful API로 간주되기 위해 따라야하는 일련의 지침/기준이 있지만, 이를 통해 REST API는 더 빨라지고 경량화되며 사물인터넷(IoT) 및 모바일 앱 개발에 가장 적합한 API가 된다.

Source : REST API(RESTful API, 레스트풀 API)란 - 서버, 구현, 사용법

SDK

Software Development Kits - devkit : Set of tools for building software programs that are used to develop applications

SSH

Secure Shell (시큐어 셸) 두 컴퓨터 간 통신을 할 수 있게 해주는 하나의 프로토콜

  • 서로 다른 컴퓨터들이 shell을 통해 통신하기 위한 프로토콜을 사용하는데, 가장 많이 사용되는 것이 SSH

Source : SSH란 무엇인가요?. SSH 란 무엇일까? SSH 를 왜 사용할까? SSH 의 장단점은? | by Seung Hyun (James) | Medium


Source&Refernce : 빨간당무 마을 :: 프로그래밍 언어론(Program Languages) 졸업 고사 정리