Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 워게임
- webhacking
- study
- 기록
- wargame
- 리눅스
- 정보처리기사
- 드림핵
- 자격증공부
- keyword
- Review
- 위험관리
- reivew
- 복습
- it자격증
- 보안용어
- Shell
- DreamHack
- 자격증
- 케이쉴드주니어
- Linux
- 취약점진단
- 클라우드
- 정리
- 공부
- 웹해킹
- IT
- Security
- 보안
- 리눅스마스터2급
Archives
- Today
- Total
IT Memory Note
[정보처리기사] 응용 SW 기초 기술 활용 : 기본 개발환경 구축 본문
1️⃣ 개발 인프라 구축
☆☆
(1) 개발 인프라 구축
1. 개발환경 인프라 구축의 개념
- 소프트웨어 개발 프로세스를 지원하고 향상시키기 위해 필요한 기반이나 환경을 구축하는 과정
2. 개발환경 인프라 구축 방식
구축 방식 | 설명 |
온프레미스(On-Premise) 방식 | • 외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식 • 데이터와 정보의 외부 유출이 민감할 경우 해당 장비를 자체 구매하고 특정 공간에 개발환경을 구축 |
클라우드(Cloud) 방식 | • 아마존, 구글, 마이크로소프트 등 클라우드 공급 서비스를 하는 회사들의 서비스를 임대하여 개발환경을 구축하는 방식 • 해당 장비를 초기에 구매하지 않기 때문에 개발환경 투자 비용이 적고 구축 시간이 빠름 |
하이브리드(Hybrid) 방식 | 온프레미스와 클라우드 방식을 혼용하는 방식 |
3. 개발환경 인프라 구축 장비
⓵ 스토리지 시스템 : DAS, NAS, SAN
< 스토리지 시스템의 유형 >
유형 | 설명 |
DAS(Direct Attached Storage) |
• 하드디스크와 같은 데이터 저장장치를 호스트 버스 어댑터에 직접 연결하는 스토리지 • 저장장치와 호스트 기기 사이에는 네트워크 디바이스가 있지 말아야 하고 직접 연결하는 방식으로 구성된 기술 |
NAS(Network Attached Storage) |
• 서버와 저장장치를 네트워크로 연결하여 구성하는 스토리지 • 구성 설정이 간편하여 별도의 OS를 가진 서버 한 곳에서 파일을 관리하기 때문에 서버 간에 스토리지 및 파일 공유가 용이 |
SAN(Storage Attached Network) |
• 서버와 스토리지를 저장장치 전용 네트워크로 상호 구성하여 고가용성, 고성능, 융통성, 확장성을 보장하고 데이터를 블록(BLoCk) 단위로 관리하는 스토리지 • DAS의 빠른 처리와 NAS의 스토리지 공유 방식의 장점을 합친 방식으로, 광케이블 및 광 채널 스위치를 통해 근거리 네트워크 환경을 구성하여 빠른 속도로 데이터를 처리할 수 있으며, 스토리지 공유가 가능한 기술 |
⓶ RAID(Redundant Array of Independent Disks, 복수 배열 독립 디스크) : 하나의 대형 저장장치 대신 다수의 저용량의 저장장치를 배열로 구성하는 기술
- 여러 개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하기 때문에 디스크 어레이(Disk Array)라고도 함
< RAID의 종류 >
레벨 | 개념도 | 설명 |
RAID 0 |
![]() |
• 패리티(오류 검출 가능)기 없는 스트라이핑된 세트로 구성되는 방식 • 적어도 2개의 디스크 필요 • 개선된 성능에 추가적인 기억장치를 제공하는 장점이 있지만, 장애 시 데이터의 안전을 보장할 수 없는 단점이 있음 |
RAID 1 |
![]() |
• 패리티(오류 검출 기능)가 없는 미러링된 세트로 구성되는 방식 • 적어도 2개의 디스크 필요 • 디스크 2개에 동일한 데이터가 저장되고, 제공해야할 논리 디스크 크기의 2배 공간을 필요로 하기 때문에 비용 측면에서 단점이 있음 |
RAID 2 |
![]() |
• 오류정정부호(ECC)를 기록하는 전용의 하드디스크를 이용해서 안정성을 확보하는 방식 • 비트 레벨의 스트라이핑과 해밍 코드 패리티를 사용하여 하나의 멤버 디스크가 고장나도 ECC를 이용하여 정상적으로 작동할 수 있지만, 추가적인 연산이 필요하여 입출력 속도가 매우 늦음 |
RAID 3 |
![]() |
• 데이터는 모든 디스크에 Byte 단위의 스트라이핑된 세트로 구성되고, 패리티 정보는 별도의 전용 디스크에 저장되는 방식 • 적어도 3개의 디스크 필요 • 1개의 드라이브가 고장 나는 것을 허용하며, 순차적 쓰기 성능과 순차적 읽기 성능은 우수하지만 문제 해결이 어려워서 잘 사용되지 않음 |
RAID 4 |
![]() |
• 데이터는 모든 디스크에 블록 단위의 스트라이핑된 세트로 구성되고, 패리티 정보는 별도의 전용 디스크에 저장되는 방식 • 적어도 3개의 디스크 필요 • 읽기 성능은 좋지만, 쓰기 성능은 나쁜 단점이 있음 |
RAID 5 |
![]() |
• 패리티가 배분되는(Distrubuted) 스트라이핑된 세트로 구성된 방식 • 적어도 3개의 디스크 필요 • 모든 디스크에 나누어서 저장되지만, 항상 균등하진 않고 패리티 정보도 모든 디스크에 나누어서 저장 |
RAID 6 |
![]() |
• 패리티가 배분되는(Distributed) 스트라이핑된 세트로 구성된 방식 • 적어도 4개의 디스크 필요 • 각 디스크에 패리티 정보가 2번 독립적으로 분산되어 저장 |
(2) 클라우드 기반 개발 인프라 구축
1. 가상화(Virtualization)의 개념
- 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술
- 대부분의 서버는 용량의 20% 정도만을 사용하는데, 가상화를 통해 서버의 가동률을 60~70% 이상으로 올릴 수 있음
2. 가상화의 종류
종류 | 설명 |
플랫폼 가상화 | HW 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어 마치 독립된 환경을 만들어낸 것처럼 보여주는 기법 |
리소스 가상화 | • 게스트 SW 위에서 사용자는 독립된 HW에서 SW가 실행되는 것처럼 활용하는 기법 • 메모리, 저장장치, 네트워크 등을 결합하거나 나누기 때문에 사용자는 가상화된 물리적 장치들이 어떤 위치에 있는지 알기 어려움 |
3. 가상화 기술 요소
기술 요소 | 설명 |
컴퓨팅 가상화 (Computing Virtualization) |
• 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술 • 서버 가상화를 통해 하나의 시스템에서 1개 이상의 OS를 동시에 가동시킬 수 있으므로, 서버 이용률이 크게 항상 • 예 : 하이퍼바이저(Hypervisor) |
스토리지 가상화 (Storage Virtualization) |
• 스토리지와 서버 간에 SW/HW 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술 • 이기종 스토리지 시스템의 통합을 가능하게 하는 기술 • 예 : 분산 파일 시스템 |
I/O 가상화(I/O Virtualization) |
• 서버와 I/O 디바이스 간에 우치하는 MW 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술 • 예 : 가상 네트워크 인터페이스 카드 |
컨테이너 (Container) |
• 컨테이너화된 애플리케이션들이 단일 OS상에서 실행되도록 해주는 기술 • 하이퍼바이저 없이 OS가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음 • 예 : 도커(Docker) |
분산처리 기술 (Distributed Computing) |
여러 대의 컴퓨터 계산 및 저장 능력을 이용하여 커다란 계산 문제나 대용량의 데이터를 처리하고 저장하는 기술 |
네트워크 가상화 (Network Virtualization) |
• 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계 장치(라우터, 스위치 등)의 가상화를 통한 가상 네트워크를 지원하는 기술 • 예 : SDN, NFV |
(3) 클라우드 컴퓨팅(Cloud Computing)
1. 클라우드 컴퓨팅의 개념
- 인터넷을 통해 가상화된 컴퓨터 시스템 리소스(IT 리소스)를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술
- 구성 가능한 컴퓨팅 자원에 대해 어디서나 접근할 수 있음
2. 클라우드 컴퓨팅 분류
분류 | 설명 |
사설 클라우드 (Private Cloud) |
• 기업 또는 조직 내부에서 보유하고 있는 컴퓨팅 자원(IDC, 서버 등)을 사용하여 내부에ㅐ 구축되어 운영되는 클라우드 • 자체 컴퓨팅 자우너으로 모든 HW, SW, 데이터를 수용 • 직접적인 통제가 가능하며 보안성을 높일 수 있음 |
공용 클라우드 (Public Cloud) |
• 클라우드 서비스 제공업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드 • 일정한 비용을 지불하고 HW, SW 등을 사용 • 확장성, 유연성 등이 뛰어남 |
하이브리드 클라우드 (Hybrid Cloud) |
• 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드 • 사설 클라우드의 약점인 구축 비용 문제와 공용 클라우드의 약점인 보안성을 확보하여 문제를 해결 • 사용 업무의 중요도, 보안성 확보의 중요도 등에 따라 이용 형태를 변경 가능 |
3. 클라우드 서비스 유형
유형 | 설명 |
인프라형 서비스(IaaS, Infrastructure as a Service) |
• 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스 • 컴퓨팅 자원에 OS나 애플리케이션 등의 SW 탑재 및 실행 • 하위의 클라우드 인프라를 제어하거나 관리하지 않지만 스토리지, 애플리케이션에 대해서는 제어권을 가짐 |
플랫폼형 서비스(PaaS, Platform as a Service) |
• 인프라 생성, 관리하는 복잡한 없이 애플리케이션을 개발, 실행 관리할 수 있게 하는 플랫폼을 제공하는 서비스 • SaaS 개념에을 개발 플랫폼에도 확장한 방식으로 개발을 위한 플랫폼을 구축할 필요 없이, 필요한 개발 요소를 웹에서 빌려 쓸 수 있게 하는 모델 • OS, 애플리케이션과 애플리케이션 호스팅 환경 구성의 제어권을 가짐 |
소프트웨어형 서비스(SaaS Software as a Service) |
• SW 및 관련 데이터는 중앙에 호스팅되고, 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 SW를 서비스 형태로 이용하는 서비스 • 주문형 소프트웨어라고도 함 |
2️⃣ 신기술 용어
(1) 인프라 관련 신기술 용어
용어 | 설명 |
SDDC(Software Defined Data Center) |
모든 HW가 가상화되어 가상 자원의 풀(Pool)을 구성하고, 데이터 센터 전체를 운영하는 SW가 필요한 기능 및 규모에 따라 동적으로 자원을 할당, 관리하는 역할을 수행하는 데이터 센터 |
SDS(Software Defined Storage) |
• 서버와 전통적인 스토리지 장치에 장착된 물리적 디스크 드라이브를 가상화 기술을 적용하여 필요한 공간만큼 나눠서 사용할 수 있도록 논리적인 스토리지로 통합한 가상화 기술 • 컴퓨팅 SW로 규정하는 데이터 스토리지 체계이며, 일정 조직 내 여러 스토리지를 하나의 스토리지처럼 관리하고 운용하는 컴퓨터 이용 환경 |
HACMP(High Availability Cluster Multiprocessing) |
• 각 시스템 간에 공유 디스크를 중심으로 클러스터링으로 엮여 다수의 시스템을 동시에 연결하여 조직, 기업의 기간 업무 서버 등의 안정성을 높이기 위해 사용되는 고가용성 솔루션 • 여러 가지 방식으로 구현되며 2개의 서버를 연결하는 것으로 2개의 시스템이 각각 업무를 수행하도록 구현하는 방식이 널리 사용됨 |
도커(Docker) | • 컨테이너 응용 프로그램의 배포를 자동화하는 오픈소스 엔진 • 소프트웨아 컨테이너 안에 응용 프로그램들을 배치시키는 일을 자동화해주는 오픈 소스 프로젝트이자 SW |
하이퍼바이저(Hypervisor) | 하나의 호스트 컴퓨터상에서 동시에 다수의 OS를 구동시킬 수 있는 HW와 OS 간의 SW 가상화 플랫폼 |
쿠버네티스(Kubernetes) | 리눅스 재단에 의해 관리되는 컨테이너화된 애플리케이션의 자동 배포 스케일링 등을 제공하는 오픈 소스 기반의 관리 시스템 |
서버리스 컴퓨팅 (Serverless Computing) |
• MSA, BaaS, FaaS 등의 기술을 활용하여 서버가 없는 것과 같이 직접 해당 이벤트에 접근하여 처리하는 컴퓨팅 기술 • 각 서버를 접속하는 방식보다 연결 및 속도를 개선 |
(2) 소프트웨어 관련 신기술 용어
용어 | 설명 |
인공지능(AI, Artificial Interligence) |
• 인간의 지적 능력을 인공적으로 구현하여 컴퓨터가 인간의 지능적인 행동과 사고를 모방할 수 있도록 하는 SW • 인간의 지적 능력을 컴퓨터를 통해 구현하는 기술 |
기계 학습(ML, Machine Learning) |
• AI의 분야 중 하나로, 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 • 컴퓨터가 데이터를 통해 스스로 학습하여 예측이나 판단을 제공하는 기술 |
가상 현실(VR, Virtual Reality) |
컴퓨터 등을 사용한 인공적인 기술로 만들어낸 실제와 유사하지만 실제가 아닌 어떤 특정한 환경이나 상황 또는 구현하는 기술 |
증강 현실(AR, Augmented Reality) |
VR의 한 분야로 실제로 존재하는 환경에 가상의 사물이나 정볼르 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기술 |
혼합 현실(MR, Mixed Reality) |
실세계의 물리적 환경과 가상환경을 혼합한 경험을 제공하는 하이브리드 현실 |
블록체인(Blockchain) | • 분산 DB의 한 형태로 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 도안되어 지속적으로 성장하는 데이터 기록 리스트인 블록을 연결한 모음 • P2P(Peer to Peer) 네트워크를 통해서 관리되는 분산 DB 기술 |
BaaS(Blockchain as a Service) |
• 블록체인의 기본 인프라를 추상화하여 블록체인 응용 프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼 • 블록체인 개발환경을 클라우드로 서비스 |
CPS(Cyber- Physical System |
가상 물리 시스템으로 인간의 개입 없이 대규모 센서•액추에이터를 갖는 물리적인 요소들과 통신 기술, 응용•시스템 SW 기술을 활용하여 실시간으로 물리적 요소들을 제어하는 컴퓨팅 요소가 결합된 복합 시스템 |
디지털 트윈(Digital Twin) | 물리적인 사물과 컴퓨터에 동일하게 표현되는 가상 모델로 실제 물리적인 자산 대신 SW로 가상화함으로써 실제 자산의 특성에 대한 정확환 정보를 얻을 수 있고, 자산 최적화, 돌발 사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있는 모델 |
서비스 지향 아키텍처(SOA, Service Oriented Architecture) |
• 서비스라고 정의되는 분할된 애플리케이션 조각들을 느슨하게 결합하게 하고(Loosely-Coupled) 연결해 하나의 완성된 애플리케이션을 구현하기 위한 아키텍처 • 비즈니스 층, 표현 층, 프로세스 층으로 구성 |
디지털 변혁(Digital Transformation) |
디지털 기술 기반으로 기업의 전략, 조직, 프로세스, 비즈니스 모델, 문화, 커뮤니케이션 등을 변화시키는 경영전략 |
마이크로서비스 아키텍처 (MSA, Microservices Architecture) |
하나의 큰 시스템을 여러 개의 작은 서비스로 나누어 변경과 조합이 가능하도록 만든 아키텍처 |
매시업(Meshup) | • 웹으로 제공하고 있는 정보와 서비스를 융합하여 새로운 SW나 서비스, DB 등을 만드는 기술 • 서로 다른 웹 사이트의 콘텐츠를 조합하여 새로운 차원의 콘텐츠나 서비스를 창출하는 웹 사이트 또는 애플리케이션 |
그레이웨어(Grayware) | • 바이러스나 명백한 악성코드를 포함하지 않는 합법적 프로그램이면서도 사용자를 귀찮게 하거나 위험한 상황에 빠뜨릴 수 있는 프로그램 • 평범한 SW인지, 바이러스인지 구분하기 어려운 중간 영역에 존재하는 프로그램 • 스파이웨어, 애드웨어, 장난 프로그램, 원격 액세스 도구 등 사용자가 원하지 않는 프로그램을 총칭하는 이름 |
텐서플로(TensorFlow) | 구글의 구글 브레인 팀이 제작하여 공개한 기계 학습(Machine Learning)을 위한 오픈 소스 SW 라이브러리 |
파스타(PaaS-TA) | 국내 IT 서비스 경쟁력 강화를 목표로 개발되었으며 인프라 제어 및 관리환경, 실행환경, 개발환경, 서비스환경, 운영환경으로 구성된 NIA 주도로 개발된 개방형 클라우드 컴퓨팅 플랫폼 |
메타버스(Metaverse) | • 가상•초월과 세계•우주의 합성어로서, 3차원 가상 세계를 뜻하는 용어 • 정치•경제•사회•문화의 전반적 측면에서 현실과 비현실 모두 공존할 수 있는 생활형•게임형 가상 세계 |
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 제품 소프트웨어 패키징 : 제품 소프트웨어 매뉴얼 작성 및 버전 등록 (2) | 2024.09.25 |
---|---|
[정보처리기사] 제품 소프트웨어 패키징 : 제품 소프트웨어 패키징 (4) | 2024.09.25 |
[정보처리기사] 응용 SW 기초 기술 활용 : 네트워크 기초 활용하기(6) (2) | 2024.09.20 |
[정보처리기사] 응용 SW 기초 기술 활용 : 네트워크 기초 활용하기(5) (0) | 2024.09.19 |
[정보처리기사] 응용 SW 기초 기술 활용 : 네트워크 기초 활용하기(4) (0) | 2024.09.13 |