저는 종종 컨퍼런스에서 연설한 뒤 F5가 경쟁에서 어떤 성과를 낼 수 있을지 질문을 받습니다. 요즘에는 주로 DevOps가 주제로 다루어지거나, 어떤 방식으로든 DevOps와 관련이 있습니다.
현실은 로드 밸런싱과 같은 애플리케이션 관련 서비스가 애플리케이션 네트워크를 구성하는 보다 민첩하고 소프트웨어 중심적이며 자동화된 환경으로 끌려가고 있다는 것입니다. 캐시( memcached 및 redis를 생각해 보세요)와 데이터베이스 및 컨테이너와 같은 컴퓨팅 및 애플리케이션 중심 시스템이 CI/CD(지속적인 통합/지속적인 배포) 방법론을 사용하여 배포되는 것입니다. 이러한 방법은 많은 자동화 및 오케스트레이션에 의존합니다.
F5(더 구체적으로는 BIG-IP)는 로드 밸런싱과 거의 동의어입니다. 우리는 세기가 바뀌기 전부터 이 작업을 해왔으며, 오늘날 다른 로드 밸런서에서 사용하는 핵심 로드 밸런싱 알고리즘과 개념의 대부분은 실제로 여기에서 발명되었습니다. 따라서 우리가 부하 분산 애플리케이션에 대해 몇 가지 알고 있다고 말하는 것은 과소평가입니다. 그리고 우리는 맞춤형 하드웨어나 심지어 클라우드 에 배포된 소프트웨어를 사용하여 이를 실행합니다.
해당 소프트웨어는 API로 활성화됩니다. iControl 이라고 하며, 프로그래밍 편의성을 위해 SOAP 및 REST 플레이버로 제공됩니다. 이 API를 사용하면 누구나(나도) 모든 애플리케이션의 BIG-IP 로드 밸런싱(및 기타) 서비스를 프로비저닝, 구성 및 제어할 수 있습니다.
제가 말했듯이 애플리케이션 관련 서비스는 매일 애플리케이션으로 전환되고 있습니다. 확장성, 즉 부하 분산은 그러한 서비스 중 하나입니다. 이는 오늘날 모든 애플리케이션에 필수적인 구성 요소이며, 현대 애플리케이션을 구성하는 마이크로서비스에 점점 더 필수적인 구성 요소가 되었습니다. Microsoft가 2015년 서비스 확장에 관한 논문에서 지적한 바와 같이:
다양하고 풍부한 머신이 존재하는 상황에서 개발자는 애플리케이션 워크로드 분할과 각 분할 방식을 지원하는 데 필요한 네트워크 연결에 대해 고민해야 합니다. 연결성의 매우 중요한 측면 중 하나는 외부 사용자와 서비스 자체 사이에 존재합니다. 가장 작은 서비스를 제외하고, FE 박스에 들어오는 연결의 부하를 분산시키기 위해 어떤 형태의 부하 분산 메커니즘이 필요합니다. 많은 메가서비스에는 부하 분산이 된 하위 서비스도 있습니다. [강조 추가]
부하 분산은 뒷전으로 미룰 일이 아닙니다. 오늘날에는 사용자를 만족시키고 사업을 운영하는 데 필요한 확장성(및 안정성)을 제공하기 위해 애플리케이션과 서비스를 자연스럽게 보완하는 기능입니다. 이로 인해 부하 분산이 전체 애플리케이션 아키텍처의 일부가 되고 있다는 사실이 점점 더 확실해지고 있습니다. 실제로 그래야 합니다. 애플리케이션 아키텍처에 구성 요소를 추가하면 극복해야 할 문제나 통합 문제가 발생할 수 있기 때문입니다. 앱을 프로덕션에 넣기 전에 해결해야 할 문제이지, 그 후가 아닙니다. 운영 환경에서 문제를 찾아 해결하는 데 걸리는 시간은 개발이나 테스트 환경에서보다 몇 배나 더 길기 때문에 애플리케이션 아키텍처에 부하 분산을 포함하면 운영 환경과 사용자에게 더 원활하고 빠르게 전환할 수 있습니다.
하지만 이는 DevOps 툴 체인에 의해 자동화된 프로세스에 로드 밸런서를 통합할 수 있어야 함을 의미하며, 이는 개발 및 테스트 환경에서 통합과 제공을 점점 더 촉진합니다. 즉, 인프라를 코드로 처리하고 프로비저닝 및 구성을 자동화할 수 있는 API와 템플릿과 같은 포괄적인 프로그래밍 도구 세트를 제공한다는 의미입니다. 이는 F5에서 iControl(REST 또는 SOAP)이 수행하는 작업입니다.
BIG-IP는 배포, 테스트, 릴리스 단계에서 DevOps에 통합할 수 있으며, 원하는 언어( Powershell , Python , Perl 등)나 Chef , Puppet 과 같은 프레임워크, Ansible , SaltStack 과 같은 도구를 통해 네이티브 API를 활용할 수 있습니다. 애플리케이션 서비스 구성을 설명하는 템플릿인 iApps는 코드처럼 처리할 수 있습니다. Github에 저장하고, 그대로 검색하여 배포하거나 스크립트로 사용자 정의할 수 있습니다.
기본적으로 부하 분산과 같은 BIG-IP 애플리케이션 서비스와 여러 애플리케이션 성능 및 보안 서비스는 CI/CD 프로세스에서 더 일찍 통합되어야 하며, 이를 통해 이러한 중요 서비스가 예상대로 애플리케이션과 원활하게 작동할 수 있어야 합니다.
결국 우리는 애플리케이션을 더 빠르고, 더 자주, 더 적은 중단으로 이동해야 한다는 압력이 비즈니스와 IT 리더를 애플리케이션 경제로 몰고 가면서 점점 더 전통적인 "네트워크" 장치가 DevOps 세계에 적합해지는 것을 보게 될 것입니다.
BIG-IP와 함께 사용할 수 있는 DevOps 도구에 대해 더 자세히 알아보려면 DevCentral의 이 게시물을 확인하세요.F5 금요일: DevOps 도구 및 F5 "