프리랜서 소프트웨어 엔지니어이자 데브옵스 코치다. 암스테르담대학교에서 주전공을 졸업했으며, 1990년대 초부터 웹 개발을 선도해 왔다. 고주파 거래, 은행, 클라우드 보안, 항공, 하이테크와 정부 분야에서 일했다. 2014년부터 앤서블 대사로 활동하고 있으며 2020년부터 2021년까지 하시코프(HashiCorp) 대사로 활동했다.
IT 업계에서 일하기에 흥미로운 시기다. 이제는 더 이상 단일 머신에 프로그램을 설치하고 작업을 완료하는 방법으로 고객에게 소프트웨어를 제공하지 않는다. 그 대신 모두 클라우드 엔지니어로 점점 바뀌고 있다.
이제는 분산된 컴퓨팅 리소스에서 동작하며 다양한 네트워크 프로토콜로 통신하는 여러 서비스를 하나로 묶어 소프트웨어 애플리케이션을 배포한다. 일반적인 애플리케이션에는 웹 서버와 애플리케이션 서버, 메모리 기반 캐시 시스템, 작업 큐, 메시지 큐, SQL 데이터베이스, NoSQL 데이터저장소, 로드 밸런서가 포함된다.
IT 전문가는 장애가 발생하면 소프트웨어 시스템에서 문제가 적절히 처리될 수 있도록 중복성을 확보해야 한다. 그리고 로깅과 모니터링, 분석과 같은 보조 서비스를 배포하고 유지보수해야 하며, 가상 머신 인스턴스를 관리하기 위한 IaaS(Infrastructure as a Service) 엔드 포인트(endpoint)와 같은 서드파티(third-party) 서비스도 활용해야 한다.
이러한 서비스는 직접 구성할 수 있다. 즉, 필요한 서버를 구동시키고 각각의 서버에 접속해 필요한 패키지를 설치하고 설정 파일을 편집하는 등의 작업을 직접 할 수 있지만 힘든 일이다. 이러한 작업을 수동으로 하면 많은 시간이 들고 오류가 발생하기 쉬우며 아주 지루하다. 특히 여러 번 반복하면 정말 지루해진다. 더욱이 오픈스택(OpenStack) 클라우드를 구축하는 것처럼 좀 더 복잡한 작업에서 이러한 작업을 직접 하는 것은 미친 짓이다. 더 나은 방법을 찾아야 한다.
이 글을 읽고 있다면 이미 구성 관리를 생각하고 있으며 구성 관리 도구로 앤서블을 고려하고 있을 것이다.
상용 환경에 자신의 코드를 배포하는 개발자나 자동화를 위해 더 나은 방법을 찾고 있는 시스템 관리자라면 당면한 문제에 대한 최선의 해결책으로 앤서블을 찾게 될 것이다.