- 트렌드를 안다는 것은 인터넷이나 잡지, 서적에 산재한 최신 키워드를 머리에 입력하는 것인 아님
* 그 일이 주목받게 된 이유를 안다
* 그 일이 생겨난 메커니즘이나 법칙을 안다
* 그 일의 관계나 구조를 안다
* 그 일이 어떻게 미래로 이어질지를 안다
- 클라우드 이전의 소유 시대에서는 조달을 위해 다음과 같은 절차를 밟아야 했기에 몇주에서 몇개월이 걸렸다.
* 리스 기간에 맞추어 장래의 수요를 예측하여 사이징한다
* IT벤더에 시스템 구성의 제안을 요청하고 견적을 의뢰하여 가격교섭을 한다
* 품의서를 작성하고 승인 및 결제절차를 밟는다.
* 결정한 IT업체에 발주한다
* IT업체는 제조회사에 조달을 의뢰한다
* 조달한 기기를 조립한다
* 사용자 기업이 지시한 현장에 설치하고 소프트웨어의 도입이나 설정을 한다.
- 클라우드의 경우 간단함
* 현재 필요한 리소스를 생각하여 사이징한다
* 클라우드 서비스의 웹에 표시되는 메뉴화면(셀프 서비스 포털)에서 시스템을 선택
* 품의서를 작성하고 승인 및 결제절차를 밟음
* 그 화면에서 보안레벨이나 백업 타이밍 등 운용에 관한 항목을 설정
* 구매버튼을 클릭
- 클라우드 서비스 모델
(1) SaaS : 이메일이나 스케줄 관리, 문서작성이나 표계산, 재무회계나 판매관리 등과 같은 애플리케이션을 인터넷을 통해 제공하는 서비스. 사용자는 애플리케이션을 실행하기 위한 하드웨어나 OS, 미들웨어 관한 지식이 없어도 애플리케이션에 대한 설정이나 기능을 이해하고 있으면 사용할 수 있습니다. 세일즈포스닷컴, 구글앱스, 마이크로소프트365 등이 있다
(2) PaaS : 애플리케이션을 개발하거나 실행하기 위한 시스템 기능을 서비스로 제공하며 데이터베이스, 개발 프레임워크, 실행시에 필요한 라이브러리 및 모듈을 제공. 사용자는 인프라 구축이나 설정을 고민할 필요없이 애플리케이션을 개발하고 실행가능. 마이크로소프트 애저, 포스닷컴, 구글앱스엔진 등이 있다.
(3) IaaS : 서버와 스토리지 같은 시스템 자원을 제공하는 서비스. 사용자는 직접 OS나 미들웨어를 도입하고 설정해야 하며 그 위에서 실행되는 애플리케이션도 자신이 직접 마련함. 소유하는 시스템의 경우 매번 벤더와 교섭하여 절차를 밟고 설치 및 도입작업을 해야 하지만 IaaS를 사용하면 메뉴화면이 셀프 서비스 포털에서 설정하기만 하면 사용할 수 있음. 또 스토리지 용량이나 서버의 수는 필요에 따라 간단히 증감할 수 있음. 그 빠른 속도와 변경에 대한 유연성은 시스템을 소유하는 것과 비교할 것이 못됨. 아마존 EC2, IIJ GIO클라우드, 구글 컴퓨터 엔진 등이 있다.
- 최근 가상 프라이빗 클라우드 또는 호스티드 프라이빗 클라우드라는 말이 사용되고 있다. 퍼블릭 클라우드의 코스트 퍼포먼스를 누리고 싶지만 다른 사용자의 영향을 받는다면 사용하기 불편하다. 또한 인터넷을 통하기 때문에 보안면에서의 불안도 불식할 수 없다. 하지만 프라이빗 클라우드를 직접 구축할 만한 기술력도 자금력도 없다. 이런 요구에 부응한 것이 가장 프라이빗 클라우드 또는 호스티즈 프라이빗 클라우드. 이들은 퍼블릭 클라우드 시스템 자원의 일부를 특정 사용자 전용으로 할당으로 다른 사용자는 사용할 수 없도록 하고, 전용선이나 암호화된 인터넷(VPN)으로 접속하여 마치 자사 전용의 프라이빗 클라우드 인 것처럼 이용하게 하는 서비스임
- 클라우드의 특징
(1) 온디맨드, 셀프 서비스 : 사용자가 웹 화면에서 시스템의 조달이나 각종 설정을 하면 사람의 손을 걸칠 필요 없이 자동으로 실행해 주는 장치를 마련하고 있을 것
(2) 폭넓은 네트워크 액세스 : PC뿐 아니라 다양한 디바이스에서도 이용할 수 있을 것
(3) 리소스 공유 : 여러 사용자가 시스템 자원을 공유하고 서로 융통하는 장치를 마련하고 있을 것
(4) 신속한 확장성 : 사용자 요구에 따라 시스템의 확장 및 축소를 즉시 수행할 수 있을 것
(5) 서비스 측정 가능, 종량제 요금 부과 : 서비스 이용량, 예를 들어 CPU나 스토리지를 어느정도 사용했는지를 전기요금과 같이 측정할 수 있는 장치를 가지고 그에 따른 종량제 요금부과가 가능할 것
- 현재 주류인 워터폴 형 개발에서는 전부 만드는 것을 전제로 함. 개발할 시스템의 사양을 미리 모두 정한 후에 개발에 착수하므로 사용자의 요구가 모두 정해지지 않으면 개발에 착수할 수 없다. 이런 기능을 사용할지도 모른다고 추측하여 사양에 포함시키고 또 일단 만들기 시작하면 도중에 변경하는 것이 여러우므로 전체를 완성시키는 것이 우선시됨. 변경이나 품질보증은 코드를 전부다 쓴 최종단계에 대처해야 한다. 한편 애자일 개발에서는 업무상 필요성이 높은 기능이나 업무 프로세스를 선별하여 우선순위를 정하고, 거기에 리소스를 집중함으로써 실제로 사용하는 필수 시스템만을 만드는 것. 애자일 개발의 본질은 전부 만드지 않는다는것. 애자일 개발의 방법을 사용해도 전부 만드는 것이라면 워터폴형 개발과 본질적으로 아무것도 달라지지 않음. 애자일 개발은 전부 만들지 않는 대신 단기간에 고품질의 시스템, 그리고 변경에 대한 유연성을 확보하려고 하는 것으로, 전부 만드는 것과는 트레이드오프 관계에 있다.
- 클라우드 비즈니스 구분
(1) 클라우드 프로바이더
* 개요 : 시스템 리소스나 애플리케이션 기능을 인터넷을 통해 서비스로써 제공
* 경쟁력 : 압도적 코스트 퍼포먼스와 서비스 내용의 차별화
* 투자 : 가격 경쟁력을 유지하기 위한 대규모 초기 투자
(2) 클라우드 어댑터
* 클라우드 프로바이더가 제공하는 서비스의 문제를 보완하는 서비스나 제품을 제공
* 경쟁력 : 보안이나 가용성 등 클라우드 이용에 따르는 심각한 문제에 대한 확실하고 저렴한 대처
* 투자 : 차별화를 위한 일정규모의 초기투자
(3) 클라우드 인테그레이터
* 클라우드 프로바이더나 클라우드 어댑터가 제공하는 서비스나 상품을 고객별로 조합하여 제공
* 경쟁력 : 서비스의 감정능력, 개별 최적화된 조합을 실현하는 프로듀싱 능력
* 투자 : 초기투자 필요없음. 단, 웹서비스나 웹 애플리케이션에 대처할 수 있는 인재확보가 전제
- 클라이언트 플랫폼의 역사
(1) 클라이언트/서버 : 메인 프레임 시절 클라이언트는 문자만 표시하고 입력할 수 있었따. PC의 출현은 그 처리를 PC에게 떠맡겨 표현력과 조작성을 높이는 한편, 큰 처리나 데이터 관리는 강력한 서버에게 맡겨 협력 및 역할 분담하여 사용하는 클라이언트/서버를 탄생시킴.
(2) 웹시스템 : 클라이언트/서버는 표현력과 조작성을 향상시킨 반면에 업무별로 클라이언트용 소프트웨어를 개발, 도입, 트러블 대처, 버전업 등과 같은 운용관리에 관한 부담을 대폭 증가시킴. 거기에 등장한 것이 웹 시스템. 웹 시스템은 95년 윈도우95 이후 PC에 표준 내장된 브라우저에서 업무시스템을 이용하려고 한 것으로, 업무 개별 프로그램을 개발하지 않아도 높은 표현력이나 조작성을 실현할 수 있을 것이라는 기대를 모았다. 하지만 당시 브라우저로는 기능이 부족하여 사용이 불편했기 때문에 클라이언트/서버를 대체하기엔 역부족이었다. 하지만 브라우저는 다양한 디바이스에서 작동하므로 윈도우에 대한 벤더락인을 회피할 수 있다는 가능성이 보였다. 이 개념은 이후 클라우드로 이어지는 중요한 열쇠가 되었다.
(3) RIC와 RIA : 그 다음으로 등장한 것이 플러그인의 이용. 플러그인이란 표준 브라우저에서 할 수 없는 기능을 브라우저에 프로그램을 넣음으로써 구현되는 장치. 대표적 플러그인으로 애니메이션이나비디오, 고기능의 입력 폼을 구현하는 플래시가 있다. 이러한 브라우저를 RIC(rich internet client), 그것을 사용한 애플리케이션을 RIA(rich internet application)라고 하며 표현력과 조작성이 높아져 이용자도 증가해 갔다.
- HTML5란 본래 언어 사양의 버전을 가리키는 말이지만 지금은 브라우저에서 애플리케이션을 작동시키는 표준기술의 총칭으로 사용되고 있다. 이 움직임을 가속시킨 이유 중 하나로 아이폰이 발매 당시부터 플래시를 지원하지 않고 HTML5가 가장 유력하게 된 것. 단, HTML5의 사양이 완전히 정해지지 않았을 때부터 브라우저를 개발하는 각 회사가 앞서서 다양한 기능을 확장시켰기 때문에 브라우저간의 호환성에 문제가 생겼다. 하지만 14년 10월에 HTML5의 최종사양이 정식으로 정해짐으로써 이런 상황도 앞으로는 수습되어 갈 것임
- HTML5가 아니라 안드로이드나 아이폰 등과 같은 디바이스에 의존하는 프로그램(네이티브앱)도 널리 사용하게 되었다. HTML5의 사양 결정이 늦어졌기 때문에 브라우저의 기능부족을 보완할 필요가 있었다는 점과 네이티브 앱 쪽이 화면 설계가 간단하여 기능이나 성능을 끌어내기 쉬웠기 때문. 하지만 앱을 플랫폼별로 만들 필요가 있어서 멀티플랫폼의 이상으로부터 보면 후퇴했다고 할 수 있다. 하지만 애플 등은 네이티브 앱을 늘려 사용자를 자사 플랫폼으로 끌어 모으려는 자세를 보이고 있어 벤더마다의 생각이 정리되지 않는 상황이 되었다. 최근에는 HTML5로 기술한 프로그램을 네이티브앱으로 변환하는 툴도 제공되는 등 과도기라서 생기는 혼란도 보이고 있지만 장기적인 트렌드로써는 HTML5로 수습되어 갈 것
- 브라우저만 해도 인터넷익스플로러, 파이어폭스, 사파리, 크롬 등이 있다. 웹 서버나 통신 프로토콜에도 여러가지가 있다. 이렇게 다른 소프트웨어를 사용하여 서로 정보를 주고받을 수 있고 똑같은 표현이 가능한 것은 정보의 구조나 브라우저에 대한 표시방법을 지정하는 HTML이 표준화되어 공통으로 이용할 수 있기 때문. 하지만 이 HTML도 97년에 버전4가 정해지고 99년에 4,01로 마이너 버전업된 이래 큰 개정이 없는 채로 오늘날까지 사용되어 왔음. 그동안 네트워크의 고속화와 컴퓨터의 성능향상, GPS나 센서가 내장된 스마트폰의 출현 등 이용환경이 당시와는 크게 달라졌음. 이런 상황에 대응하기 위해 HTML4는 그대로 두고 플러그인(플래시 등) 이라 불리는 소프트웨어를 추가하여 동영상이나 음성을 재생하는 등 HTML4에는 포함되지 않은 기능을 보완해 왔지만 그러한 대처에는 이미 한계가 보이기 시작했다. 따라서 시대에 맞는 개정이 요구되었고 차세대를 담당할 HTML5를 정하려는 노력이 일어난 것이다.
- 가상화의 종류
(1) 파티셔닝(분할) : 하나의 시스템 자원을 여러개의 독립된 개별자원으로 가능하게 만듬. 예를 들어 한대의 서버를 열대의 개별적인 독립된 서버가 존재하고 있는 것처럼 기능하게 만드는 경우가 그러함. 파티셔닝을 하면 한 유저의 사용만으로는 능력에 여유가 있는 물리 서버 상에 외관상 여러개의 서버를 가동시켜 여러 사용자가 각각을 자신의 전용 서버로 다룰 수 있음. 이로써 시스템 자원을 놀리지 않고 유효하게 활용가능
(2) 어그리게이션(집약) : 여러개의 시스템 자원을 하나의 시스템 자원처럼 기능하게 만듬. 예를 들어 물리적으로 다른 여러개의 스토리지를 하나의 큰 스토리지로 보이게 하는 경우. 이 기능을 사용하지 않으면 여러개로 된 개별 스토리지의 존재를 의식하고 제조업체나 기종의 차이도 고려하여 번잡한 조작이나 설정을 해야 함. 하지만 이 기능으로 그런 것은 신경쓰지 않고 하나의 스토리지로 다룰 수 있으므로 사용상의 편리성은 크게 높아짐
(3) 에뮬레이션(모방) : 어떤 시스템 자원을 서로 다른 시스템 자원으로써 기능하게 함. 예를 들어 PC에서 스마트폰의 기본 소프트웨어를 가동시키고 스마트폰과 비슷한 화면을 표시시킬 수 있음. 이로써 스마트폰에는 없는 큰 화면과 키보드로 동일한 조작을 할 수 있게 되므로 애플리케이션 개발이나 테스트의 편리성을 높일 수 있음.
- 서버 가상화는 하드웨어에 탑재되어 있는 프로세서나 메모리의 시간, 스토리지의 용량을 작게 분할하여 여러 사용자에게 할당. 사용자는 할당된 시스템 자원을 각각 점유하여 사용 가능. 이러한 장치에 의해 물리적으로는 하드웨어가 한 대뿐이지만 개인 전용의 개별 서버를 각 사용자에게 제공하고 있는 것처럼 보이게 할 수 있음. 외관상 하나하나로 보이는 서버를 가상서버 또는 가상머신이라고 하며 이를 실현하는 소프트웨어를 하이퍼바이저라고 함. 가상서버는 물리적 서버와 똑같이 기능하므로 서버마다 독립된 OS를 탑재하여 개별적으로 애플리케이션을 실행시킬 수 있음. 사용자는 마치 전용 하드웨어를 갖고 있는 듯한 자유로움과 편리함을 느끼면서 전체적으로는 하드웨어의 사용효율을 높일 수 있음
- SDN(software defined networking) 개념 : SDN이란 라우터나 스위치와 같은 네트워크 기기의 구성이나 기능, 네트워크 연결 루트 등을 물리적 기기의 도입과 배선 등과 같은 작업을 하지 않아도 소프트웨어에 대한 설정만으로 실현해주는 기술의 총칭. 예를 들어 서로 다른 회사의 기기가 설치되어 있는 데이터 센터의 경우, 지금까지는 독립성을 확보하기 위해 기기와 네트워크를 물리적으로 분리시켜 따로 관리해야 했음. 하지만 SDN을 사용하면 모두를 하나의 물리적 네트워크로 연결하고 설정만으로 분할하여 개별적으로 독립된 네트워크로 보이게 할 수 있음. 또한 예전에는 라우터나 스위치, 방화벽 등 기능이나 역할이 다른 물리적 기기가 필요했지만 네트워크 가상화를 이용하면 물리적으로는 똑같은 기기를 사용하여 설정만으로 필요한 기능구성을 실현할 수도 있음. 더욱이 네트워크 전체를 일원적으로 집중제어할 수 있으므로 각각의 네트워크 기기를 설정하는 데 시간일 뺏기지 않음
- 지금 크롬북이라는 새로운 타입의 노트북이 주목받고 있음. 13년 미국에서 새로 판매된 법인용 노트북의 21%가 크롬북이었다. 크롬북은 구글이 개발한 크롬 브라우저로 실행이 특화된 기본 소프트웨어인 크롬OS를 탑재한 노트북. 브라우저만 실행한다는 심플한 기능으로 특화시킨 만큼, 고속의 CPU나 대량의 메모리를 필요로 하지 않음. 또한 앱을 PC에 인스톨하지 않고 브라우저를 통해 클라우드 서비스로 이용하기 때문에 프로그램이나 데이터를 PC에 보관할 필요도, 대용량 스토리지도 필요 없음. 동시에 데이터 유출의 위험도 줄고 백업하지 않아도 됨. 더욱이 기능이 심플하므로 취약성이 적고 바이러스에 노출될 위험도 적으며 안전성은 높아짐. 사용자별로 보안설정이나 이용권한도 일원 관리할 수 있음
- 지금까지 뭐든지 할 수 있는 것을 추구하여 개발되어 온 윈도우 등과 같은 범용 OS를 쾌적하게 실행하기 위해서는 고성능의 하드웨어가 필요했음. 그것을 일부러 기능을 한정시킴으로써 가볍고 저렴한 노트북이 실현된 것임. 예전에는 메일, 표계산, 문서작성 등은 PC에 설치된 앱에 의존했지만 지금은 브라우저를 통해 클라우드에서 이용할 수 있게 되었음. 그 외의 업무 애플리케이션도 클라우드에서 이용할 수 있는 것이 늘고 있음. 앞에서 소개한 HTML5가 이런 상황을 뒤에서 지원하고 있음. 크롬북은 데이터나 앱을 서버측이 갖고 있으므로 씬 클라이언트와 비슷한 특성을 지님. 그러므로 많은 PC사용자를 갖고 있는 기업이나 교육기관은 보안상의 걱정은 적고 운용관리 측의 부담도 적은 크롬북에 주목. 아직 PC가 아니면 할 수 없는 일도 있어서 사용의 편리성을 위해 기존의 노트북이 필요하다는 목소리도 적지 않음. 하지만 네트워크 환경이나 클라우드 서비스가 더욱 충실해지면 새로운 선택지로 그 지위가 확립되어 갈 것임
- 수집된 데이터는 네트워크를 통해 보내짐. 기기가 놓여 있는 곳의 전용 네트워크를 통하는 경우도 있지만 그대로 모바일 네트워크로 보내지는 경우도 있음. 또는 네트워크에 있는 컴퓨터에서 데이터를 집약하고 용량을 줄여서 상위로 보내는 경우도 생각할 수 있음. 그러한 처리를 포그 컴퓨팅이나 엣지 컴퓨팅이라고 함.
'IT' 카테고리의 다른 글
비즈니스 블록체인 (0) | 2018.06.23 |
---|---|
블록체인 펼쳐보기 (0) | 2018.06.17 |
플랫폼 시장의 지배자 (0) | 2018.05.19 |
이더리움과 솔리디티 입문 (0) | 2018.04.21 |
알기 쉬운 블록체인 (0) | 2018.04.07 |