대부분의 기업은 온프레미스에서 클라우드로, 물리적에서 가상으로 IT 운영을 전환하는 과정에 있습니다. 그리고 COVID-19의 시작으로 거의 모든 회사가 현대화 여정을 가속화하고 있습니다.
이는 통신 및 케이블 업계에서 고객 참여 서비스를 제공하는 35년 역사의 기업 CSG의 경우입니다. 이 회사는 북미 최대의 케이블 공급업체에 고객 관계, 청구 및 운영을 보다 효율적으로 관리할 수 있는 디지털 솔루션을 제공합니다.
몇 년 전만 해도 CSG는 노후화된 프로세스로 인한 한계에 부딪혔고, 새로운 애플리케이션 소유자의 참여가 부족했습니다. CSG가 고객의 현대화를 도왔던 것처럼, 자체 운영도 발전시킬 때가 되었습니다.
CSG의 소프트웨어 엔지니어링 부사장인 에리카 모리슨은 이전에는 소프트웨어 부문에서만 일했지만, CSG의 운영 엔지니어링 팀이 DevOps 조직과 문화를 확립하도록 돕는 업무를 맡았습니다.
그녀는 "개발자가 갑자기 운영 세계에 투입되어 직면한 과제를 정면에서 보는 것은 시스템에 대한 충격입니다."라고 말했습니다. "그것은 확실히 우리 운영팀 모두가 하는 일에 대해 더 감사하게 만들었습니다."
전통적으로 운영 전문 팀이었던 CSG에 개발 모범 사례를 도입함으로써 CSG는 다양한 과제를 해결할 수 있는 위치에 섰습니다. 이전에는 사용하지 않았던 F5의 기능을 활용하고, 새로운 도구를 추가하고, 필요한 유연성을 제공하는 엔터프라이즈 라이선스 계약을 채택했습니다.
당시 팀의 스크럼 마스터는 에린 개리건이었습니다. 현재 감독자인 그녀는 CSG가 2016년에 5년 또는 심지어 10년 계획으로 구상했던 것을 이루기 위해 추진했던 여러 가지 이니셔티브에 대해 이야기합니다.
"기술적인 관점에서 볼 때, 우리는 변화에 대한 수동 프로세스가 너무 많았고, 누가 무엇을 하는지에 대한 가시성이 충분하지 않았습니다."라고 그녀는 말합니다. "여러 팀이 우리 기기에 접근할 수 있었고, 우리는 그에 필요한 강력한 제어가 없었습니다."
문제는 이것뿐만이 아니었습니다. 인프라 전반에 불안정성이 있었고, 전반적인 상태 모니터링 및 알림이 부족했기 때문에 팀은 클라이언트로부터 문제에 대해 듣기 전까지 장치 상태가 나빠도 알지 못하는 경우가 많았습니다. 하드웨어를 현대화하는 것도 중요한 관심사였습니다.
팀의 첫 번째이자 가장 큰 프로젝트는 F5 iApps를 사용하여 모든 것을 소스 코드로 만드는 것이었습니다. CSG의 프로세스가 수동이었기 때문에, 그들은 장치 구성을 매일 밤 내보내는 방식으로 시작했는데, 이를 통해 팀은 구성에 대한 가시성을 얻을 수 있었습니다. 결국 그들은 소스 코드가 이제 장치에 있는 것을 구동하는 새로운 패러다임으로 발전했습니다.
Garrigan은 "1년 안에 우리는 수동 변경과 인프라 코드 개념을 통해 100개가 넘는 iApp을 만들었습니다."라고 말합니다. "모든 수동 설정을 iApps로 체계화하기 위한 엄청난 양의 노력이 있었지만, 우리는 몇 가지 도구를 만들고 시간이 지나면서 이를 해결했습니다."
이제 인프라가 코드로 정의되었으므로 팀은 앱의 기능을 분리할 수 있습니다. 운영 엔지니어링은 하루에 여러 개의 변경 요청을 받는 동적 서버 환경에서 수십 개의 애플리케이션 팀을 지원합니다. 셀프 서비스 프로세스를 구현함으로써 CSG 애플리케이션 팀의 내부 소비자는 샌드박스 BIG-IP 장치를 사용하여 변경 사항을 구성하고 확인하고 검증 및 코드 검토를 위해 파이프라인으로 푸시할 수 있었습니다. 그들은 또한 사용자가 직접 변경 사항을 프로덕션에 적용할 수 있는 또 다른 도구도 만들었습니다.
CSG의 소프트웨어 개발 책임자인 Phil Todd는 "그 시점에서 우리는 실제로 로드 밸런싱과 애플리케이션 제공 서비스를 제공하고 있었습니다."라고 말했습니다. "우리는 대부분의 자동화 셀프 서비스 기능과 보고 기능을 구동하기 위해 Jenkins를 사용합니다. 그리고 우리는 그 기능을 구현하기 위해 우리만의 C# 코드를 몇 개 썼습니다."
이러한 변화에 대한 가시성을 확보하는 것은 CSG의 방대하고 다양한 애플리케이션 세트 전반에 걸쳐 또 다른 중요한 요구 사항이었습니다. 이전에는 수동으로 작업하던 애플리케이션 팀은 중복되는 변경 사항으로 인해 서로 경쟁해야 했습니다. 나쁜 코드를 찾는 것은 필요 이상으로 복잡한 문제였습니다.
Garrigan은 "주변 환경에 뭔가 이상한 것이 있을 것"이라고 말합니다. "왜 그게 이상한지 우리는 알 수 없어요. 누군가가 뭔가를 했을 거라는 것만 알 수 있을 뿐이죠."
수동 프로세스가 있어서 문제가 확인되면 팀에서 문제를 완전히 이해하기 위해 변경을 한 사람을 찾아가야 하는 경우가 많았습니다.
이 문제를 해결하기 위해 팀은 F5 BIG-IQ를 구현하고 변경 프로세스 자체를 중심으로 변경을 시행하여 시스템 상태와 변경의 전반적인 영향에 대한 자동화된 보고서를 도입했습니다. 또한 그들은 변경 사항의 검증을 지원하기 위해 천 개가 넘는 엔드포인트를 모니터링하는 Grafana 대시보드도 만들었습니다. 이제 구성이 코드로 이루어지고 배포를 중심으로 자동화가 구축됨에 따라 CSG는 변경 사항을 모두 실제로 확인할 수 있게 되었습니다.
Todd에 따르면, 이로 인해 오늘날 CSG 환경과 과거의 수동 프로세스 간에 가장 큰 차이점 중 하나가 생겼다고 합니다. 변경으로 인해 무언가가 망가지면 수리하는 데 걸리는 평균 시간이 몇 분이면 되지만, 이전에는 팀에서 문제를 조사하고 해결하는 데 몇 시간이 걸렸습니다.
그는 "Kibana에 로그인하면 모든 변경 사항이 기록됩니다. 어떤 버전이 배포되었고 이전 버전은 무엇이었는지도 기록됩니다."라고 말합니다. "그래서 왜 작동하지 않는지 앉아서 의문을 품지 않고, 우리는 Jenkins에서 버튼을 눌러 간단히 이전 버전의 코드를 배포합니다."
다음 진화는 인프라의 확장성, 유연성, 안정성을 해결하는 것이었습니다. 그들은 F5 VIPRIONS를 포함하여 수십 개의 실제 하드웨어 장치를 실행하고 있었지만 대부분의 애플리케이션은 두 개만 통해 흐르고 있었습니다. 하나는 인터넷의 외부 트래픽용이고 다른 하나는 내부 트래픽용이었습니다.
이로 인해 그룹 규모가 커졌고, 조직에 실패가 발생할 경우 조직에 더 큰 위험이 초래되었습니다. "그 장치 중 하나라도 고장나면 본질적으로 모든 제품과 모든 고객에게 영향을 미칩니다."라고 Todd는 말합니다.
동시에 CSG의 애플리케이션은 회사의 프라이빗 클라우드와 퍼블릭 클라우드로 모두 이전되기 시작했지만 시스템은 해당 환경으로 확장하는 데 있어 제한적인 기능을 가지고 있었으며 AWS로의 마이그레이션을 허용하지 않았습니다.
가상화는 이러한 문제를 해결하는 데에도 도움이 되었습니다. iApps에서 인프라를 코드로 구현하면 전반적인 장애 그룹 크기를 줄이고, 더욱 애플리케이션에 맞는 부하 분산을 구축할 수 있는 유연성이 제공됩니다. 또한 필요할 경우 궁극적으로 퍼블릭 클라우드로 발전할 수 있는 여지도 생겼습니다.
Morrison은 "최근에 정전이 발생해서 제품 하나에 영향을 미쳤어요."라고 말했습니다. “1년 전만 해도 모든 제품에 영향을 미쳤을 겁니다. 더 많은 인스턴스가 더 작은 그룹으로 나뉘면 필요한 경우 장애 조치를 취할 수 있는 능력도 갖추게 되며 폭발 반경도 매우 작아집니다. 따라서 안정성에 대한 투자는 이미 내부 및 외부 고객에게 좋은 소식을 가져다주었습니다."
CSG는 F5 BIG-IP Virtual Editions에서 새로운 F5 엔터프라이즈 라이선스 계약(ELA)으로 전환함으로써 운영상의 유연성을 더욱 확보하고 비용 절감 효과를 얻었습니다. 이전에 이 그룹은 회사의 오마하 본사에 있는 한 데이터 센터에서 주로 활동했습니다. 그들의 재해 복구 솔루션은 사건으로 인해 필요한 경우 타사 데이터 센터에서 서비스를 간단히 운영하는 것으로 구성되었습니다.
몇 년 전 팀이 두 번째 데이터 센터를 구축했을 때, 그들은 그 데이터 센터 전반에서 고가용성을 모색할 입장에 있었지만, 이전 라이선스 계약과 물리적 하드웨어로 인해 옵션이 제한되었습니다. 고정 하드웨어를 사용하는 회사는 확장성, 가용성 및 퍼블릭 클라우드로의 확장 능력 측면에서 문제에 직면했습니다.
Todd는 "F5 엔터프라이즈 라이선스 계약과 가상 솔루션으로 전환하면서 원하는 것을 원하는 시기에 구축하고 두 번째 데이터 센터를 추가할 수 있는 자유를 얻었습니다."라고 말했습니다. "그리고 그것은 우리에게 탐색할 수 있는 자유를 주었고 내부 고객의 요구에 매우 민감하게 대응할 수 있게 해주었습니다."
오늘날 팀은 더 많은 유연성을 갖추고 다양한 서비스에 대해 진화하고 높은 가용성을 달성할 수 있게 되었습니다.
CSG의 운영 엔지니어링 팀은 환경을 현대화함으로써 이제 미래를 계획할 수 있는 여유를 갖게 되었습니다. 이 팀은 보안을 위해 F5 기능을 더욱 활용하고, BIG-IP와 Amazon Web Services(AWS)를 사용하기 위한 참조 아키텍처를 구성하고, NGINX로 새로운 기능을 도입하고자 합니다. 그리고 ELA를 통해 이 회사는 기존 예산을 새로운 아키텍처와 기능 세트로 전환할 수 있었습니다.
Morrison은 또한 CSG의 제품 소유자와 협력하여 지금까지 달성한 바를 바탕으로 시스템 모니터링 및 경고 개선, 새로운 모니터 추가, 애플리케이션 제공을 위한 우수성 센터 모델 개발을 위한 새로운 로드맵을 개발하고 있습니다.
그녀는 큰 그림의 관점에서 보면, 그곳은 있기 좋은 곳이라고 말했습니다. 이 시점에서 팀은 원래 5개년 비전에 세웠던 프로젝트를 거의 모두 실현했습니다. 파트너십, 셀프 서비스 기능 및 구성을 구축한 후 남은 것은 앱 팀 자체에 앱 소유권을 더 많이 넘기는 것뿐입니다.
"우리는 처음으로, 그 다음에 무엇을 해야 할지 고민하고 있어요." 그녀가 말했다. "우리는 너무 많은 진전을 이루었기 때문에 더 이상 스스로를 파헤치지 않아도 됩니다. 이제는 주도적으로 나서서 우리가 구축한 견고한 기반을 구축해야 합니다."