클라우드는 비즈니스 환경을 완전히 바꾸어놓았다. 기존의 프로세스가 자동화되고, 별도로 운영되던 조직의 워크플로우가 통합되었다. 신상품의 개발, 빌드부터 배포, 운영까지 속도가 빨라지면서, 결과적으로 클라우드는 IT 운영과 비즈니스에 놀라운 효율성과 생산성을 제공해줄 수 있게 되었다.
시스템 엔지니어는 단연, 이 변화의 중심에 있다. 국내 대표적인 IT 인프라 제공자인 가비아는 시스템 엔지니어 신입 지원자들에게 “인프라가 클라우드화, 자동화되어 가는 과정에서 엔지니어의 가장 큰 가치는 어디에 있는지” 묻는다.
기존에는 개발자들이 요청하는 서버를 제공해주는 것이 엔지니어의 주요한 역할이었기 때문에 클라우드 환경에서 서버 생성과 삭제, 개발 환경 구축을 모두 개발자가 스스로 할 수 있게 된 지금, 엔지니어의 가치는 재정립을 필요로 하고 있다.
엔지니어 업무에 상당 부분을 차지하는 것은 서버 세팅, 서버 환경 구축, 서버 하드웨어 장애 처리 등 필드엔지니어적인 요소들이다. 그러나 클라우드 환경에서는 개발자가 마우스 클릭만으로 원하는 OS와 버전으로 서버를 세팅할 수 있으며, 클라우드 업체에서 제공하는 솔루션이나 Docker Container를 이용하면 서버 환경과 서비스 환경도 쉽게 구축할 수 있다. 하드웨어 장애 또한 클라우드 서비스 제공 업체 측에서 담당한다. 엔지니어 업무의 상당 부분이 클라우드와 함께 사라진 셈이다. 이런 측면에서 클라우드는 엔지니어의 위기처럼 보인다.
그러나 LinkedIn의 2018년 보고서에 따르면 엔지니어링 분야에서 가장 많은 채용이 일어난 것은 프론트엔드와 클라우드 아키텍트 분야로 나타나, 클라우드 환경에서 오히려 높아진 엔지니어의 수요를 증명했다.
엔지니어에 대한 높은 수요는 클라우드 환경에서 데브옵스(DevOps) 조직의 가치가 높아진 것과도 관계가 있다. 기업은 빠르게 변화하는 IT 환경에 대응하고, 운영의 효율성의 높이기 위해 개발(Development)과 운영(Operation)을 결합한 데브옵스 조직으로 변화를 가속하고 있다. 데브옵스에서 엔지니어들은 개발자와 연계하여 신속한 서비스 출시를 돕는다.
데브옵스는 엔지니어들에게 기회인 동시에 상당한 도전이다. 새로운 업무에 참여하며, 기존과는 다른 지식과 스킬을 필요로 하기 때문이다. 가비아의 데브옵스 조직인 시스템개발실에서 엔지니어로 근무하고 있는 이지운 팀원은 현재 시스템 자동화 및 개발 작업에 엔지니어가 직접 참여하고 있으며, 그만큼 엔지니어에게 필요한 기술과 커뮤니케이션 능력의 기대치도 더욱 높아지고 있다고 말했다.
데브옵스에서 엔지니어는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 CI/CD 활동에 참여하며, 클라우드 서비스 업체가 제공하는 기능의 활용이나, Docker, Ansible, Git, Mysql Group Replication 과 같은 트렌드 오픈소스 애플리케이션의 구축/관리, 트러블슈팅 등을 주요하게 담당한다. 기존 역할이었던 안정적인 시스템 운영에 더해, 프로세스 개선과 속도 향상이라는 또 다른 역할이 주어진 것이다.
가비아 시스템개발실 엔지니어들의 경우, 운영 업무 외에 프로세스 개선과 새로운 기능을 개발하는 일에 최대한 참여한다. 이지운 팀원은 서버의 백업과 같은 반복 일정을 실행하는 크론(Cron) 스케줄러 통합 프로젝트를 맡아, 서버 별로 제각각 운영되던 크론 스케줄을 모두 통합했다. 동일한 소스가 git을 통해 호스팅 전체 서버에 배포되었으며, 서버 운영 효율을 개선하는 성과를 냈다.
가비아 시스템개발실에서는 이 밖에도 네임서버가 동작하는 오픈소스(Bind)를 최신 버전으로 업그레이드하고, 동작 프로세스를 재설계하여 네임서버에서 허용 가능한 질의량을 기존보다 5배 이상 증가시켰다. 또한 웹호스팅 서버를 통합 운영하고, 자동 세팅 스크립트를 모두 개편하여 원가절감과 함께 고객들에게 안정된 서비스 및 다양한 개발 환경을 제공하는 성과를 보였다. 이러한 작업을 위해 엔지니어들은 개발자와 긴밀히 커뮤니케이션하며, 지속적으로 IT 트렌드를 읽고 오픈소스 애플리케이션의 관리 능력과 스크립트 개발 능력을 향상시키고 있다.
시스템개발실 서광열 실장은 “프로세스 개선에 관한 모든 작업들은 엔지니어가 함께 참여하는 데브옵스가 아니면 진행이 어려운 것들이다”라며, “시스템을 잘 이해하고 있는 엔지니어가 시스템에 필요한 개발까지 수행하면서 영역을 확장하고 있다”고 말했다.
엔지니어의 가장 큰 가치는 안정적인 시스템 운영에 있고, 앞으로도 그럴 것이다. 지금 엔지니어들은 시스템의 전문가로서 개발에 참여하며, 시스템의 더 많은 부분을 고려하여 개발 작업을 진행함으로써 운영 효율화와 서비스 품질 향상에 기여한다.
이전에는 안정성을 추구하는 엔지니어의 반대편에 새로움을 추구하는 개발 조직이 존재했다면, 이제 그 둘은 “새로운 시도를 빠르고 안전하게”라는 공통의 목표를 갖게 됐다. 그 목표를 이행하는 과정에서 엔지니어의 가치는 또 새롭게 빛을 내고 있다.