블로그

문맥이 왕이다

로리 맥비티 썸네일
로리 맥비티
2016년 2월 7일 게시

소비자용 물건. 비즈니스 관련 사항. 물건을 제조하다.

전화기. 정제. 패블릿. 노트북. 데스크톱.

강렬한 컴퓨팅. 네트워크가 강렬해요. 저장량이 많습니다.

집. 일하다. 식당. 자동차. 공원. 호텔.

비즈니스의 양쪽(앱과 클라이언트) 모두에서 환경이 변화하고 있습니다. '사용자'라는 용어는 더 이상 단순히 인간을 의미하지 않습니다. 여기에는 데이터 센터 전반의 애플리케이션과 자동으로 연결, 공유, 상호 작용하도록 구동되는 시스템과 사물도 포함됩니다.

 

예를 들어, 모놀리식 애플리케이션을 복합적인 부분으로 분해하는 새로운 마이크로서비스 아키텍처 추세를 생각해 보겠습니다. 각 부분은 자체 서비스이며 다른 부분(서비스)과 '사용자'가 통신할 수 있는 API(인터페이스)를 제공합니다.

 

마이크로서비스를 다루는 36%에 포함되지 않나요? ( Typesafe, 2015 ) 잘 알려진 앱 아키텍처를 고수한다고 해서 '사용자' 다양성이 확대되는 영향으로부터 보호받을 수는 없습니다. 특히 사물 인터넷에 뛰어드는 경우 더욱 그렇습니다. 저희의 데이터에 따르면 일부 응답자는 그렇다고 합니다. 전체 응답자의 22%는 IoT가 향후 2~5년간 전략적으로 중요할 것이라고 믿고 있으며, 15%는 향후 12개월 내에 IoT를 지원하는 기술을 구매할 계획을 세우고 있습니다.

즉, "사물"은 보안 및 성능과 관련하여 고유한 요구 사항과 필요 사항을 갖는 "사용자"처럼 간주되어야 하며 가용성은 말할 것도 없습니다. 

즉, 점점 더 다양한 애플리케이션을 점점 더 많은 지역의 클라이언트에게 제공해야 하는 네트워크 및 애플리케이션 서비스는 인간 사용자와 사물 사용자를 구별할 수 있어야 합니다. 성능을 최적화하고 보안을 보장하려면 성능과 보안을 담당하는 서비스가 현재의 여러 변수를 고려하여 적절한 시기에 적절한 정책을 적용할 수 있어야 합니다.

즉, 앱은 사용자, 앱, 그리고 이러한 커뮤니케이션이 시도되는 목적 등 전체 거래의 맥락에서 트래픽(앱 용어로는 데이터와 커뮤니케이션)을 관리해야 함을 의미합니다.

 

문맥에 대한 생각은 기본적인 정보를 수집할 때 묻는 5가지 "W"에 대해 배웠을 수도 있는 것과 비슷한 방식으로 생각할 수 있습니다(나이가 충분하다면, 아니요, 원하지 않는다면 인정할 필요는 없습니다). 즉, 누구, 무엇, 어디, 언제, 왜라는 질문입니다. 트래픽을 조사하고 각 질문에 대한 답을 추출하면 교환을 어떻게 처리할 것인지에 대한 적절한 결정을 내릴 수 있을 만큼 충분한 맥락을 모을 수 있습니다. 거부하세요. 허용하세요. 스캔해 보세요. 문질러요. 최적화하세요. 경로를 지정하세요. 이는 앱 서비스가 "네트워크에서" 수행하는 작업 유형이며, 거래의 맥락 내에서 수행하면 더 잘 수행하고 효과도 더 큽니다.

  • WHO
    사용자를 식별합니다. 인간인가요? 그렇다면 기업입니까, 아니면 소비자입니까? 이건 물건인가요, 아니면 다른 앱인가요? 그렇다면 어떤 것, 어떤 앱인가요? 스마트 전구는 데이터 보고 앱에는 접근할 수 있지만, 회계 시스템에는 접근할 수 없습니다.
  • 무엇
    그들은 무엇을 하고 있는가? 데이터를 전송하시나요? 데이터를 요청하시나요? 수색? HTTP에는 깊이 파고들지 않고도 이를 확인하는 데 도움이 되는 풍부한 데이터가 포함되어 있습니다. HTTP POST인가 GET인가? 업데이트 또는 삭제? 이러한 상태만으로도 우리는 이 교환의 목적에 대한 단서를 얻을 수 있습니다.
  • 어디
    그들은 어디에서 그것을 하는가? 그들은 집에 있나요? 본사에서요? 길 건너 스타벅스에 가시나요? 아니면 지구 반대편에 가시나요? 로컬 네트워크나 인터넷을 통해서? 지리적 위치는 앱, 리소스, 데이터에 대한 액세스를 제한하는 데 널리 사용되는 수단입니다. 앱의 종류와 관계없이 사용자에게 앱을 제공할 때 위치가 중요합니다. 특히 공항이나 지역 스타벅스와 같은 공공 장소에서 특정 유형의 데이터나 앱에 액세스하는 것을 금지하는 기업 정책이 있는 경우 더욱 그렇습니다.
  • 언제
    지금은 하루 중 어느 시각입니까? 그리고 더 중요한 것은, 현재가 어느 시간대이고, 사용자가 어디에 위치해 있는가? 그들은 현재 오전 8시인 위치에서 오전 3시에 시스템에 접속하려고 하는 건가요? 예를 들어, 연구 결과에 따르면 봇 트래픽은 오후 6시에서 오후 9시 사이의 퇴근 후에 상당히 증가하는 것으로 나타났습니다. 그리고 우리는 이 데이터를 "누구"와 함께 놓고, 앨리스가 기업 본사에서 일할 때 오전 3시에 일해야 한다는 것을 즉시 알아낼 수 있을 것입니다.

  • 왜 8번째 레이어가 존재하지 않는 걸까요? 이는 무엇으로부터만 추론할 수 있으며, URI와 같이 상당히 기본적인 데이터로부터 단서를 모을 수 있어야 합니다(요즘은 HTTP 기반이라고 가정하는 게 타당한 가정입니다). 그들이 무엇을 하는지, 예를 들어 데이터를 보내는지 알게 되면, 그들이 왜 데이터를 보내는지 알고 싶을 수도 있습니다. 프로필 업데이트인가요, 아니면 센서 데이터를 보내는 건가요? 그들은 검색을 하고 있는 건가요, 아니면 주문을 하고 있는 건가요?

이것들이 맥락을 구성하는 것입니다. 다섯 마리를 다 모아야 한다는 것은 아닙니다. (결국 포켓몬이 아니니까요.) 적절한 행동 방침을 결정하기 위해서는 꼭 그 다섯 마리를 다 모아야 하는 것은 아닙니다. 하지만 그럴 경우를 대비해 5가지 모두에 대한 가시성(접근성)이 필요합니다. 그렇기 때문에 앱 서비스에 2계층부터 7계층까지 전체 네트워크 스택에 대한 가시성이 매우 중요합니다. 각 요청이나 응답은 해당 요청이나 응답이 이루어진 맥락 에서 평가해야 할 수 있으며, 전체 스택에 대한 가시성이 있어야 필요할 때 해당 정보를 얻을 수 있습니다.

지능형 프록시가 제공하는 것 중 하나는 네트워크, 보안 및 인프라 아키텍트(및 엔지니어)가 컨텍스트가 필요한 정책을 구현하여 모든 사용자(인간, 센서 또는 소프트웨어)에게 궁극적으로 필요한 보안, 속도 및 안정성을 보장할 수 있도록 하는 데 필요한 가시성입니다.