2016년 7월 5일 화요일

가속화 되고 있는 클라우드 도입으로 인한 소프트웨어 활용의 범위

지금까지도 소프트웨어 자체를 만드는 것보다는 소프트웨어를 서비스하기 위해 준비해야 하는 것들이 너무 많다. 서버와 데이터베이스를 비롯해 네트워크와 보안 등의 전문가들이 필요하기 때문에 많은 소프트웨어 업체가 고민에 빠진다. 클라우드는 개발자와 회사가 소프트웨어에 집중하고 구매, 유지 관리, 용량 계획과 같은 획일적인 일은 피할 수 있도록 해주고 있다. 이번 회에서는 클라우드 도입이 소프트웨어 활용에 어떤 영향을 미치는지 살펴보도록 한다.

사용자 관점의 클라우드 서비스
최근에 알려진 클라우드 서비스라면 스마트폰이나 스마트패드를 들고 다니며, 인터넷 상에서 음악을 듣고, 동영상 보던 것을 집에 있는 PC 로 이어서 듣거나 볼 수 있거나 회사의 회의시간에 정리한 문서를 바로 인터넷을 통해 회의 참석자들과 함께 공유하는 것을 생각한다(그림1).

그림1과 같이 사용자가 생각하는 클라우드 서비스는 디바이스와는 상관없이 원하는 서비스를 받는다. 애플, 구글, KT 등 클라우드 서비스를 제공하는 다양한 업체는 대부분 스토리지나 서버를 공유하는 형태가 일반적이고 일부 소프트웨어는 라이선스를 공유해서 사용하기도 한다. 사용자 입장에서는 디바이스나 소프트웨어 중심의 서비스에서 사용자 중심의 서비스로 이동한다고 볼 수 있다.
이번에는, 소프트웨어 개발자 입장에서 클라우드를 살펴보자. 사용자 입장과는 다르게 소프트웨어 개발자는 소프트웨어를 개발하기 전에 고민해야 할 것들이 매우 많다. 서비스하고자 하는 소프트웨어를 개발하는 것부터 개발에 필요한 웹 서버, 어플리케이션 서버, 데이터베이스 서버, 라이브러리 등을 고민해야 하고, 이를 구동시키기 위한 물리적인 하드웨어와 네트워크 등도 고민해야 한다. 소프트웨어 업체가 좋은 아이디어를 가지고도 실패하는 이유가 아이디어를 소프트웨어로 만드는 것 외에 준비해야 할 것들이 너무 많았기 때문이다.
그렇다면, 클라우드 서비스의 유형을 살펴보고, 개발자 관점으로 클라우드 서비스에 대해 살펴보면서 높은 품질의 소프트웨어를 개발하기 위해 클라우드 서비스를 활용하는 방법에 대해 알아보자.


댓글 없음 :

댓글 쓰기