"데브옵스는 옵스가 발명했다." 이 책을 펼치면서 제일 눈에 들어온 문구다.
소프트웨어 공학에서 "소프트웨어 위기"론이 제기된 후로 수없이 많은 개발 방법론들이 발표되고, 사용되고, 테스트되고, 없어지기도 했다
그중 객체지향은 "소프트웨어 위기"를 극복하게 해준 대표적인 방법론이라고 하겠다.
자바는 객체지향 프로그래밍을 통한 프로젝트 구현의 대표적인 언어로 자리매김한지 오래되고, 전 세계적으로 아직도 가장 인기 있는 언어중의 하나 이다.
현 시점에서 실무 프로젝트에 적용되는 언어 순위에서 1위를 차지하고 있을 정도이다
하지만, 자바라는 언어자체가 C/C++ 의 계보를 잇고 있으며, 태생적 한계가 있었다
최근에 발표되는 JDK 를 보면 전통적인 자바를 벗어나려는 노력이 많이 엿보인다.
일반적으로 자바 하면 결국 Spring Framework 를 이용한 Web Application Service 구현이라는 것으로 귀결되고 있다.
그도 그럴것이 자바 + Spring 환경의 Web Application Service 구현의 생산성과 참조할 수 있는 수많은 소스코드를 생각하면 당연한 것이 아닌가 한다.
그동안 Spring Framework 를 이용한 Web Application Service 를 구현한다고 하면, 소위 Spring Legacy, SpringMVC 를 이야기 하는 것이 보편적이었다
SpringMVC 프로젝트는 "모놀리식 아키텍처"기반의 프로젝트로 개발된 모든 소스코드를 하나의 패키지로 번들하고, 배포하는 구조이다.
방법론에 애자일 기법이 도입이 되면서 "마이크로 서비스"라는 개발방법론이 대두되고, 많은 개발자들이 도입하고 싶어하고, 실제 도입되는 프로젝트들이 점점 많아 지고 있다
"마이크로 서비스"를 개발방법론을 어떻게 시작하고, 어떤 도구를 사용하고 어떻게 구현을 해야 하는지 막막하기만 하다
어느 순간 Spring Legacy 프로젝트가 아닌 Spring Boot 라는 도구가 등장하면서, Spring Framework 를 이용한 마이크로 서비스 개발방법이 현실로 다가오고, 자바가 아닌 다른 프로그램 언어에서는 다양한 도구를 활용하여 구현을 하고 있다.
마이크로 서비스를 구현하는 방법론으로 애자일을 차용한 "데브옵스" 방법이 있다.
이 책에서는
데브옵스를 개발 방법에 도입하기 위한 레퍼런스 가이드 역할을 수행하고 있다.
본인은 프로젝트를 구현하면서
겨우 github 을 이용하고, Docket 와 Tomcat 등의 컨테이너를 활용하는 수준인데
이 책에서 소개하는 다양한 도구를 접하면서, 새로운 신세계를 경험하는 느낌이었다.
책의 분량에 비하여 상당히 많은 도구를 소개하고 있는데
도구를 자세히 설명하기 보다는 이 도구를 어떻게 활용해야 하는지, 어떤 방법으로 활용하면 좋은지를 설명하고 있다.
두꺼운 책을 통해 잔소리를 잔뜩 늘어 놓는 것 보다 훨씬 심플하고 신선한 느낌이었다.
그렇다고, 내용이 결코 부실하지도 않다
각 도구들의 사용법, 명령, 기능을 한줄 요약 형식으로 나열해 주어 기존에 사용하다가 명령이 갑자기 생각이 나지 않거나 할때 쉽게 찾아 볼수 있도록 되어 있다.
이제
작은 프로젝트부터, 큰 프로젝트까지 서서히 증가하고 있는
데브옵스 방법론과 마이크로 서비스 개발 방법론을 도입할때가 되었다
전체적인 개발 환경의 변화를 몸으로 체험하고 있다
이 책을 통하여 도구를 익히고 실무에 잘 적용할 수 있을 것 같다