4 min to read
[Cloud]2.클라우드 컴퓨팅 핵심기술 요소의 이해
[1. 클라우드컴퓨팅 소개]
왜 클라우드 컴퓨팅이 필요한가?
- web-scale problems
- Large data centers
- Different models of computing
- Highly-interactive Web applications
Web-scale problmes
- 데이터가 너무 많음.
- crawling, indexing, searching, mining the web 등 이런 일들이 너무 많은 자원을 요구함
- 기후, 물리, 천문학 데이터가 너무 많음
- 센서 네트워크
- 유저와 interaction하는 환경
얼마나 많은 데이터가 생성되고 있나?
- 구글 process는 하루에 20PB(2008)
- NOAA는 1PB의 기후 데이터를 가지고 있음(2007)
클라우드 컴퓨팅 정의
- 새로운 스타일의 컴퓨팅
- 다이나믹하게 필요한 크기의 리소스 구성 가능(scalable & flexible)
- 리소스 interconnected & virtualized(가상화)
- 사용자에게 리소스를 단일화된 서비스 개념으로 제공(사용한 만큼만 비용 지불(pay as you go))
- 사용자가 요청한 시점에(on-demand) 리소스가 다이나믹하게 구성되어야 함
- 리소스를 어떤 디바이스로부터 언제 어디서나 접근 가능
- 소셜네트워크, 게임, 비즈니스 어플리케이션, 미디어 컨텐츠 등 모든 컨텐츠를 제공할수 있는 환경 제공
클라우드 컴퓨팅을 위해 무엇이 새로워져야 하는가?
- based on purchsaing of services : 서비스를 구매하는 기법으로 모든것을 만들어야 함
- based on pay for use
- over the internet to any device
- scalable, elastic, dynamic, multi-tenant(하나를 만들어도 여러명이 쓸수 있는 기술) & sharable
change in consumption patterns
- On demand
- Commodity : 자기가 원래 쓰던 환경처럼 편리하게 사용 가능해야 함
- Flexibility
- Security
Business Benefits
- Cost efficient model for creating and acquireing information services
- IT 인프라를 관리하는 복잡성을 없애야 함
- 실시간(Real-time)으로 interact하는 시스템에게 Big data 응답 가능
- 복잡한 어플리케이션도 클라우드를 통해서 유저에게 제공 가능
Layer of Cloud Computing
- IaaS : 하드웨어, 네트워크만 제공
- PaaS : 어플리케이션이 만들어지기 위해 필요한 Platform만 제공
- SaaS : 어플리케이션을 만들어서 제공
Software-as-a-Service(SaaS)
- 어플리케이션이 하나의 서비스처럼 노출됨.
- 유저에게는 심플한 브라우저 혹은 어플리케이션으로 제공
Infrastructure-as-a-Service(IaaS)
- processing power, network bandwidth, storage, internet access 등의 서비스 제공
- 인프라를 렌트하는 서비스
- 대표적으로 아마존 EC2, IBM Blue Cloud 등이 있다.
Platform-as-a-Service(PaaS)
- Iaas와 비슷하지만 OS과 서비스를 수행하는데 필요한 다른 서비스(예를들면 데이터베이스, 유틸리티 등)를 제공
- data security, backup, recovery, scalable architecture 제공 필요
Three Categories of Cloud Services
- Software-as-a-Service(SaaS) : 유저가 브라우저나 클라이언트를 통해서 클라우드 어플리케이션 사용
- Attached Service : 어플리케이션은 유저의 클라이언트에 설치되고 그에 필요한 기능(Extra Function)들만 클라우드 서비스를 통해 제공. 클라우드가 조금 가벼움
- Cloud Platform : 어플리케이션은 유저의 클라이언트에 설치되고 유저의 어플리케이션이 호출하는 어플리케이션과 Platform(DB 혹은 유틸리티)만 클라우드 서비스로 제공
Type of Cloud Computing
- Public Cloud : 제 3자에 의해서 제공되어지는 리소스 & 서비스. risk나 cost를 유연하게 가져갈 수 있음.
- Private Cloud : 보안이나 품질이 중요한 기업에서 전용 인프라를 구성해서 사용하는 기법.
- Hybrid Cloud : Public Cloud + Private Cloud. (예를들면 기업의 중요한 것들은 Private, 이메일 등은 public으로 사용)
[2. 클라우드 컴퓨팅을 가능하게 하는 기술]
가상화(Virtualization)
- 가상화란 유저에게만 안보이게만 하는 기술. 위치(location)나 접근(access)을 투명(trannsparency)하게 제공
- 관리자 입장에서 자원이 너무 많이 필요하게 되어 관리가 어려워져 자원에 대한 접근을 쉽게 하기 위함
- 가상화를 통한 서버의 활용(utilization) 강화를 위해 Virtual macine techniques 필요(VMWare, Xen, Virtual networks, VPN 등)
- 서비스의 원활한 수행 환경 제공을 위해 네트워크 가상화(Virtual networks)
Web Service and SOA
- 클라우드 서버는 주로 웹서비스 형태(WSDL. SOAP, UDDI)
- 클라우드 안에서 웹서비스를 쉽고 효율적으로 구성하기 위해 SOA(Service Oriented Architecture) 필요
Web2.0 and Mashup
- Web2.0 : web상의 유저들간의 독창성(creativity), 정보공유(information sharing), 협력(collaboration)을 향상시킴
- Mashup : 서로 다른곳에서 사용하는 Source의 Data들을 결합시키고 이곳에서 수행된 것을 가져와서 그 다음 수행
[3. 클라우드 컴퓨팅 특징]
Cloud Computing 특징
- Scalability and on-demand services
- User-centric interface : 위치와 상관없고 어느 장비에서든 접근 가능
- Guaranteed Quality of Service(QoS) : cpu, network bandwith 등의 성능이 보장되어야 함
- Autonomous System : 유저에게 모든 것이 투명하게 관리되어야 함
- Pricing : 유저에게 가격면에서 직접구입비용보단 효율적이어야 하고 제공자에겐 수익이 나야 한다.
Cloud Computing 표준(Standard)
- 어플리케이션
- 커뮤니케이션 : Http, XMPP
- Security : Oauth, OpenID, SSL/TLS
- Syndication : Atom
- 클라이언트
- 브라우저 : AJAX
- 오프라인 : HTML5. Virtual
- 가상화(virtualization) : OVF
- Solution stacks : LAMP
- Data : XML, JSON
- Web Service : REST
Cloud Computing 보안(Security)
- 어플리케이션이 가상 머신에서 수행되고 관리되므로 단순 데이터 뿐만 아니라 가상머신의 보안이 중요해짐
- 잠재적 클라우드컴퓨팅 유저는 아래와 같은 보안 이슈를 고려해야 함
- 유저들이 현재 가지고 있는 어플리케이션과 클라우드가 같은 보안정책인지 고려해야 함(똑같이 안전한가)
- 유저에게 클라우드 시스템이 보안이나 SLA를 만족시킬 수 있는지 증명할 수 있는가
- 회사의 회계 감사에도 증명되어야 함
[4. 클라우드 컴퓨팅 플랫폼]
클라우드 컴퓨팅 플랫폼
- 아마존 : AWS
- MS : Azure
- Google : Google App Engine
- IBM : Blue Cloud
- SalesForce.com : Force.com
가격
- Storage : GB단위로 월 기준으로 측정하여 과금
- BandWith : 얼마나 데이터가 나가고 들어오는지 측정하여 과금
- Compute : CPU 사용 시간 측정하여 과금
[5. 클라우드 컴퓨팅 과제]
- performance
- Security andn Privacy
- Control
- Bandwidth Costs
- Reliability
*출처 :
- 클라우드 컴퓨팅 핵심기술 요소의 이해 사내교육 참고
Comments