개발자 롤만 고집하는것 아니지만
연중행사로 윈도우 나 리눅스 서버 설정때문에
꽤 고생하는 경우가 많은데
일단 하긴 하지만 이게 개발자 롤은 엄밀히 말해서 아니지 않을까요? 솔직히 인프라 설정에
관해서 잘모르겠어요 근데 해야 되는 경우가 많아서 구글링으로 해결하는데 할때마다 불만이긴 하네요 아니 이제는 cloud 설정까지
아직 active directory 가 뭔지 잘모르겠네요
회사마다 케바케겠지만 보통 데브옵스라고 부르는 파트 아닌가요? 진짜 큰 IT 기업이면 따로 있다고는 들었는데 해당 업무를 전문적으로 맡고 계시는 분을 아직 뵙지는 못했네요… 근데 뭐 제 생각에도 정말 큰 IT 서비스면 모를까 소규모 서비스에서 해당 직군을 따로 뽑기는 힘들긴한거 같아요
역시나 큰 회사의 경우 전문적으로 인프라를 구축하는 팀이 따로 있지만 제가 다니고 있는 회사는 무리네요.
그래서 저희는 개발팀 팀에서 직접 합니다;
개발용서버는 윈도우서버구매해서 IIS 로 돌리고 있구요.
클라우드를 애저로 선택하는경우 “처음배우는애저” (광고아님) 의 도움을 많이 받았는데, 정작 실전에선 좀더 정교한 지식이 필요했고 하나하나 깨우쳐 나가는중입니다.
하지만 아주 큰 프로젝트의 경우 클라우드 서버구축을 외부에 맞기기도 합니다 (메X존클라우드 가X아 클라우드 등등) 이점은 24시간 대응해준다는 점이고 더욱이 극장점은 컨설팅하며 질의를 오가며 많이 배울 수 있다는 점 입니다. 단점은 역시 비용입니다.
저는 제가 직접 합니다… AWS도 하고… 자체 서버도 하고… VPS도 하고…
데브옵스라고 할 정도로 오케스트레이션을 한다고는 생각은 안하는데 그 정도로 할 회사가 아니고 일단 사내에 관리 인력이 없다면 백엔드 쪽에서 주로 하거나 “책임을 져야 되는 사람:CTO?즈음?” 이 주로 하는 것 같습니다.
아무래도 전반적인 서비스 설계를 하다보니 자연스럽게 … 그마나 저는 리눅스 쪽은 GPT 형님께 많이 신세 지고 있습니다.
개발자로서 "소프트웨어를 납기일 내에 완성하여 출시하는 것"에만 국한해서 이야기한다면, 퍼블리싱하는 인프라를 책임지는 것은 다른 일로 규정할 수 있을 것 같습니다. 과거에는 이런 부분을 전산실 직원들이 담당하면서, 서버 사양을 예측하고, 발주를 넣고, 전산실에 서버를 온보딩시키고, 초기 설정을 잡아주는 것부터, 보안 정책을 어떻게 관리할지까지도 full cover로 모두 보는 경향이 있었는데요,
규모가 작은 회사들이 클라우드를 본격적으로 도입하기 시작하면서부터, 이런 일을 하는 전문 인력이 클라우드를 관리하게 하는 것도 물론 가능하지만, 대개는 그럴만한 여건이 되지 못하므로 이런 일을 개발자들도 같이 해낼 수 있도록 업무를 분장하다보니 데브옵스라는 카테고리가 생기고, 인프라 자동화라는 주제가 자연스레 나오게 되었다고 보시면 될 것 같습니다.
이쪽 방면에서 대중적인 툴은 Hashicorp의 Terraform이 있겠고요, C# 이나 본인이 선호하는 언어로 인프라 형상 관리 코드를 작성할 수 있도록 돕는 Pulumi 같은 얼너티브도 있고, Azure의 경우 JSON으로 스펙을 정의하는 ARM (Azure Resource Management) JSON을 쓰거나, 이걸 좀 더 메타적인 관점으로 관리할 수 있도록 돕는 Bicep (ARM이라는 이름에서 착안한 언어유희)이라는 도메인 언어도 제공하기도 합니다.
기존처럼 전문 인력이 이 부분을 관리한다고 하면, 화두가 되는 것은 기존의 Windows Server 라이선스를 어떻게 클라우드로 Lift-and-Shift로 마이그레이션시킬 것인지, 혹은 어떻게 사이좋게 운영하면서 둘을 Site-to-Site VPN으로 이을지 등의 주제를 고민하게 되는 점이고요. ㅎㅎ