* On-Premises (온프레미스)
- 자사에서 데이터센터나 서버룸을 보유하고 시스템 구축부터 운용까지를 모두 수행하는 형태
- 장점 : 보안이 중요시 되거나, 시스템의 성능, 시간 등이 매우 중요할 때 사용
- 단점 : 구축을 위한 시간도 수개월 이상 걸리며 초기 도입 비용, 운영 및 관리를 위한 유지보수 등 비용이 많이 듦
* Off-Premises (오프프레미스) = Public Cloud
- 온프레미스와 반대로 인터넷 네트워크에 연결된 서버팜이나 클라우드의 원격 실행환경을 의미
- 장점 : 하드웨어 구매, 소프트웨어 설치 없이 필요한 소프트웨어를 필요한 만큼 쓰고 비용을 지불하면 되므로 구축이나 유지보수를 위한 비용이 절감
- 단점 : 보안이 비교적 취약하며, 외부 네트워크 단절이 시스템이 제대로 운영될 수 없음
* AngularJS
- Java Script 기반의 Open Source Front-end Web-App Framework
* NGINX
- Open Source Web Server SW
* Auto scaling
- 서비스의 부하량과 사용량에 맞게 탄력적으로 컴퓨팅 자원을 늘렸다가 줄였다 하는 기능
* 서버장비
- CPU, Memory, Storage
- UPS (Uninterruptible Power Supply)
- KVM (Keyboard, Video, Mouse) Switch
: 하나의 키보드, 하나의 모니터, 하나의 마우스를 가지고 다수개의 서버 혹은 PC를 제어하는 하드웨어 장비
* MAC (Media Access Control) address
- 네트워크 인터페이스 카드나 무선 LAN 칩과 같은 네트워크 부품에 물리적으로 할당되는 48비트 주소
- 앞 24 비트는 제조업체를 식별하는 번호이며, 뒤 24비트는 각 제조업체가 중복되지 않도록 부여하는 번호
- OSI 2계층인 Data Link Layer 에서 사용
* OSI (Open Systems Interconnection) Reference Model
- 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것
- 1~4 계층을 하위 계층, 5~7 계층을 상위 계층이라고 함
- Layer 7 (Application Layer)
: Web 의 HTTP 나 메일 전송을 하는 SMTP 등과 같은 App 에 특화된 프로토콜을 규정
- Layer 6 (Presentation Layer)
: 데이터의 저장 형식이나 압축, 문자 인코딩과 같은 데이터의 표현 형식을 규정
- Layer 5 (Session Layer)
: Connection 확립 타이밍이나 데이터 전송 타이밍을 규정
- Layer 4 (Transport Layer)
: 데이터의 전송을 제어. 전송 오류의 검출이나 재전송을 규정
: 대표적인 프로토콜은 TCP와 UDP
- Layer 3 (Network Layer)
: 서로 다른 네트워크간에 통신을 하기 위한 규정
: 라우팅을 포함하여 패킷 포워딩을 담당
- Layer 2 (Data Link Layer)
: 동일한 네트워크 안에 있는 노드 간의 통신을 규정
: MAC 주소로 데이터를 전송
- Layer 1 (Physical Layer)
: 통신 장비의 물리적 및 전기적 특성을 규정
* Firewall
- 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템
- 패킷 필터형
: ACL (Access Control List) 를 이용하여 통과하는 패킷을 포트번호나 IP 주소를 바탕으로 필터링 하는 방법
- 애플리케이션 게이트웨이형
: 애플리케이션 프로토콜 레벨에서 외부와의 통신을 대체 제어하는 방법
* Shell
- 명령어와 프로그램을 실행할 때 사용하는 인터페이스
- bash : 명령 이력, 디렉토리 스택, 명령 변환 기능, 명령이나 파일명의 자동보완 기능 등을 지원하는 고기능 쉘.
- csh : C 언어와 배우 비슷한 쉘로, BSD 계열 OS 에서 주로 이동
(Berkely SW Distribution; 버클리에서 개발한 Unix)
- tcsh : csh 를 개선한 버전으로 명령이나 파일명 등의 자동보완 기능을 갖고 있다
- zsh : bash와 호환성이 있는 쉘로, 고속으로 작동하는 것이 특징
* VFS (Virtual File System)
- 실제 파일 시스템 위의 Abstract Layer 를 뜻함
- Linux 에서는 Device 를 File 로 관리하며, ext1 ~ ext4 순서로 발전했다. (Extended File System)
* FHS (File System Hierarchy Standard)
- Directory 구성 표준
* RDBMS 의 종류
- Oracle DB (상업용)
- MySQL (Open Source; Oracle)
- Postgre SQL (Open Source)
* NoSQL
- RDBMS 와는 다른 새로운 방식을 통틀어 일컫는 말
- 병렬 분산처리나 유연한 스키마 설정 등이 특징
- 분류
: KVS (Key-Value Store)
: Document DB
: XML DB
- 종류
: Redis (KVS 기반)
: Mongo DB (Document 기반)
: Apache Cassandra (OSS)
* 시스템 감시 툴
- Zabbix
: Zabbix SIA 가 개발한 통합운용 관리 툴
- Datalog
: Datalog 가 개발한 서버 통합감시용 SaaS.
- Mackerel
: Hatena 가 개발한 서버 통합감시용 SaaS.
* Immutable Infrastructure
- 한 번 구축한 인프라는 변경을 하지 않고 이미지, 컨테이너 등을 파기한 후 새로운 것을구축
- 인프라의 변경이력을 관리하는 것이 아니라 지금 현재 작동하고 있는 인프라의 상태를 관리
* 파리미터 시트
- 버전 정보와 설정 항목의 설정 값이 쓰여 있는 것
- 애플리케이션 개발의 '상세설계서'와 '프로그램 설계서'에 해당
* Bootstrapping Tool
- OS 시작을 자동화하는 툴
- KickStart, Vagrant 등이 있음
* Configuration Tool
- OS 나 미들웨어의 설정을 자동화하는 툴
- Chef, Ansible, Puppet, Itamae 등이 있음
* Orchestration Tool
- 여러 서버의 관리를 자동화하는툴
- Kubernetes 등이 있음
* CNCF (Cloud Native Computing Foundation)
- 클라우드 네이티브 컴퓨팅을 추진하는 조직
- 2016년 Linux Foundation 으로부터 정식 발족하여, Kubernetes, 모니터링을 하는 Prometheus, 로그 수집을하는 Fluetnd 등의 프로젝트를 관리
- Inception, Incubating, Graduated 3개의 성숙도 단계로 프로젝트를 분류 (Kubernetes 는 Graduated)
'SW > IT 인프라' 카테고리의 다른 글
[Docker] Docker 명령어 (0) | 2020.02.09 |
---|---|
[Docker] Docker 컨테이너 생성/시작/정지/네트워크/조작/이미지 생성 (0) | 2020.01.19 |
[Docker] Docker 이미지 조작 (0) | 2020.01.19 |
/////Immutable Infrastructure (0) | 2020.01.19 |
IT Infra (0) | 2019.09.05 |