개발자의 기본 "인프라" 란 ?

윤.·2020년 7월 6일
12
post-thumbnail

오늘은 IT 인프라에 대해 공부해 볼 예정이다.
내가 이해한 부분만 쓸 예정이라 부족한 부분이나 오타는 알려주시기 바랍니다 ...^^

백엔드 개발자면 무조건 알아야 하지만, 요새는 백+프론트 엔드 기준이 정확히 구분되어 있어도 개발자라면 알아야 한다고 생각한다.
그래서 회사 시스템 구조 및 돌아가는 구조를 이해하는데 큰 도움이 된다.

인프라란 ?

  • 인프라는 기반 시설/설계 라고 할 수 있다.
  • IT 인프라는 시스템 구조 및 체계라고 생각하면 될 것이다.

IT인프라 구성 요소

  • 하드웨어 (HW)
  • 운영체제 (OS)
  • 네트워크 (Network)
  • 미들웨어 (Middleware)

이 위에 4개의 개념은 확실하게 알고 넘어가자.

하드웨어란(HW) ?

제일 중심이 되는 녀석이라고 생각하면 된다. 데이터를 저장하기 위한 스토리지, 전원 장치이다. 그 중에 하드웨어라고 하면 우리는 CPU를 가장 먼저 떠올릴 것이다. CPU 성능은 코어와 캐시에 영향이 굉장히 크다. 코어가 많을 수록 처리하는 연산이 늘어나고 메모리 처리하는 속도가 굉장히 빠르다. 캐시는 클수록 성능이 좋은건 누구나 알고 있을 것이다.

운영체제란(OS) ?

OS란 컴퓨터의 HW+SW를 제어하여, 사용자가 컴퓨터를 쓸 수 있게 해주는 프로그램이라 생각하면 된다.
리눅스는 컴퓨터 운영체제 중 하나이다. OS는 시스템 리소스 및 하드웨어를 관리하며, 애플리케이션과 하드웨어 사이에서 모든 소프트웨어와 작업을 수행하는 물리적 리소스를 연결한다. 리눅스 커널을 통해 메모리 관리/ 파일 시스템/프로세스 관리를 제어할 수 있으며 사용자는 쉘(shell)이라는 인터페이스를 통해 명령어를 커널로 전달해준다.
또한, 리눅스 배포판을 이용하며 기업이나 개인이 직접 수정해서 사용할 수 있게 해줄 수 있다.

네트워크란 (Network) ?

네트워크에서는 여러 장비를 식별하기 위해서 네트워크 주소를 사용한다.

  • IPv4 VS IPv6
    - IP주소는 그 장비의 주소라고 보면 이해하기 쉽다. IPv4는 12자리의 10진수 숫자를 배열로 ip 주소로 만듦으로써 약 40억개의 주소가 존재할 수 있게 설계 하였다고 한다. 하지만 기술이 급속도로 발전하면서 ip 주소의 수가 부족해졌다. 그래서 등장한 것이 IPv6이다. IPv6은 128비트의 IP 주소를 사용하고 있다.

미들웨어란(Middleware) ?

미들웨어도 핵심만 알면 이해하기 쉬울 것이다. 운영체제와 비지니스를 처리하는 애플리케이션의 중간에서 도움을 주는 소프트웨어들을 미들웨어라고 한다.

  • Web Server
    웹 서버는 개발자 라면 누구나 알것이다. 클라이언트가 보낸 HTTP 요청을 받아 웹 페이지에서 응답을 해주거나, 서버쪽에 서비스 메시지를 호출해주는 기능을 가진 서버이다.
    ex) Apache HTTP Server
    ex) Internet Information Services
    ex) Nginx
  • DBMS
    데이터 베이스 관리 시스템은 데이터 베이스를 관리하는 미들웨어이다. 데이터의 CRUD와 같은 기능과 트랜잭션 처리 등 많은 기능을 포함한다. ex) Oracle Database
    ex) Mysql
    ex) PostgreSQL

IT인프라 유형

전통적인 인프라(온프레미스 On-premises)

데이터 센터나 서버실에 서버를 직접 두고 관리하는 방식이다.
지금도 널리 사용되고 있는 방식이다. 이 방식의 경우에는 장비를 직접 사서 관리 하기 때문에 초기비용이 많이 든다. 또한 한번 구축해두면 사용량이 높든 적든 유지비용이 일정하게 나가는 단점이 있다. 하지만 자기가 직접 관리 하기 때문에 서버 구축이나 환경이나 서버에 대한 이해를 빨리 알수 있을거라고 생각한다.

퍼블릭 클라우드 인프라 / 프라이빗 클라우드

요새는 클라우드 기반이 대세라고 할 정도로 많은 기업들도 클라우드 기반 형식으로 바꾸고 있다. 퍼블릭 클라우드 인프라는 여러 대상들에게 서비스 형태를 제공하는 시스템이다. AWS(Amazon Web Service)가 대표적이다. 서비스 형태란 사용자에게 원하는 옵션만 제공해주고 돈을 받는다. 필요한 만큼 지불하고 옵션을 받기 때문에 요새 많이 퍼블릭 클라우드 기반으로 바뀌고 있다고 한다. 프라이빗 클라우드란 이용자를 한정한 형태를 말한다. 기업 내 서비스와 같은 것으로 보안이 좋고 기능이나 서비스를 추가하기 쉽다.

IT 인프라 관리

IT 리소스, 시스템, 플랫폼, 환경을 제어하는 것을 말한다.

OS 관리

콘텐츠, 패치, 프로비저닝, 서브스크립션 관리를 제공하여 동일한 OS를 실행하는 환경을 관리

클라우스 관리

클라우드 관리자는 리소스 배포, 사용, 통합, 재해 복구를 관리하여 최종 사용자, 데이터, 애플리케이션, 서비스 등 클라우드에서 실행되는 모든 항목을 제어 할 수 있다.

가상화 관리

가상 환경과 그 기반이 되는 물리 하드웨어를 인터페이스로 연결해 리소스 관리를 단순화하고, 데이터 분석을 강화하며, 운영을 간소화한다.

IT 운영 관리

비즈니스 프로세스 관리라고도 알려져 있으며 종종 반복되거나, 진행 중이거나, 예측 가능한 비즈니스 프로세스를 모델링하고, 분석하고, 최적화하는 방식이다.

IT 자동화

직원이 IT 시스템과의 상호 작용을 대체하거나 줄일 수 있도록 반복 가능한 지침과 프로세스를 만듭니다. 인프라 자동화라고 한다.

설정 관리

컴퓨터 시스템, 서버, 소프트웨어를 적합한 상태로 일관되게 유지관리 한다.

API 관리

엔터프라이즈 및 클라우드 전반에서 애플리케이션과 데이터를 연결하는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 배포, 제어 및 분석한다.

리스크 관리

리스크를 식별하고 평가하며, 해당 리스크와 그 잠재적인 영향을 최소화하거나 제어하기 위한 계획을 세운다.

IT 인프라에 대해 알아봤다.
외우면 좋겠지만, 이 많은 것을 외우기에는 솔직히 한계가 있다.
출 퇴근 및 시간이 남을 때 꾸준히 읽어서 이해하는게 제일 좋은 방법인거 같다.

profile
한줄한줄.

2개의 댓글

감사합니다. 제겐 큰 도움이 되는 글이였습니다.

답글 달기

좋은 글 감사합니다.~

답글 달기