320x100
320x100

IT Infrastructure

: 애플리케이션을 가동시키기 위한 하드웨어 및 OS, 미들웨어, 네트워크 등의 시스템 기반

 

ㆍ기능적 요구사항

: 시스템에서 수행하는 기능 및 역할

 

ㆍ비기능적 요구사항

: 시스템의 성능, 안정성, 확장성, 보안

 

 

 

인프라의 구성요소

ㆍ하드웨어

: 서버 장비 본체 및 스토리지, 전원 장치 등

: 넓은 의미에서 데이터 센터의 설비도 포함

 

ㆍ네트워크

: 사용자가 원격으로 접근할 수 있도록 서버를 연결하는 도구

: 라우터, 스위치, 방화벽, 네트워크 장비, 케이블, 무선 연결을 위한 Access Point

 

ㆍ운영체제

: 하드웨어와 네트워크 장비를 제어하기 위한 소프트웨어로 리소스나 프로세스를 관리

: 클라이언트OS (Windows / macOS 등)

: 서버OS (Windows Server / Linux / Unix 등)

 

ㆍ미들웨어

: 서버 상에서 서버가 특정 역할을 하도록 기능을 제공하는 소프트웨어

 

 

 

서버의 형태

ㆍ온프레미스

: 데이터 센터나 서버실에 서버를 두고 직접 관리하는 방식

: 서버가 다운되지 않는 것을 통해 가용성을 유지

: 기밀성과 보안이 중요한 경우 유리함

: 초기 투자비용 크고 이후 사용 예측량을 가늠하기 힘들고 사용량이 적어도 유지 비용이 그대로 나간다는 단점 존재

 

ㆍ퍼블릭 클라우드

: AWS, GCP, MS Azure 등의 클라우드 서비스를 통해 서버를 대여 받는 방식

: IaaS (인프라를 클라우드로 제공)

: PaaS (인프라 생성이 필요없이 필요한 플랫폼을 제공)

: SaaS (소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 클라이언트를 통해 이용)

: 트래픽을 조절하기 쉽고 비교적 안정적으로 가용성을 유지할 수 있음

: 빠른 서비스 제공이 필요하거나 초기 투자비용이 적은 경우 유리

 

ㆍ프라이빗 클라우드

: 클라우드 컴퓨팅 서비스와 인프라가 인트라넷이나 데이터 센터 내에서만 호스팅 되는 방식

 

ㆍ하이브리드

: 온프레미스와 클라우드를 함께 사용하는 방식

 

 

 

하드웨어

ㆍCPU

: 서버 내에서 실행되는 작업과 연산을 처리하는 중앙 처리 장치

: 코어가 많거나 캐시 용량이 클수록 높은 성능을 보이며, 서버용 CPU가 따로 있음

 

ㆍGPU

: 그래픽카드에 내장된 연산장치

: CPU에 비해 구조가 단순하여 머신러닝이나 딥러닝의 학습에 유리함

: 딥러닝을 사용하는 서버의 경우 필수

 

ㆍMemory

: 서버 내에서 작동하는 작업들을 임시로 보관하는 주기억장치

: 용량이 클 수록 좋으며, 램 타이밍, 클럭 등에 의해 성능이 좌우됨

: 서버용으로는 전력소모가 적고 오류 처리가 탑재된 메모리를 사용

 

ㆍStorage

: 데이터를 영구적으로 저장하는 보조기억장치

: 용량이 클 수록 좋으며, 읽기속도 및 쓰기속도에 의해 성능이 좌우됨

: 읽기 및 쓰기 속도가 중요하지 않은 데이터는 주로 HDD에 저장

: 자주 사용되는 데이터의 경우 읽기 및 쓰기 속도가 빠른 SSD에 저장

: 서비스가 끊기지 않게하는 HA (High Availability. 고가용성)을 유지하기 위해 RAID를 통해 백업 및 분산저장

: 클라우드 서비스에서는 Master-Slave 구조를 통해 고가용성을 유지 

 

ㆍUPS (무정전 전원 공급 장치)

: 서버실 및 건물의 전원이 차단됐을 경우 서버의 전원이 꺼지지 않게 전원을 공급하는 장치

 

ㆍHub

: 여러 대의 네트워크 장비를 하나의 네트워크로 구성하기 위한 장치

: 데이터가 도착하면 네트워크 내 모든 장치에 전달

 

ㆍSwitch / MAC Bridge / Brdgeing Hub / Switching Hub 등

: 여러 대의 네트워크 장비를 하나의 네트워크로 구성하는 장치

: 허브와 달리 데이터를 필요로 하는 장치에만 데이터가 전송됨

: 전이중 통신방식을 통해 향상된 전송 속도를 가짐

 

ㆍRouter

: 데이터(패킷)의 경로를 지정하여 다음 장치로 전향시키는 장치

: 서로 다른 네트워크 간의 중계 역할

 

ㆍGateway

: 서로 다른 통신망 및 서로 다른 프로토콜을 사용하는 네트워크 간 통신을 가능하게 하는 장치 및 소프트웨어

: 다른 네트워크로 들어가는 입구 역할을 수행하는 네트워크 포인트

: 프로토콜의 경우 적절히 변환

 

ㆍServer Rack

: 라우터, 허브, 스위치 등의 장비를 보관하는 케이스 (주로 19인치를 사용)

 

ㆍ방화벽

: 보안을 위해 내부 네트워크와 외부 네트워크와의 통신을 제어하는 장치 및 소프트웨어

: 패킷 필터링 형 (포트번호나 IP주소를 바탕으로 패킷을 필터링)

: 애플리케이션 게이트웨이 형<프록시 서버> (응용계층에서 외부와의 통신을 제어 / 새로운 세션을 생성하여 역할 수행)

 

 

 

네트워크

ㆍOSI 7계층 및 TCP/IP 모델 

 

OSI 참조 모델과 TCP/IP 모델

OSI참조모델 (Open System Interconnection) - 서로 다른 컴퓨터간의 통신 기능을 일곱 계층으로 구분하여 각 계층마다 표준화된 서비스와 프로토콜을 규정한 것 - 하드웨어나 소프트웨어의 논리적인 변

2mukee.tistory.com

 

ㆍ프록시 서버

 

프록시 서버의 모든 것 (Proxy Server)

프록시 서버 - 시스템에 방화벽이 있는 경우 외부와의 통신을 위해 만들어 놓은 서버  : proxy = 대리  : 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는

2mukee.tistory.com

 

ㆍ포트포워드 / DMZ / Twin IP

 

외부 네트워크 접속 방법 - 포트포워드, DMZ, Twin IP

※ 사전지식 ㆍNAT (Network Address Translation) : 외부에 노출되는 공인 IP와 네트워크 내에서 사용하는 사설 IP간의 주소를 변환하는 기술 : IP패킷의 TCP/UDP 포트 번호와 소스 및 목적지의 IP주소 등을 재

2mukee.tistory.com

 

ㆍ로드밸런싱

 

로드밸런싱이란? (Load Balancing)

로드밸런싱 (Load Balancing) - 서버에 가해지는 부하(Load)를 분산(Balancing)하는 기법  : 클라이언트와 서버풀 (분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치  : 한대에 서버로 부하가 집중되

2mukee.tistory.com

 

ㆍ라우팅

 

라우팅

라우팅  테이블 - 데이터 전송을 위한 라우팅 정보 - 자동등록  : 대규모 네트워크에 적합  : 라우터 간의 경로정보를 교환하여 테이블 정보 변경 - 수동등록  : 소규모 네트워크

2mukee.tistory.com

 

ㆍ프로토콜

 

프로토콜

기초개념 - 개체  : DBMS, email, program이 포함된 것 - 시스템  : 하나 이상의 개체를 보유한 컴퓨터 프로토콜 프로토콜 - 서로 다른 시스템에 있는 개체간 성공적인 데이터 전송을 위한 통신 규약  :

2mukee.tistory.com

 

 

 

인프라 관리

ㆍ모니터링

 

데브옵스 실무를 위한 개념과 툴 -5 (모니터링 / 로그 관리)

인프라 모니터링 - 서버와 같은 인프라에 대한 쿼리 카운트, 에러 카운트, 처리 시간, 서버 활성 시간 등의 시스템에 관련된 정량적 수치를 집계하고 보여주는 것 인프라 모니터링 툴 - Prometheus  

2mukee.tistory.com

 

ㆍImmutable Infrastructure

: 운영 환경을 이미지 파일로 생성하여 배포하는 것

 

ㆍInfrastructure as Code (IaC)

: 프로그램 코드를 기반으로 인프라를 구성하고 관리하는 방식

: 버전관리가 용이하며 다수의 서버를 관리하는데 있어 편리함

: 장애 발생시 효율적인 대처 가능

 

ㆍBootStrapping (부트스트래핑)

: OS 시작을 자동화하는 인프라 관리 도구

: OS 설치 및 가상환경 설정, 네트워크 구성 설정 등 수행

: Vagrant 등

 

ㆍConfiguration

: OS 및 미들웨어의 설정을 자동화하는 인프라 관리 도구

: Ansible / Chef / Puppet 등

 

ㆍOrchestration

: 여러 서버의 관리를 자동화

: Kubernetes / Docker Swarm / Mesos 등

 

ㆍCI/CD 및 자동화

 

데브옵스 실무를 위한 개념과 툴 -1 (CI/CD 툴)

데브옵스를 위한 툴 전략 - 프로세스 전략  : 개발을 위한 개발 프로세스 전략 수립 - 커뮤니케이션 및 협업 계획 - 지속적인 개발 도구 - 지속적인 통합 툴  : 팀원들의 코드를 자동으로 통합 하

2mukee.tistory.com

 

ㆍ가상화

 

가상화란 ? (virtualization)

가상화 (virtualization) - 물리적인 하드웨어 장치를 논리적인 객체로 추상화 하는 것  : 가상의 하드웨어를 프로세스 처럼 실행  : 일종의 컴퓨터를 프로그램 처럼 실행 하는 것 - 용도  1. 컴퓨터

2mukee.tistory.com

 

ㆍ컨테이너

 

데브옵스 실무를 위한 개념과 툴 -2 (컨테이너)

컨테이너 컨테이너 - 소프트웨어 애플리케이션의 가상화를 지원하는 시스템 - 애플리케이션의 관점에서는 가상환경에서 작동하는 것과 같지만  OS의 관점에서는 컨테이너는 프로세스로 작동하

2mukee.tistory.com

 

 

 

 

 

 

 

Refference

 

개발자를 위한 인프라 기초 총정리

최근 클라우드 관련 부서로 옮겨 클라우드 관련 업무를 맡게 되었습니다. 그동안 개발은 했어도 인프라 지식은 많지 않은 상황에서 업무를 하다보니 어려운 부분이 있어 인프라 기초를 정리해

futurecreator.github.io

https://www.vmware.com/kr/topics/glossary/content/private-cloud.html

 

라우터 - 위키백과, 우리 모두의 백과사전

일반적인 가정용/소형 오피스용 라우터의 모습. ADSL 전화선 및 이더넷 네트워크 케이블 연결부가 보인다. 라우터(router[a] 혹은 라우팅 기능을 갖는 공유기)는 패킷의 위치를 추출하여, 그 위치에

ko.wikipedia.org

 

 

네트워크 스위치 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

 

300x250
728x90