2016년 7월 18일 월요일

소프트웨어 개발자 관점의 클라우드 서비스


앞에서 살펴본 것처럼클라우드 서비스는 소프트웨어를 구동시키기 위해 필요한 모든 것을 제공해준다클라우드 개념이 시작되면서가장 먼저 발전된 것은 하드웨어 분야인 IaaS였다비용이나 관리적으로 가장 많은 자원이 소요되는 분야이기도 했지만 소프트웨어나사용처의 특성을 크게 고려하지 않아도 서비스할  있었기 때문이다. IaaS 이후 가상의 서버를 비롯해 다양한 플랫폼들도 직접 구매하지 않고 클라우드 서비스를 통해 활용하기 시작했고소프트웨어 개발과 구동 환경이 일반화 되면서 PaaS 사용도 활발해지기 시작했다. PaaS 사용은 플랫폼의 표준적인 모델을 제공하였고 이에 기반하여 완성된 소프트웨어를 제공하는 SaaS 제공되기에 이르렀다(그림5).

<그림5> 클라우드 서비스 모델의 구분
 
출처 : LG CNS

그림5 살펴보면클라우드를 사용하지 않고 소프트웨어를 개발하면 좌측 Private 같이 모든 것을 고려해야 하지만클라우드를 사용함으로써 개발자의 부담은 점차 줄어들  있고 소프트웨어 개발에  집중할  있게 된다.



더보기

클라우드 서비스의 유형


클라우드의 인기가 올라가면서 사용자의 필요성에 따라  가지 다른 모델과 배포 전략이 나타났다클라우드에는  가지 주요 모델이있다인프라플랫폼서비스로 나눌  있으며소프트웨어 관점으로 어떤 모델을 선택할지 전략이 필요하다.

인프라(IaaS; Infrastructure as a Service) 
IaaS 클라우드의 기본 블록을 포함하고 일반적인 네트워크컴퓨팅에 필요한 가상 또는 전용 하드웨어와 데이터 스토리지 공간 등을제공한다소프트웨어가 구동되기 위해 구축하는 인프라 환경이라고 이해하면 되고개발자가 익숙한 IT 리소스 형태로 제공된다(그림2). IaaS  사용하게 되면하드웨어 구성과 구매유지 관리 등을 고민하지 않아도 된다.

<그림2> IaaS 서비스 형태
 
출처 아마존 (Amazon)
 좌측으로 갈수록 하드웨어에 가깝고 우측으로 갈수록 서비스에 가깝다 .

플랫폼(PaaS; Platform as a Service) 
PaaS 어플리케이션 개발과 실행에 필요한 가상화된 서버나 하드웨어 등을 제공한다. PaaS 사용하면 일반적인 하드웨어나 어플리케이션 실행에 필요한 운영체제나 표준화된 소프트웨어라이브러리 등을 관리할 필요가 없다(그림3). 소프트웨어 개발 프로젝트를 수행할  가장 경험이 많이 필요하고 고민이 많이 되는 부분 중의 하나지만 PaaS 사용함으로써 소프트웨어 개발에 집중할  있다.

<그림3> PaaS 서비스 형태
 
출처 아마존 (Amazon)



2016년 7월 15일 금요일

기업 규모별 생산성


SW개발 생산성과 기업규모 간 관계의 비교는 기업 규모가 SW개발 생선성과 어떤 관계를 가지고 있는지 살펴보았다. 

분석결과를 살펴보면, 대기업의 개발 생산성은 32.6FP/MM으로 나타나고 있고, 중소기업의 개발 생산성은 25.6FP/MM으로 나타나고 있다. 이러한 결과는 대기업이 SW공학수준과 다른 모든 성과 에 있어서 중소기업에 비해 높은 결과를 보여주는 것과 일관되게 개발 생산성 또한 높은 것을 보여 주고 있다. 





 

생산성과 비용성과


개발 생산성과 비용성과와의 관계는 계획된 비용을 준수한 프로젝트와 비용을 준수하지 못한 프로 젝트 사이에 개발 생산성의 차이를 비교 분석하였다. 


분석결과를 살펴보면, 계획된 비용을 준수한 프로젝트의 개발 생산성은 30.3FP/MM으로 비용을 준수하지 못한 프로젝트의 개발 생산성 26.4FP/MM 보다 높게 나타나는 것을 볼 수 있다. 이는 개발 생산성이 높은 조직이 개발 생산성이 낮은 조직보다 비용을 잘 준수하고 있다는 것을 보여주고 있다.



생산성과 납기성과


개발 생산성과 납기성과와의 관계는 납기를 준수한 프로젝트가 납기를 미준수한 프로젝트에 비해 개발 생산성이 좋은지를 중심으로 살펴보았다. 


 
분석결과를 살펴보면, 납기를 준수한 프로젝트의 개발 생산성은 29.0FP/MM으로 나타났으며, 납 기를 준수하지 못한 프로젝트의 개발 생산성은 27.3FP/MM으로 나타나고 있다. 이러한 결과는 개 발 생산성이 좋은 조직이 생산성이 낮은 조직보다 납기를 잘 준수함을 간접적으로 보여주고 있다.