클라우드컴퓨팅의 6대 핵심기술


1. 클라우드컴퓨팅의 6대 핵심기술의 개요

 1-1. 서비스 처리 및 관리측면

 1) 분산 데이터 저장 : 네트워크상에서 데이터를 조회, 저장, 관리할 수 있는 기술 

   - 분산 파일 시스템 : CODA, Andrew, 아파치 하둡, Redhat GFS 등

   - 분산데이터 관리 시스템 : 아파치, HBase, HyperTable 등

 2) 분산 컴퓨팅 : 네트워크에 연결된 컴퓨터들의 처리 능력을 이용해 방대한 계산문제를 신속하게 처리하는 기술

   - 메시지 전달 모델 : MPI, PVM 등

   - 분산 공유 메모리 모델 : Linda, TupleSpace, JavaSpace 등

   - 데이터 병렬 모델 : MapReduce, 아파치 하둡 등

 3) 서비스 관리 : 서비스를 운영하는데 필요한 무중단 방안 및 실시간 자원 배분 처리 기술

   - 클러스터 관리 기술

   - 프로비저닝 및 스케줄링


 1-2. 인프라 구성 및 보안 측면

 4) 가상화 : 물리적으로 다른 시스템을 논리적으로 통합하거나 하나의 시스템을 논리적으로 분할해 자원을 효율적으로 사용하는 기술

   - 서버 가상화 : Hypervisor, Bare-metal, Hosted

   - 스토리지 가상화 : 서버기반, 네트워크 기반, 스토리지 기반

   - 네트워크 가상화 : VLAN, MPLSL3VPN, 호스트 가상화, 링크 가상화

 5) 서버 구성 기술 : 실시간으로 서버를 동적으로 구성하고 변경작업을 수행하기 위한 기술

   - 그리드 : Grid Network, Globus

   - 파티셔닝 : 물리적, 논리적, 서버 프로세서 파티셔닝

   - 블레이드 서버 : Processing Blade, Switch Blade 등

 6) 보안 : 실시간으로 변경되는 모든 자원들에 대하여 기밀성, 가용성, 무결성을 제공하기 위한 기술

   - 플랫폼 보안 기술 : DAC, MAC, RBAC, PKI, SSO 등

   - 스토리지 보안기술 : 대칭키기반(DES, AES), 공개키 기반(RSA). 프라이버시 보존형 데이터마이닝 (PPDM) 등

   - 네트워크 보안기술 : SSL, IPSec, VPN 등

   - 다말 보안기술 : TPM, CryptoCell 등


2. 클라우드 컴퓨팅의 6대 핵심기술 적용 사례

 2-1. Amazon EC2 플랫폼

  - 사용자에게 가상의 컴퓨팅 자원을 제공하고 사용한 만큼 비용을 청구하는 서비스 플랫폼 제공


 2-2. Amazon EC2 플랫폼 적용요소

  1) EC2 Instance : OS와 어플리케이션이 실행되는 최소 컴퓨팅 자원단위로써 Xen 기반의 가상머신

  2) AMI : Amazon Machine Image, OS와 애플리케이션을 포함한 부팅 가능한 루트 디스크 이미지

  3) SimpleAPI : 표준 인터넷 프로토콜(HTTP 80)을 통해 제공되는 모든 기능에 접근하기 위한 API





블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


SW 공학



1. SW 공학의 개요

 1-1. 정의

  - SW 개발, 운영, 유지보수, 폐기까지의 체계적인 접근을 위해 수학적, 과학적, 공학적 원리 및 방법을 적용하는 학문

 1-2. 특징

  - 원리: 경험, 시행착오의 결과를 체계화

  - 기법: 프로세스 수행의 순차적 절차

  - 언어: SW를 표현 실체화 하는 도구

  - 도구: SW 개발을 돕는 소프트웨어


2. SW공학의 원리 개념도, 요소

 2-1. SW공학의 원리


 2-2. SW공학의 원리 요소

 - 정형성과 엄격 : 정형화된 명세 및 엄격한 설계 (UML)

 - 관심사 분리 : 단계별, 역할별로 문제를 분리하여 해결 (설계/구현분리, AOP)

 - 모듈화 : 모듈간 결합도는 낮추고, 모듈내 응집도는 높임 (Class, 컴포넌트, 서비스)

 - 추상화 : 각 부분의 핵심정보 이외 생략 (설계 패턴

 - 변환예측 : 변화가 예상되는 부분의 분리 설계 (3 Tire / CS(Client & Server) /SOA

 - 일반화 : 구체적인 사실에서 일반성 추출 (CBD)

 - 점진화 : 개략적인 단계부터 구체적인 단계로 진화 (단위 -> 통합 TEST)

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


암달의 법칙(병렬처리의 한계, 성능평가)


1. 암달의 법칙의 개요

 1-1. 정의

  - 프로그램은 병렬처리가 가능한 부분과 병렬처리가 불가능한 순차처리 부분으로 구성되므로 프로세서를 아무리 병렬화하더라도 더 이상 성능이 향상되지 않는 한계가 존재한다는 법칙

 1-2. 의미

  - 병렬처리 한계: 병렬처리를 이용하여 얻을 수 있는 속도 향상에 대한 한계 제시

  - 성능평가: 병렬화가 가능한 부분, 불가능한 부분, 처리기 숫자를 고려한 성능 평가 기준 제시

  - 성능한계: 성능의 한계는 캐시, 메모리, 버스와 같이 제한된 자원을 프로세서가 서로 점유하려고 쟁탈하는 오버헤드에 의한 발생


2. 암달의 법칙의 개념도, 사례

 2-1. 암달의 법칙의 개념도

  - 병렬처리: 프로세서의 수가 증가하더라도 실행 속도 향상을 제한하는 요소를 갖고 있다는 법칙

  - 순차처리: 코드 비율이 0.05인 경우 프로세서의 수를 향상시키더라도 최대 속도 향상은 20%로 제한됨


 2-2. 사례

  - Sp(성능향상) = 1 / ((1-P) + P/S) (P: 병렬화 비율, S: 속도향상)

  - 어떠한 작업의 40%에 해당하는 부분의 속도를 2배로 늘릴 수 있다면, P는 0.4이고 S는 2이므로 성능 향상은 1 / ((1-0.4)+0.4/2) = 1.25


3. 암달의 법칙 활용

 1) S/W처리 효율 예측 : 단위 시간당 트랜잭션처리 효율성 예측에 활용

 2) H/W 병렬구성 효율성 예측 : CPU 병렬 구성의 효율성 모델링 도구로 활용

 (S= 1/ ((1-p) + p / n) : p: 동시에 처리 할 수 있는 작업의 비율, n : 프로세서의 수

 


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,



DBMS Optimizer(옵티마이저)


1. DBMS Optimizer (옵티마이저)의 개요

 1-1. 정의

 - 사용자의 다양한 요구에 따라 SQL문의 문법적 오류를 확인하고 가장 빠른 데이터 엑세스 경로(Plan)을 생성하고 선택하여 최적의 경로를 찾아주는 역할을 하는 DBMS의 핵심 엔진

 - 옵티마이저에 영향을 미치는 요소 : SQL 형태, 연산자 형태, 힌트사용, 분산DB, 인덱스/클러스터링, 통계정보, 옵티마이저 모드, DBMS 버전


 1-2. 목표

 - 전체 처리속도 최적화

 - 최초 응답속도 최적화


2. DBMS Optimizer (옵티마이저)의 개념도 및 요소 설명, 종류

 2-1. DBMS Optimizer (옵티마이저)의 개념도

2-2. DBMS Optimizer (옵티마이저)의 요소 설명

 1) Parse : 구문, 보안, Object 등의 체크 및 Simple Transformation을 수행

 2) Query Rewrite : 서브질의와 부의 병합을 수행하고, OR Expansion 작업을 수행

 3) Query Optimization : 질의에 대한 엑세스 경로를 결정

 4) QEP Generation : 질의실행계획 (질의를 실행하는데 필요한 상세 정보를 생성)

 5) Query Execution : QEP에 따라 SQL 문장을 실행


 2-3. DBMS Optimizer (옵티마이저)의 종류

 1) RBO : 사전에 실행할 SQL문의 순서를 규칙으로 설정하여 그 규칙에 따라 SQL문의 실행 순서를 결정하는 옵티마이저

 2) CBO: 실행 처리 방법들에 대한 비용을 산정하여 그중에 가장 적은 비용이 들어가는 처리방법들을 선택하는 옵티마이저


3. DBMS Optimizer (옵티마이저)의 발전방향

 1) RBO의 한계 : 추출해야하는 쿼리나 데이터가 복잡해지면서 단순 정해진 규칙대로 수행에 한계가 발생되어 CBO를 많이 사용함

 2) Self Learning Optimizer : 과거에는 단순히 오프젝트 및 시스템 통계로 부터 산정한 비용만으로 실행계획을 수립했으나 앞으로는 예상치와 수행결과를 비교하여 오류를 스스로 수정하여 최적화를 도출하는 옵치마이저로 발전 예상


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

OSI 7 Layer (Open System Interconnection)



1. OSI 7 Layer의 개요

 1-1. 정의

 - 국제표준기구(OSI)에서 제정한 네트워크 통신규격 표준화를 위한 규격

 - 개방형 시스템의 상호접속하기 위한 참조모델이며, 이기종 시스템간 연결 및 정보 교환을 위한 표준화된 절차


 1-2. 특징

 - 기능을 Layer로 나눔으로 써 각 Layer의 변경에 있어 다른 Layer에 영향을 주지 않음

 - 실제 구현에 대한 언급이 없음


 2. OSI 7 Layer의 계층구조 및 기능

 2-1. OSI 7 Layer의 계층구조

 2-2. OSI 7 Layer의 계층별 기능

 - 상위 계층:

   1) Application : 최상위 계층으로 통신망에서 연결된 응용 프로세스들의 정보 교환이 되는 계층

   2) Presentation : 응용 프로그램 사이에서 서로 다른 정보의 형식과 설정, 암호 등을 해독하여 서로 연결 가능하도록 지원

   3) Session : 두 프로세스 사이에 데이터가 흐를 수 있는 가상 경로의 확립이나, 해제를 수행

   4) Transport : 링크 종점간의 정확한 데이터 전송을 제공


 - 하위 계층:

   1) Network : 단말간의 시스템끼리 Data를 전송하기 위한 최선의 통신경로 선택을 제공

   2) Data Link : 물리계층에서 사용하는 통신매체를 통해 데이터 블록의 전송 에러 검출 및 에러 제어를 관리한고 규정

   3) Physical :  장치간의 물리적 접속을 제어하기 위한 기능 제공


 2-3. OSI 7 Layer 계층별 프로토콜

   1) Application : FTP, POP, SMTP, Telnet, DNS 등

   2) Presentation : JPEG, MPEG, SMB 등

   3) Session : SSH, TLS 등

   4) Transport : TCP, UDP

   5) Network : IP (Internet Protocol), ICMP, IGMP

   6) Data Link : MAC, LLC, PPP

   7) Physical : CSMA/CD, RS_232C


3. OSI 모델과 TCP/IP의 비교


 - 실제 인터넷에서 사용되는 TCP/IP는 OSI 7 Layer를 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화된 현실화의  과정에서 채택된 모형


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

클라우드 컴퓨팅(Cloud Computing)



1. 클라우드 컴퓨팅(Cloud Computing) 의 개요

 1-1. 정의

 - 인터넷 기술을 활용하여 다수의 고객들에게 높은 수준의 확장성을 가진 IT 자원들을 '서비스'로 제공하는 컴퓨팅

 - 거대한 IT 자원을 추상화, 가상화하여 동적 확장이 가능한 체계로 사용자가 필요한 만큼 네트워크를 통해 사용하는 컴퓨팅 서비스 환경


 1-2. 배경

 - 도입 니즈 증가: 기업들의 HW, SW 구매비용 절감 욕구 및 방대한 데이터 처리를 요구하는 Application의 수요증가

 - 기술의 발전 : 네트워크 고도화와 가상화와 같은 SW기술이 발전되면서 광법위한 분야의 SW와 IT 자원들이 인터넷을 통해 제공 될수 있는 환경 마련

 - 컴플라이언스 : 지구 온실가스 감축 의무에 따른 그린 IT에 대한 인식의 확산


2. 클라우드 컴퓨팅(Cloud Computing) 구성 및 구성요소

 2-1. 클라우드 컴퓨팅 구성

           - 사용자가 웹으로 서비스 요청시 프로비저닝 툴을 이용하여 자원을 가상화 및 분배하여 제공

 2-2. 클라우드 컴퓨팅의 구성요소

 1) User Interaction Interface : 클라우드 사용자와 클라우드간의 인터페이스

 2) Services catalog : 사용자가 요청할 수 있는 서비스의 리스트

 3) System Management : 사용 가능한 컴퓨터 리소스를 관리하기 위한 부분

 4) Provisioning tool : 사용자가 요청한 서비스를 수행하기 위해 클라우드로부터 컴퓨터 자원을 잘라내어 할당

 5) Monitoring and metering : 컴퓨터 자원이 특정한 사용자에게 할당되어 사용되는지에 대한 클라우드 전반의 트래킹 시스템 

 6) Servers : 시스템 관리툴에 의해 관리되며 가상 또는 실제 서버가 될 수 있음


 2-3. 클라우드 컴퓨팅의 서비스 유형

 - 인프라 서비스 모델: Public Cloud(일반), Private Cloud(내부), Hybrid Cloud(일반/내부 결합)

 - 서비스 종류 : 

 1) Saas(Software as a Service) : 응용 SW를 서비스로 제공

 2) PaaS(Platform as a Service) : SW 개발 환경을 서비스로 제공

 3) IaaS(Infrastructure as a Service) : 서버 인프라(CPU, Disk 등)를 서비스로 제공


3. 클라우드 컴퓨팅(Cloud Computing)의 적용시 고려사항

 - 데이터보안: 온라인을 통한 데이터 공유가 용이해진 만큼 해킹이나 악성코드에 대한 취약점이 존재

 - 서비스 신뢰: 아웃소싱 사업자에 의한 데이터가 관리되므로 민감한 정보 저장에 대해서는 클라우드 컴퓨팅 활용이 기피될 수 있음

 - 데이터 소유권 및 지적 재산권: 클라우드 컴퓨팅 서비스 제공자가 변경되거나 사업을 포기할 경우 데이터 소유권과 관련된 분쟁 발생가능성이 존재

 - 잠금 효과: 대용량의 데이터를 이전하는데 많은 비용이 소요될 수 있기 때문에 클라우드 사업자의 변경이 용이하지 않을 수 있음


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,



압축기술 (데이터 전송효율을 높이기 위한)



1. 압축 기술의 개요

1-1. 개념

 - Text, 멀티 미디어(오디오, 영상) 서비스를 위한 효과적 데이터 저장공간, 전송을 위해 부피를 줄이고(부호화), 원데이터로 복원(복호화)하는 기술

- 데이터를 더 작은 크기로 변환하는 인코딩, 원래 데이터로 복원하는 디코딩으로 이루어짐


1-2. 데이터 압축의 원리

 - 중복제거: 공간적 중복성 (연속되는 공간에서 상관되는 정보들), 시간적 중복성(현재 프레임과 이전 프레임 중 상관되는 정보)

 - 크기 축소: 압축률 = 압축 전 비트수 / 압축 후 비트수 >= 1

 - 압축 대상 특성 반영 : 텍스트(Run-Length, Huffman), 정지화상(JPEG, GIF, TIFF), 디지털 컨텐츠( MPEG1, MPEG2~4 )


2. 데이터 압축의 분류 및 압축 기법

2-1. 데이터 압축의 분류

 1) 무손실 압축 : 복원 후 압축전의 데이터와 완전 일치하는 방법 (Run-Length Coding, Huffman Coding 등)

     - 데이터의 통계적 특징 이용 효율적으로 압축 (텍스트, 프로그램, 의료영상)


 2) 손실 압축 : 복원 후 압축전의 데이터와 일치 하지 않는 방법 (예측 기법, 변환기법(FFT, DCT, 계층적 기법)

     - 연속 매체를 압축하는데 적상 ( 이미지, 사운드, 멀티미디어)


 3) 혼합 압축 : 손실압축과 무손실 압축 방법을 모두 사용 (JPEG, MEPG, H.264)

     - 영상 압축에서 많이 사용하는 방식, 매우 큰 압축률 (영상)

2-2. 데이터 압축 기법

 1) 반복순차 부호화

   - 연속길이 부호화 : 반복되는 코드와 개수를 코드로 작성 (영화 동일장면 연속, 음악 한음의 연속적인 구간)

   - 제로 및 공백 변호나 부호화 : 연속길이 부호화의 특별한 경우로 데이터 스트림에서 제로나 공백 문자는 제거


 2) 통계적 부호화

   - 허프만 부호화: 빈도수가 높은 코드에 가중치를 부여하여 새롭게 부호의 코드를 설정하는 방법

   - 산술 부화화 : 심볼의 표본값과 예측된 표본 값의 차를 부호화 하여 정보량을 감소 시킴


 3)  차분/예측 부호화, 변환부호화 등 존재


2-3. 데이터 압축시 장/단점

 1) 장점 : 공간 효율화, 시간 효율화, 프로세싱 효율화, 전송 효율화, ILM 실현(정보생명주기관리)

 2) 단점 : 자원 사용증가, SW 비용증가, SW 개발 복잡도 증가, 품질 저하 가능성, 효율성 저하 가능


3. 데이터 압축시 고려사항

 - 압축수준 : 문자수준, 단어 수준

 - 데이터 모델의 유형 선택 고려 : 정적, 적응, 반정적 모델 

 - 정확한 용도를 파악하여 용도에 알맞는 압축기법 사용 


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


GRC(Governance, Risk & Compliance)


1. GRC(Governance, Risk & Compliance)의 개요

1-1. 정의

 - 개별적 위험/규제 대응이 아닌 기업 전반의 위험관리, Compliance를 IT 거버넌스에 통합, 지속적. 효과성, 투명성을 확보하기 위한 전략


1-2. 배경

- 시대적 변화에 맞추어 리스크 요소들을 적절히 대응하며, 여러가지 법규 및 통제에 효과적으로 대응하기위하여 GRC 개념수립 필요

- 기업 전반의 여러가지 리스크의 정확한 인식 및 효과적인 관리 방안 필요


2. GRC의 개념도, 리스크 관리 절차

2-1. GRC의 개념도

 

 - Risk & Compliance 대응을 통한 IT 거버넌스 실현

2-2. GRC 달성을 위한 리스크 관리 절차

 1) 리스크를 평가하고 관리하기 위한 종합적인 체계 정착 및 프로세스 수립

 2) 중요 리스크 및 취약성 식별과 대응 계획의 수립, 기업가치의 평가

 3) 리스크 선호도와 수용 정도 결정, 추가 리스크 수용여부 의사결정

 4) 리스크 수용에 대한 책임과 권한의 설정


3. GRC의 문제점과 해결 방안

3-1. GRC의 문제점

 - GRC를 IT 차원의 것으로 여기는 오인식 문제

 - 기업 조직상 통합 GRC 추진 어려움

 - 리스크 관리 총 책임자 부재


3-2. GRC의 문제점 해결 방안

 - 전사적 통합 추진이 가능한 책임자와 전담/전문 조직구성

 - 기업 전반의 문제로 인식 전환을 위한 교육



블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,