소프트웨어 개발, 실전 DevOps
앞에 서술한 내용을 기준으로 소프트웨어 개발과정의 전 과정을 본격적인 강좌로 이끌기 전에 간단하게 한번 나열 정리해보자.
데이터 중심의 소프트웨어 개발을 하기 위해서는 분명, 의미 있는 정보와 의미 있는 가치를 활용하는 정보모델을 전달하거나 서비스하는 프로세스와 루트를 기반으로 기획되어야 한다.
이렇게 '정의'된 내용들은 '비즈니스 모델'에서 출발하거나, 사업 아이디어에서 출발될 수 있다. 해당 아이디어들은 적절한 논의 혹은 아이디어 정리를 통해서 최소한의 목표인 MVP로 디자인된다.
해당 환경은 MVP(최소 존속 제품)으로 디자인되어 각 단계와 스프린트, 타임박스를 기준으로 변형되며, 설계자료로 변한다. 아주 일반적인 4+1 view의 관점으로 정리할 수 있다.
information routh, information model, information value는 4+1 view관점의 설계 형태로 흐름/모델, 데이터 속성, 시스템 가용성 적인 측면을 고려하여 시스템이 설계된다. 이 단계에서 필요한 설계자료들이 적절한 프로세스, 서비스 디자인, 구현 상태 등을 고려하여 정리가 된다.
해당 설계자료와 Software Architecture는 연관을 가지면서 간 단계를 거치면서 소프트웨어 개발의 단계는 진행되며, SA는 완성되어 간다.
이 구성 위에서 적절한 데이터와 적절한 개발 거버넌스, 적당한 기술적 부채를 감안한 상태로 초기 MVP(최소 존속 제품)이 구현되고, 해당 단계는 각 타임박스를 기준으로 반복되며 소프트웨어는 개발된다.
적절한 개발환경과 데이터, 테스트, MSA기반의 클라우드 환경으로 소프트웨어는 MVP로 시작되어, 점차 서비스를 완성해가는 과정으로 정리할 수 있다.
이러한 단계를 MVP를 시작으로 DevOps를 통해서 서비스 개발을 좀 더 디테일하고 의미 있는 서비스로 확장하면서, 내부의 데이터를 기반으로 Growth Hacking을 통해서 의미 있게 변화하는 구성은 전체적인 Application Service를 완성하기 위해서 Application Monitoring Framework라는 환경을 필요로 하게 된다.
이 AMF는 Application Delivery, Application Performance를 포괄한 개념이다.
MSA를 지향하는 웹서비스 개발자와 개발회사라면 이러한 환경을 구성하거나 세팅, 준비해야 현재의 비즈니스 환경을 위한 지원이 가능할 것이다.
후원 : http://www.whatap.io