올바른 클라우드 구현

서론

Amazon Web Services(AWS)에서 클라우드 네이티브 애플리케이션을 개발하든, 기존 애플리케이션을 현대화하여 AWS로 마이그레이션하든, 애플리케이션 수명주기 전반에서 다양한 의사결정을 내리게 됩니다. 어떤 언어를 사용할지, 또는 어떤 애플리케이션 프로그래밍 인터페이스(API)가 필요할지 등 의견이나 경험을 바탕으로 결정을 내리는 경우도 생길 것입니다. 

하지만, AWS 인스턴스의 크기, 데이터 스토리지 유형 등 많은 결정은 데이터 중심의 모범 사례를 기반으로 내려져야 합니다. 데이터에 기반한 모범적 접근방식을 취하면 AWS에서 애플리케이션 및 애플리케이션 환경을 효과적으로 구축할 수 있습니다. 

AWS Well-Architected Framework(WAF)의 핵심은 "고객과 파트너가 아키텍처를 평가하고 시간이 지나면서 확장할 수 있 는 설계를 구현할 수 있는 일관된 접근방식"을 제공하는 것입니다. 

WAF는 수천 명의 고객이 다년간에 걸쳐 안전하고 복원력이 있으 며 효율적인 고성능 아키텍처를 구축한 경험을 바탕으로 개발되 었습니다. 운영의 탁월성, 보안, 안정성, 성능 효율성, 비용 최적화 의 다섯 가지 핵심 요소를 주축으로 하는 WAF는 시간이 지나면 서 확장되는 아키텍처를 평가 및 구현하는 데 필요한 상세한 지침, 모범 사례 및 기본적인 질문들을 제공합니다. 

뉴렐릭으로 측정하는 경우, WAF의 주축이 되는 5가지 요소들은 디지털 엔터프라이즈 운영을 위한 실행 가능한 관찰 플랫폼의 일부가 됩니다. 뉴렐릭 One은 최종 사용자 환경에서 디바이스, 애플리케이션 및 인프라스트럭처까지, 완전한 가시성, 문맥 그리고 실행 가능한 통찰을 제공합니다. 이는 5가지 주축의 혜택을 완전하게 누리는 데 아주 중요하며, 고객을 최우선으로 삼는 기업의 성공에 핵심 요인입니다. 

뉴렐릭은 다음을 가능하게 해줍니다. 

  • WAF와 애플리케이션 및 환경과의 정렬 수준 파악 

  • WAF와의 정렬을 향상시킬 수 있는 기회 발견

  • 현 AWS환경에서 위험의 위치와 이를 완화하는 방법 파악 

이 화이트페이퍼는 AWS WAF 모범 사례를 지원하는 데 뉴렐릭을 사용하는 방법을 공유합니다. 애플리케이션, 인프라 및 AWS 서비스에서 수집된 지표, 이벤트, 로그 및 추적(M.E.L.T.) 텔레메트리 데이터를 사용하여 뉴렐릭으로 주요 부분을 계측하는 방법과 주축이 되는 각 요소를 예시를 통해 살펴보겠습니다. 

운영의 탁월성

“운영의 탁월성은 시스템을 실행 및 모니터링하여 비즈니스 가치를 제공하고, 프로세스와 절차를 지속적으로 개선하는 데 중점을 둡니다. 주요 주제로는 변경사항 관리 및 자동화, 이벤트에 대한 대응, 일상적인 작업을 성공적으로 관리하기 위한 기준 정의 등이 있습니다." 

AWS Well-Architected Framework

이 주축은 준비, 운영 및 진화라는 세 가지 모범 사례 영역으로 구성되어 있습니다. 이러한 영역들은 팀이 비즈니스와 고객의 니즈를 이해하고, 비즈니스 성과를 측정하는데 도움을 줍니다. AWS의 모범 사례를 뉴렐릭 플랫폼이 제공하는 관찰성과 함께 사용하면 다음을 통해 운영의 탁월성을 향상시킬 수 있습니다. 

  • 모든 팀이 비즈니스 가치와 결과를 볼 수 있는 단일지점
  • 변경이 미치는 영향에 대한 측정 및 의사소통
  • 문제 해결의 자동화
  • 인시던트 검토에 유용한 이력 데이터 

모범 사례: KPI 대시보드 만들기

비즈니스 가치를 제공하는 모니터링 시스템에서 중요한 점은, 애플리케이션의 다양한 측면과 관련된 핵심 성과지표(KPI)를 한 곳에 서 볼 수 있어야 하는 것입니다. KPI에는 활성 사용자 수, 사용자의 거주 국가, 현재 주문 수, 평균 주문액, 손실 위험이 있는 사용자 및 수익 등의 지표가 포함될 수 있습니다. 그림 1의 KPI 대시보드 예시는 이러한 KPI가 포함된 차트를 보여줍니다. 

KPI dashboard

변경 사항을 관리하고 자동화하려면, 배포 마커를 추가함으로써 개발 프로세스에 측정 과정을 통합해야 합니다. WAF의 설계 원칙은 쉽게 되돌릴 수 있도록 소규모로 자주 변경할 것을 권장합니 다. 적절한 계측을 통해 팀은 이러한 변경 사항이 시스템에 미치는 영향을 완전하게 파악할 수 있습니다. 각 변경 전, 도중, 이후에 가시적이고 측정 가능한 지표를 수집하면, 팀은 격리된 변화를 최적화하고 변화가 시스템에서 실행되는 다른 작업에 미치는 영향을 감소시킬 수 있습니다. (그림 2 참조) 

new relic dashboard

코드와 인프라 변경이 최종 사용자 환경에 미치는 영향과 배포를 추적하는 것도 중요합니다. 배포 추적은 애플리케이션에서 즉각적, 장기적 또는 점진적인 성능 저하의 근본 원인을 파악하는 데 유용한 방법입니다. 이는 뉴렐릭이 WAF로 애플리케이션 및 고객 경험 정보를 통합 및 확장하는 한 가지 방법입니다.

모범 사례: 해결 자동화

Amazon CloudWatch 알람을 사용하거나 뉴렐릭 플랫폼에서 이벤트의 위치를 찾으려고 하는 경우, 문제 해결을 자동화하는 것이 중요합니다. 단순하거나 반복 가능한 인시던트 대응 작업을 자동화하면, 효율성이 향상되고 인시던트의 영향이 최소화됩니다. 적절한 자동화 기능을 사용하면, 공지가 발행된 후가 아니라 알람 임계값에 도달하자마자 오류가 발생한 애플리케이션의 구성요소 를 비활성화하거나 격리할 수 있습니다. 

예를 들어, 디지털 미디어 기업의 애플리케이션 관리팀이 댓글 서비스에 오류가 발생해 웹사이트에서 댓글달기 기능을 제거하기를 원합니다. 이 경우 다음과 같은 작업을 수행할 수 있습니다. 

  1. 게시글에 댓글을 다는것과 관련해 UI요소의 비활성화와 기능 플래그의 비활성화간에 전환을 해주는 엔드포인트를 프론트엔드 웹 애플리케이션에 추가합니다. 
  2. 알람 정책을 생성하고, 댓글 서비스에서 지속적으로 발생하는 오류에 대한 임계값을 설정합니다. 
  3. 일반적인 팀 공지 채널과 이 엔드포인트에 게시 POST 요청을 보낼 웹후크 공지 채널을 할당합니다. 

이 시나리오에서는 댓글 시스템의 오류가 웹후크를 유발하고, 웹사이트에서 댓글 UI를 제거합니다. 사용자에게는 댓글 서비스로 인해 생성된 오류가 보이지 않고, 사이트의 핵심 기능은 계속 사용이 가능합니다. 애플리케이션은 성능이 저하된 상태이지만 안정적으로 실행되기 때문에 팀은 사용자의 사이트 액세스를 차단해야 하 는 부담없이 복구에만 집중할 수 있습니다.

모범 사례: 폐쇄형 루프 피드백

또 다른 모범 사례는 이벤트가 끝난 후 루프를 닫는 것입니다. WAF의 설계 원칙은 모든 운영적 실패에서 교훈을 얻는 것입니다. 인시던트가 해결된 후, 주요 이해관계자 및 참여자는 인시던트를 정확하고 철저하게 문서화하여 다시 검토해봐야 합니다. 

최소한 다음 사항을 문서화해야 합니다. 

  • 근본 원인분석
  • 성공여부에 관계없이 문제해결 단계와 결과의 시간기록 및 요약
  • 가능한 경우 사용자 경험과 경제적인 손실의 측면에서 비즈니스에 미치는 영향 측정
  • 문제 해결에 소요된 엔지니어링 및 운영시간 측정
  • 재발방지를 위한 시스템 또는 기능개선에 대한 권장사항
  • 절차 및 커뮤니케이션 개선을 위한 권장사항

사후 보고서를 공유 드라이브 폴더나 wiki 처럼 쉽게 볼 수 있고, 검색 가능한 저장소에 저장합니다. (그림 3의 예시 참조) 이러한 과정에서는 처벌이나 비난보다는, 건설적인 학습과 개선에 초점을 맞추는 것이 중요합니다.

Example post-mortem report

보안

보안은 정보와 시스템 보호에 중점을 둡니다. 주요 주제로는 데이터의 기밀 성 및 무결성, 누가 무엇을 할 수 있는 지를 파악 및 관리하는 권한 관리, 시스템 보호, 보안 이벤트 감지를 위한 제어 설정 등이 있습니다.” 

AWS Well-Architected Framework

이 주축에는 ID 및 액세스 관리, 탐지 제어, 인프라 보호, 데이터 보호, 인시던트 대응이라는 다섯 가지 모범 사례 영역이 존재합니 다. 모범 사례는 조직이 AWS 보안 기능 및 서비스(AWS Mar- ketplace를 통해 제공되는 타사 보안 솔루션 포함)를 사용해 데이터 및 시스템을 보호하는 방법에 주로 초점을 맞추고 있지만, 뉴렐릭은 다음과 같은 세 가지 중요한 보안원칙을 해결하는데 도움 을 줄 수 있습니다.

  1. 보안 이벤트에 신속하게 대응
  2. 보안 알람모니터링 및 추적
  3. 보안 노출 감소.

모범 사례: 보안 이벤트 감지

뉴렐릭은 보안 이벤트 감지에 두 가지 주요 전략을 권장합니다. 

먼저 애플리케이션에 보안 알람을 구축하고, 그 알람을 로그 또는 사용자 지정 이벤트 형태로 뉴렐릭에 전송합니다. 뉴렐릭 Logs는 신속하고 확장 가능한 로그 관리 플랫폼으로, 로그 데이터를 다른 텔레메트리 데이터와 연결해주어 애플리케이션과 관련된 보안 알람을 문맥으로 확인할 수 있게 해줍니다. (그림 4 참조) 

뉴렐릭은 보안 문맥이 있는 애플리케이션 이벤트나 전달된 로그 항목에 대해 알람을 전송할 수 있습니다.

Log data displayed in New Relic One

두 번째, 뉴렐릭 소프트웨어를 AWS와 기업이 사용하는 타사의 보안 서비스에 통합합니다. AWS CloudTrail과 통합하게 되면, AWS 계정의 활동을 캡처해 AWS ID 및 액세스 관리(IAM)와 관련된 이벤트 등 다른 보안정보와 함께 문맥으로 표시해 줍니다.(그림5참조)

IAM events in New Relic dashboard

모범 사례: 보안 알람 모니터링

또 다른 측면은 잠재적인 보안 위험을 모니터링하고 보고하는 것 입니다. 포함되어야 하는 중요한 보안 지표는 운영 체제와 그 버전, 사용된 Amazon Machine Images(AMIS)입니다. 보안 설계자는 기저 시스템이 낙후되었는지 여부와 애플리케이션에 영향을 주는 보안 알람이 있었는지를 알아야 합니다.

이러한 정보를 바탕으로, 보안 팀으로부터 보안 문제가 있는 호스트에 대한 지침을 받을 수 있습니다. 업데이트 해야하는 호스트를 쉽게 찾으려면, 뉴렐릭에 포함된 필터 기능을 사용하면 됩니다. (그림 6 참조) 호스트가 AWS 클라우드에 있는 경우, 인스턴스 유형, 지역 또는 애플리케이션과 상태, 같은 사용자 지정 태그 등 뉴렐릭과의 통합으로 제공되는 추가적인 태그별로 필터링할 수 있습니다. 

New Relic Infrastructure

모범 사례: 보안 노출 감소

보안 노출을 줄이는 한 가지 방법은, AWS 서비스를 활용하여 팀이 자체 관리해야 하는 기술의 수를 줄이는 것입니다. 새 애플리케이션에 매니지드 서비스를 이용하거나, 기존 애플리케이션을 매니지드 서비스로 이동하면 가능합니다. 예를 들어, Amazon Aurora 같은 매니지드 서비스로 데이터베이스를 옮길 수 있습니 다. Amazon Aurora가 많은 보안 작업을 처리해주기 때문에, 기업은 다른 영역에 집중할 수 있습니다. 서비스 관리 책임을 AWS로 이전하는 것입니다. 

뉴렐릭은 AWS 유지관리 서비스로 플랫폼을 옮기는데 적합한 대상 등 애플리케이션의 모든 구성요소를 표시할 수 있는 기능을 제공합니다. (그림 7 참조) 

AWS 환경을 보호하는 측면에서 기업이 어떤 역할을 수행해야 할지 더욱 잘 이해 하기 위해, AWS와 기업이 각각 어떤 책임을 지는지 설명해주는 AWS 공유 책임 모델을 검토해 보시기 바랍니다.

Service map

AWS 매니지드 서비스를 사용하면, 취약점 및 패치 관리와 관련해 조직에서 감당해야 하는 인프라 양이 줄어듭니다. 데이터 보호와 액세스 권한 관리를 위해 적절한 규칙을 제공해야 한다는 사실에는 변함이 없지만, 운영 체제 패치 및 업데이트와 같은 낮은 수준 의 보안 문제는 AWS가 알아서 관리해줍니다.

알아두면 좋은 또 다른 중요한 지표는, 조직이 매니지드 서비스를 사용해 보안 노출 영역과 노력을 얼마나 감소하고 있는가 하는 것 입니다. 보안의 관점에서, 이제 추적, 관리 및 패치를 할 필요가 없게 된 데이터베이스가 몇 개인가? 데이터베이스 수 외에도 데이터베이스 유형(예: MySQL, Oracle, Microsoft SQL Server) 은 몇 개나 되며, 버전(1.2, 2.7, 5.4.2 등)은 몇 개나 되는가? 보안해야 하는 데이터베이스 유형과 버전이 많을수록 보안 도전과제는 더 커집니다. 

안정성

"안정성은 비즈니스와 고객의 요구를 충족하기 위해 장애를 예방하고 신속하게 복구할 수 있는 역량에 초점을 맞춥니다. 주요 주제는 설치, 프로젝트 간 요구사항, 복구 계획, 변경 처리 방법과 관련된 기본적인 요소들입니다." 

AWS Well-Architected Framework

안정성은 기반, 변경 관리 및 장애 관리의 세 가지 주요 모범 사례 영역으로 구성되어 있습니다. 뉴렐릭 데이터로 신뢰할 수 있고, 예측 가능하며, 가용성이 높은 안정적인 시스템을 구축할 수 있습니 다. 뉴렐릭을 사용해 개발 초기에 오류를 찾아내고, 장애를 방지하며, 발생한 모든 오류로부터 신속하게 복구하면, 뛰어난 고객 경험 제공이라는 목표를 달성할 수 있습니다.

모범 사례: 오류의 조기 발견

안정적인 애플리케이션을 생성하고 운영 중 장애를 방지하는 가장 좋은 방법은 연속 통합 및 연속 배포(CI/CD) 개념을 사용해 최대한 빨리 오류를 찾아내는 것입니다.

연속 통합은 개발자가 지속적으로 코드 호환성을 엄격하게 제어 하는 것을 지칭합니다. 실질적으로는 개발자가 변경할 때마다 코드의 빌드와 테스트를 자동화하는 프로세스를 의미합니다. 그러나 연속 통합은 고품질 소프트웨어를 사용자에게 제공하는 방법의 일부만 제공할 뿐입니다. 이 경로의 다음 단계는 연속 배포 입니다.

연속 배포를 실천하는 개발자는 항상 배포할 수 있고, 실제 운영에 투입될 준비가 된 코드를 생성합니다. 연속 배포는 제품의 시장 출시 시간을 단축하고, 품질을 개선하는 소프트웨어 개발 관행 및 방법 전체를 일컫는 말입니다.

상호 연결된 서비스를 이용하는 애플리케이션과 사이트들이 늘어나고 있습니다. 많은 서비스나 마이크로서비스에 의존하는 애플리케이션 아키텍처를 분산 시스템이라고 합니다. 뉴렐릭 플랫폼에서 분산추적을 사용하면, 애플리케이션이 받은 요청으로 인해 야기되는 활동을 추적할 수 있습니다. 복잡한 시스템에서 특정 요청이 이동하는 경로를 추적할 수 있게 되면, 경로에 있는 구성 요소들의 지연 시간을 파악하는 데 도움이 됩니다. 구성 요소들의 지연 시간 을 추적할 수 있으므로, 애플리케이션에서 병목 지점을 찾을 수 있습니다. 애플리케이션에서 병목 현상이 발생했다는 것은 보통 오류가 발생했다는 말입니다. 오류를 일찍 발견할수록 빠르게 수정하여 애플리케이션의 전반적인 성능과 안정성을 향상시킬 수 있습니다.

distributed tracing

모범 사례: SLA를 기준으로 한 가동 시간 추적

오늘날의 디지털 비즈니스는 중요한 애플리케이션에 대한 가동 시간 요구사항이 엄격합니다. 먼저 서비스 수준 계약(SLA) 및 가동 시간 요구사항을 명확히 이해해야 합니다. 그런 다음 SLA를 기준으로 애플리케이션이 어떻게 실행되고 있는지 안정성 지표들을 비교해 봐야 합니다. 애플리케이션의 가용성은 얼마나 되는가? 오류가 사용자에게 얼마나 자주 영향을 미치는가? 뉴렐릭을 사용하면 가동 시간과 관련된 KPI 및 SLA를 모니터링할 수 있습니 다. (그림 8 참조)

Monitoring SLAs

모범 사례: 성능 확장에 대한 이해

많은 애플리케이션의 경우, 향후의 확장 요구사항을 몇 달 앞도 예측하기가 어렵습니다. 애플리케이션이 소수의 사용자만 지원할 계획이라면 애플리케이션의 확장 가능 여부를 크게 걱정할 필요가 없습니다. 그러나 대부분의 애플리케이션은 점점 더 많은 사용자를 지원할 것으로 기대됩니다. 애플리케이션이 늘어나거나 감소된 사용자를 지원할 수 있으려면 자동으로 확장이 가능해야 합니다. 자동 확장 규칙을 조정하는 데 시간을 소모해서는 안됩니다. 

AWS Auto Scaling에 뉴렐릭을 통합하면, Auto Scaling 그룹에 대한 지표와 인벤토리 데이터를 확보할 수 있습니다. (그림 9 참조) 

Scaling and availability information

성능 효율성

“성능 효율성은 IT 및 컴퓨팅 리소스를 효율적으로 사용하는 데 초점을 맞춥니다. 핵심 주제로는 비즈니스 요구사항의 변화에 따라 효율성을 유지할 수 있도록 워크로드 요구사항에 따른 적절한 리소스 유형과 크기 선택, 성능 모니터링, 정보에 기반한 의사 결정 등이 있습니다."

AWS Well-Architected Framework

성능 효율성은 컴퓨팅 리소스를 효율적으로 사용하여 시스템 요구사항을 충족하고, 수요 변화와 기술의 발전에 따라 효율성을 유지하는 것이 관건입니다. 이 주축에 포함된 네 가지 모범 사례 영역, 즉 선택, 검토, 모니터링 및 타협은 각각 데이터에 의존하여 기업이 올바른 인프라와 기술을 선택하고 발전시켜 성능 효율성을 유지하는 데 도움을 줍니다.

뉴렐릭은 모든 것을 계측할 수 있게 해주기 때문에, AWS의 성능 효율성에 있어서 사각지대가 존재하지 않습니다. 현재 환경을 기준으로 설정한 다음, 정보에 기반해 인프라의 적정 규모를 결정합니다. 실질적인 사용자 KPI를 사용해 클라우드 리소스를 지리적으로 어디에 배치시킬지 결정함으로써, 최고의 성능을 확보할 수 있습니다. 마지막으로, 더 나은 결과를 얻을 수 있도록 새로운 클라우드 기술들(예: Amazon EKS 및 AWS Lambda)을 모니터링 하고 다양하게 실험해 봐야 합니다.

모범 사례: 정보에 기반한 의사 결정

애플리케이션이 리소스를 사용하는 방식을 최적화하려면, 먼저 뉴렐릭을 사용하여  AWS 환경에서 성능 기준 데이터를 수집해야 합니 다. 현재 상태를 이해함으로써, 개선 노력의 중점을 어디에, 어떻게 두어야 할지 현명한 결정을 내릴 수 있습니다. 

AWS 클라우드는 Amazon Elastic Compute Cloud(EC2), AWS Lambda(서비스형 기능), Amazon Elastic Kuberne- tes Service(EKS), Amazon RDS(관계형 데이터베이스 서비 스)내에서사용할 수 있는 많은 데이터베이스등 고객이 효율적으로 성능을 확보할 수 있도록 지원하는 많은 첨단기술을 제공합니 다. 이러한 클라우드 서비스의 규모를 적절하게 책정하고 모니터링하면, 고객의 요구가 변하고 기술이 진화해도 애플리케이션 시스템의 요구사항을 충족할 수 있습니다. 

모범 사례: 환경의 적정 크기 책정 

뉴렐릭은 애플리케이션이 인프라 성능에 미치는 영향을 이해할 수 있도록 지원하며, 환경을 적정 규모로 책정하는데 필요한 데이터 중심의 가치 있는 접근방식을 제공합니다. 그림 10의 예에서는 CPU에서 c4.large와 c4.xlarge가 모두 완전하게 활용되지 않고 있음을 확실하게 볼 수 있습니다. 이는 하위 계층 C(컴퓨트) 인스턴스를 사용하는 것이 좋다는 것을 나타냅니다.

그러나 이러한 두 인스턴스의 메모리 사용률은 시간이 지나면서 80%에서 20% 범위가 됩니다. CPU와 메모리 정보를 모두 검토함으로써, 이러한 인스턴스를 메모리에 최적화된 인스턴스로 전환할 수 있습니다. 이 경우, 적정 규모의 메모리를 사용하면 CPU 사용률도 증가하므로 애플리케이션의 성능이 더욱 효율적이 됩니다. (참고: 그림 10의 우측에 있는 차트를 보면 적정 규모를 맞추려는 노력이 고객 경험에 어떤 영향을 미치는지 알 수 있습니다.)

Rightsizing your environment

모범 사례: 사용자 위치에 맞는 최적화

또 다른 성능 고려 사항은 사용자 인접성입니다. 환경이 사용자가 위치한 지역에 맞게 조정되어 있는가? 그렇다면 각 위치에서 어떤 수준의 성능을 경험하고 있는가? AWS는 몇 분 내에 전 세계 위치로 확장할 수 있는 역량을 제공합니다. 사용자의 위치와 비즈 니스 목표에 따라 리소스를 위치시켜, 고객에게 보다 효율적으로 서비스를 제공할 수 있는 지리적 위치를 최대한 활용해야 합니다.

다음 예에서는 대상 고객이 오하이오주 콜럼버스에 있다고 가정하겠습니다. 홈페이지에서 결제까지 고객의 전체 구매 여정을 관찰하면, 그림 11과 같이 애플리케이션의 성능을 보여 주는 KPI 전체를볼수있습니다. 

Performance monitoring showing target GEO

모범 사례: 새로운 기술을 통한 시도

AWS의 혜택 중 하나는, 더 많은 실험을 할 수 있게 해준다는 것입 니다. 전체 성과를 향상시키는 데 새로운 기술들을 다양하게 시도해보는 것은, 기업은 물론 고객에게도 도움이 될 수 있습니다.

많은 조직들이 사용하기 시작한 새로운 기술 중 하나는, 컨테이너와 Kubernetes입니다. 이는 컨테이너화된 워크로드 관리에 필요한 비즈니스에 핵심적인 플랫폼입니다. 뉴렐릭은 Kubernetes 클러스터를 다차원적으로 표시해주는 Kubernetes 클러스 터 탐색기를 제공하여 네임스페이스, 배포, 노드, 파드, 컨테이너 및 애플리케이션을 자세히 들여다 볼 수 있게 해줍니다. 클러스터 탐색기를 사용하면, 이러한 요소들과 관련된 데이터와 메타데이터를 쉽게 검색하여 이들이 어떻게 상호 연결되어 있는지를 파악할 수 있습니다. 

New Relic Kubernetes cluster explorer

또 다른 새로운 기술은 AWS Lambda 같은 Funtion-as-a- Service(FaaS)의 개념입니다. Lambda는 추가 리소스를 할당할 필요 없이 확장할 수 있는 기능을 제공하며, 필요한 작업은 AWS가 처리해줍니다. 이로 인해, 폭증을 경험하는 기업은 성능에 대한 혜택을 얻을 수 있습니다.

뉴렐릭은 서버리스 AWS Lambda 함수에 대한 성능 모니터링을 제공합니다. 이는 CloudWatch 데이터와 코드-레벨 측정을 사용하는 포괄적인 Lambda 모니터링 기능으로 보다 심도 있는 모니터링 경험을 제공합니다. (그림 13 참고) 뉴렐릭의 Lambda 모니터링은 다음에 대한 가시성을 제공합니다.

  • 기간, 메모리 사용량 ,콜드부팅, 예외, 추적 등의 성능데이터를 비롯한 모든 Lambda 함수 호출
  • SNS(Simple Notification Service) 항목에 메시지 게시 또는 DynamoDB 테이블에 있는 항목, 해당 서비스의 운영 과 목표 등 기타 AWS 서비스 호출
  • 분산 추적을 통해 Lambda로 연결되는 요청 경로와 운영 환경에서 Lambda가 다른 분산 추적에 걸쳐 있는 방식
  • Lambda를 유발한 소스에 대한 정보 
New Relic monitoring for AWS Lambda

비용 최적화

"비용 최적화는 불필요한 비용을 방지하는 데 중점을 둡니다. 주요 주제로는 비용 지출 관리 및 제어, 가장 적절하고 적합한 리소스 유형 선택, 시간 경과에 따른 지출 분석, 과도한 지출 없이 비즈니스 요구를 충족하도록 확장하는 것 등이 있습니다."

AWS Well-Architected Framework

뉴렐릭은 비용 최적화를 한 단계 더 끌어올려, 지출 인식, 비용 효율적인 리소스, 공급과 수요 매칭, 시간에 따른 최적화라는 네 가지 모범 사례 영역을 적용할 수 있도록 지원합니다. 비용 최적화는 단순히 얼마를 지출하느냐만의 문제가 아니라 지출이 미치는 영향의 문제이기도 합니다. 뉴렐릭은 고객별 이벤트를 통해 비즈니스 데이터를 통합하여 지역별 성능의 영향과 매출 등의 성과를 추적할 수 있게 해줍니다.

모범 사례: 투자와 목표의 매치

예를 들어, 칠레에서 보여지는 성과가 원하는 수준은 아니지만 현재 주요 지역이 아니기 때문에 더 투자를 하는 것이 합리적이 지 않을 수 있습니다. 중국에는 현재 최종 사용자가 거의 없지만, 비즈니스를 성장시키기 위해 많은 투자를 하길 원합니다. 그렇다면, 중국의 사용자 환경을 우선적인 위치에 두어야 합니다. 이렇게 성과 데이터와 기업의 목표를 조합해 적절한 투자 수준을 결정해야 합니다.

모범 사례: 사용자 만족도 추적

비용이 최적화되었는지 확인하는 또 다른 방법은 뉴렐릭에서 애플리케이션의 Apdex 점수를 확인하는 것입니다. Apdex는 웹 애 플리케이션 및 서비스의 응답 시간으로 사용자 만족도를 측정하는 업계 표준으로, 애플리케이션에 대한 사용자의 만족도를 파악하는 데 도움을 줍니다. 뉴렐릭을 사용해 Apdex와 애플리케이션으로 인해 발생한 비용을 비교해볼 수 있습니다. 애플리케이션이 수행하는 역할에 비해 투자 수준이 적정한가? 최종 사용자 환경을 위한 목표는 무엇이 되어야 하는가? 목표는 이러한 지표들과 비용 간에 균형을 맞추는 것입니다. 이를 통해 과다한 비용을 지출하지 않고 최종 사용자 경험 목표를 달성할 수 있습니다.

그림 14의 예를 보면, Apdex와 가용성은 100%이며 고객의 페이지 로드 시간은 대단히 빠릅니다. 그러나 인프라와 데이터베이스의 활용도는 물론 큐 길이의 수치가 대단히 낮음을 알 수 있습니다. 이는 클라우드 인프라 환경이 오버 프로비저닝 되었기 때문입니다. 이러한 요소들의 규모를 올바르게 책정하면, 클라우드 비용과 최종 사용자 경험 간의 균형을 향상시킬 수 있습니다. 

Apdex versus cost

뉴렐릭은 클라우드 최적화 툴을 제공합니다. 이 도구를 사용하면 오버 프로비저닝 또는 언더 프로비저닝된 인스턴스를 빠르게 찾을 수 있습니다. (그림 15 참조) 

New Relic Cloud Optimize tool

결론

AWS Well-Architected Framework를 사용해 클라우드 환경에 대한 결정을 내리면, 현대화된 새로운 애플리케이션을 위해 안정성, 확장 가능성, 안정성, 효율성 및 경제성을 모두 갖춘 환경을 설계할 수 있습니다. 이러한 환경은 데브옵스(DevOps) 팀이 안정적이고 효율적인 시스템을 구축 및 운영하는데 도움을 주어, 결과적으로 조직이 달성하고자하는 비즈니스 성과를 달성할 수 있도록 해줍니다.

뉴렐릭을 사용하면 디지털 엔터프라이즈 내에서 WAF의 모범 사례들을 측정 및 관찰할 수 있게 되어, 고객이 요구하는 높은 품질의 애플리케이션을 제공할 수 있습니다.

AWS 투자 최대 활용

현대화 여정의 모든 단계를 관찰할 수 있기 때문에, 클라우드의 모든 혜택을 누릴 수 있습니다.