알라딘

헤더배너
상품평점 help

분류

이름:유석문

최근작
2023년 7월 <리더의 세상 읽기>

Continuous Delivery

상황 1 "서비스 긴급 배포 좀 해주세요!" "담당자가 휴가라 불가능해요.' 상황 2 "서버 한 대만 설정이 잘못되어 장애가 발생했어요." 상황 3 "소스 코드가 빌드조차 안 되는 상태로 오래 방치되고 있어요." 상황 4 "서비스 장애가 발생했는데 이전 버전으로 복구할 수 있나요?" "불가능해요. 개발자가 서비스 환경에서 디버깅 중이니 기다려주세요." 상황 5 "성능 테스트 결과가 왜 이렇게 안 맞는 건가요?" "테스트 환경과 실 서비스 환경이 달라서 그렇습니다." 소프트웨어 개발에 참여해본 독자라면 위에서 열거한 상황 중 적어도 한 가지 이상은 겪어봤을 것이며, 어쩌면 이 문제들을 모두 겪은 독자는 더 많을 것이다. 좋은 기획 내용을 개발자가 코드로 생산하고 QA가 테스트하고 운영자가 배포하면 소프트웨어 개발이 끝난다고 쉽게 생각할 수 있지만, 이 과정이 원활하게 동작하려면 많은 노력이 필요하다. 특히, 이러한 작업을 개인에게 의지해 수동으로 진행하는 경우라면 문제 발생을 피할 수 없다. 여러 대의 서버를 수동으로 설정하다 실수를 해서 장애가 발생하고, 수동으로 모든 테스트를 수행하느라 오랜 시간이 걸리고, 여러 개발자가 개발한 코드를 통합하는 과정에서 무수한 오류가 쏟아져 나와 많은 비용 낭비와 시간 지연이 발생한다. 나 또한 이러한 문제로 많은 어려움을 겪었으며, 이를 극복하기 위해 오랜 시간 노력해왔다. 소프트웨어 개발에서 뛰어난 아이디어를 구현해 고객이 사용할 수 있게 되는 데까지 걸리는 시간을 사이클 타임(cycle time)이라 정의한다. 사이클 타임이 짧으면 고객은 최신의 기능을 자주 접할 수 있으며 개발사는 고객의 반응을 살피고 적합한 소프트웨어를 개발할 수 있는 확률이 높아진다. 사이클 타임을 줄이려면 소프트웨어를 고객에게 전달하는 데 필요한 개발, 테스트, 빌드, 배포, 출시 등의 단계를 효과적으로 수행해야 하며, 전체 프로세스가 효율적으로 관리돼야 한다. 이 책은 이에 필요한 기술과 사례를 다루고 있다. 독자는 효과적인 소프트웨어 개발에 필요한 여러 기법과 실천 방법을 배울 수 있으며, 적용 사례를 이용해 각 상황에 적합한 해결책을 도출해낼 수 있다. 그런 의미에서 이 책을 독자에게 소개할 수 있는 기회가 주어진 것에 매우 감사한 마음이다. 이 책을 활용해 효과적인 소프트웨어 개발과 출시를 수행하여 개인의 휴식과 발전을 위한 시간을 할애할 수 있는 분이 많아지길 희망한다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자