오늘은 개발자와 운영자의 상충되는 부분과 DevOps가 왜 필요한지 심도있게 학습하였다.
수직확장과 수직확장의 차이를 프렌차이즈 및 상가임대로 비유 해보았고, 그 차이는 명확했다.
개인서버, IaaS, SaaS, PaaS의 종류들을 알고나니 전에 들어 보았던 PaaS로 인하여 DevOps가 필요없어지게 된다는 것은 너무나 명료하게 반박 할 수 있게 되었다.
수평확장이 수직확장 보다 많은 부분에서 장점이 있지만 높은 가용성을 위해 중복성을 필요로 한다는 것을 알았다.
CI/CD 파이프라인에 기술적 요소가 필요하지 않는 것은 찾기 힘들어 보인다.
Code > Build > Test 과정에서도 자동화가 필요하고, Release > Deploy > Operate 에서도 자동화가 필요하다.
그 이유는 수십대의 동일한 서버에 위 같은 작업을 사람이 수동으로 한다면 작은 에러에도 어마어마한 시간이 소요 될 뿐더러 동일한 환경을 구성하고 유지하기가 힘들것이다.
단순하면서도 강력하다. 그 이유는 YAML을 이용하기 때문에 사람이 읽고 쉽게 이해할 수 있으며, 인프라 자원을 프로비저닝하고 구성을 관리하는 것을 넘어 보안, 애플리케이션, 컨테이너, 클라우드까지 IT 전반에 걸쳐 배치와 관리를 자동화 할 수 있다.
또, 협업이 가능하다.
코드로써 인프라를 관리하기 때문에, 생산성, 재사용성이 높아지며 유지보수에 용이하다.
Git과 같은 VCS(Version Control System)를 함께 쓰면 작업 이력이 남기 때문에 문제 원인 파악이 보다 쉽다.
업계 표준이기 때문에 예제가 풍부하여 배우기 쉽다.
극히 일부일지도 모를 방대한 이론들을 학습하며 성장해 나아갈 때
가장 중요한 것은 체력이라는 생각이 드는 하루였다.
고작 이틀 밖에 되지 않았지만 벌써 이틀이 된 기분이었다.
많은 동기들과 공부를 같이 하면서 친해지는 계기가 있어야 할 것 같다는 생각도 들었다.
그러면 더 생산적인 학습을 할 수 있지 않을까? 라는 생각이 들기 때문이다.
점점 발전해 나가길 바라며 오늘을 기억하자.