AI 모델 및 플랫폼
에릭 게페서, SPR의 데이터 실践을 위한 주요 아키텍트 – 인터뷰 시리즈

에릭은 2018년 SPR의 에메르징 테크놀로지 그룹의 데이터 실践에서 주요 아키텍트로 합류했습니다.
에릭은 데이터, 자바를 사용한 오픈 소스 개발, 실제 엔터프라이즈 아키텍처에 전문가가 되었습니다. 그는 PoC, 프로토タイプ, MVP를 구축하는 것을 포함한 엔터프라이즈 아키텍처에 대해 전문가가 되었습니다.
머신 러닝에 처음 관심을 가지게 된 것은 무엇인가?
그것은 애플리케이션이 지속적으로 학습할 수 있는 능력 때문입니다. 저는 데이터 분석가로 경력을 시작했으며, 이후 비즈니스 규칙 엔진을 사용하여 클라이언트를 위해 애플리케이션을 구축했습니다. 그러나 이러한 작업의 결과는 본질적으로 정적이었습니다.
저는 이후 프로세스 개선 교육을 받았으며, 강사들은 통계와 다른 방법을 사용하여 비즈니스 프로세스를 개선하는 방법을 자세히 설명했습니다. 그러나 이러한 결과는 주로 특정 시점에 집중되었습니다. 저는 건강 관리 제품을 구축하는 동안 경험한 것처럼, 이러한 노력에 지속적인 학습이 필요한 이유를 보여주었습니다. 그러나 당시에는 이러한 자원이 존재하지 않았습니다.
흥미롭게도, 머신 러닝에 대한 저의 관심은 원형을 그리며 돌아왔습니다. 저의 대학 지도자는 당시 인공 지능으로 알려진 분야의 전문성을 가지지 말라고 조언했습니다. 저는 대신 ML과 같은 용어를 사용했습니다. 이러한 용어는 少한 의미를 가지고 있으며, AWS는 실제로 AI 서비스 계층이 ML 서비스 계층 위에 구축된 더 높은 수준의 추상화라고 인정합니다. 일부 ML 관련 허위 정보는 존재하지만, 개발자의 관점에서 볼 때, 이러한 기술은 강력한 기능을 제공합니다. 그러나 이러한 기술의 가치는 처리되는 데이터만큼 좋은 것입니다.
오픈 소스에 대한 관심이 इतन 높은 이유는 무엇인가?
오픈 소스의 한 가지 측면은 제가 수년 동안 경영진에게 설명해야 했던 것입니다. 오픈 소스의 주요 이점은 소프트웨어를 무료로 사용할 수 있다는 것이 아니라, 소스 코드가 무료로 제공된다는 것입니다.
또한 개발자는 이 소스 코드를 수정하여 자신의 용도로 사용할 수 있으며, 변경 사항이 승인되면 다른 개발자가 사용할 수 있도록 변경 사항을 제공할 수 있습니다. 실제로 오픈 소스 소프트웨어 운동은 개발자가 상업적 회사에서 제품을 라이센스한 후 변경 사항을 기다리는 데 많은 시간을 보낸 후에 시작되었습니다. 따라서 개발자는 이러한 제품의 동일한 기능을 가진 소프트웨어를 작성하기 위해 스스로 노력했습니다.
상업적인 오픈 소스는 이러한 이점을 활용합니다. 많은 현대 제품은 내부적으로 오픈 소스를 사용합니다. 오픈 소스 릴리스의 일부가 아닌 추가 구성 요소를 제공하는 상업적 버전의 소프트웨어는 차별화 요소와 지원을 제공합니다.
저의 첫 번째 오픈 소스 경험은 이전에 언급한 건강 관리 제품을 구축하는 동안였습니다. 저는 Apache Ant와 같은 도구를 사용하여 소프트웨어를 구축하고, 초기 DevOps 제품인 Hudson(후에 Jenkins가 되었습니다)을 사용했습니다. 이러한 오픈 소스 제품을 사용한 이유는 상업적 대안보다 더好的 솔루션을 제공하거나 상업적實體에서 제공하지 않는 혁신적인 솔루션을 제공했기 때문입니다. 또한 일부 제품의 상업적 라이센스는 제한적이고 비용이 많이 들었습니다.
시간이 지남에 따라, 저는 오픈 소스가 계속 진화하여 필요한 혁신을 제공하는 것을 보았습니다. 예를 들어, 저와 동료들이 건강 관리 제품을 구축하는 동안 겪었던 많은 문제는 이후에 사용하기 시작한 오픈 소스 자바 제품인 Spring Framework로 해결되었습니다. 이 프레임워크는 10년 이상 사용되어 왔으며, 초기에 제공한 혁신을 넘어선 생태계를 가지고 있습니다.
오픈 소스를 사용하여 PoC, 프로토タイプ, MVP를 구축하는 경험에 대해 이야기해 주시겠습니까?
저는 최근에 클라이언트에게 제시한 가이드링 원칙 중 하나는 데이터 플랫폼을 구축하는 경우 반복적으로 필요한 경우에 따라 지속적으로 구축해야 한다는 것입니다. 이 플랫폼의 구성 요소는 정적이지 않아야 하며, 필요와 새로운 구성 요소가 시간이 지남에 따라 제공됩니다.
플랫폼 기능을 구축할 때, 먼저 최소한의 기능을 구축한 후 불필요한 기능을 추가하지 않도록 해야 합니다. 먼저 기능이 작동하는지 확인하고, 이후에 발전시킵니다. 쓸모없는 기능을 구축하는 시간과 돈을 낭비하지 마십시오. 미래의 필요를 예상하려고 노력하십시오.
저희가 구축한 MVP는 추가 사용 사례를 구축할 수 있도록 설계되었습니다. 이는 단일 사용 사례인 비용異常 감지 구현과 함께 제공되었습니다. 이전에 구축한 제품과 달리, 이 클라이언트는 3년 동안 제품을 구축하는 방법에 대해 논의했습니다. 이 제품은 여러 조직의 계층구조를 만족해야 했기 때문에, 저는 이러한 내부 논쟁을 해결하는 데 도움을 주기 위해 고용되었습니다.
저는 이러한 논쟁이 주로 클라이언트, 자회사, 외부 고객이 소유한 데이터와 관련이 있음을 발견했습니다. 따라서 제품 백로그는 단일 사용 사례를 위해 데이터를 수집, 저장, 보안, 소비하는 방법에 중점을 두었습니다.
저의 경력 초기에, 저는 소프트웨어 개발자뿐만 아니라 아키텍처 품질인 “사용성”이 중요하다는 것을 알게 되었습니다. 이유는 코드가 작성되어야 하며, 사용자 인터페이스와 마찬가지로 사용자에게 사용할 수 있어야 하기 때문입니다. 제품이 사용 가능하도록 하기 위해, 개발자가 무엇을 하려는지 증명하기 위한 PoC를 구축해야 합니다. 그러나 PoC는 시작에 불과합니다. 제품은 시간이 지남에 따라 발전되어야 합니다. 저의 관점에서 볼 때, MVP의 기초는 안정적인 프로토タイプ에 기반하여 구축되어야 합니다.
머신 러닝에 대한 책을 검토하면서, “오픈 소스 제품, 프레임워크, 언어를 사용하고, 애자일 아키텍처를 사용하여 오픈 소스와 상업적 구성 요소를 혼합하면, 많은 회사에서 즉시 인식하지 못하는 민첩성을 제공한다”고 언급했습니다. 이러한 민첩성에 대해 자세히 설명해 주시겠습니까?
많은 상업적 데이터 제품은 내부적으로 오픈 소스 구성 요소를 사용합니다. 이러한 제품을 구축하는 회사들은 이미 커뮤니티에서 널리 사용되는 오픈 소스 구성 요소를 선택하여 출발점을 얻을 수 있습니다.
강력한 커뮤니티를 가진 오픈 소스 구성 요소는 판매하기 쉽습니다. 이러한 구성 요소는 이미 테이블에 가져오기 때문입니다. 상업적 제품은 주로 폐쇄형 소스 또는 특정 상업적 제품에서만 사용되는 오픈 소스로 구성됩니다. 이러한 제품을 사용하려면 교육이나 라이센스가 필요합니다.
또한, 이러한 구성 요소의 문서는 공개적으로 제공되지 않으므로 개발자는 이러한 회사에 의존해야 합니다. Apache Spark와 같은 널리 받아들여지는 오픈 소스 구성 요소는 Databricks Unified Analytics Platform과 같은 제품의 중심이 됩니다. 이러한 구성 요소는 이미 커뮤니티에서 제공되므로, 개발 팀이 의존해야 하는 부분은 최소화됩니다.
또한, 이러한 구성 요소는 사실상의 산업 표준 도구이므로, 코드를 상업적 구현 간에 쉽게 마이그레이션할 수 있습니다. 회사들은 차별화 요소를 통합하려고 하지만, 개발자는 완전히 새로운 제품을 사용하기를 원하지 않습니다. 이러한 제품은 회사와 강한 커뮤니티를 연결하기 어렵기 때문입니다.
저의 개인적인 경험으로, 이러한 제품을 사용해 본 적이 있습니다. 그러나 지원을 받는 것이 어렵습니다. 이는 아이러니합니다. 이러한 회사들은 제품을 판매할 때 지원을 제공할 것이라고 고객에게 약속합니다. 저는 오픈 소스 프로젝트에 풀 요청을 제출했으며, 당일 빌드에 포함되었습니다. 그러나 상업적 프로젝트에서는 ऐस한 경험이 없습니다.
오픈 소스에 대해 믿는 또 다른 점은 “강력한 개발자 커뮤니티에 접근할 수 있다”는 것입니다. 이러한 커뮤니티는 얼마나 크며, 무엇이它们를 효과적으로 만드는가?
오픈 소스 제품을 둘러싼 개발자 커뮤니티는 수십만 명에 이를 수 있습니다. 채택률은 커뮤니티의 강도를 직접적으로 나타내지 않지만, 이러한 커뮤니티가 건강한 토론과 효과적인 문서를 생산하며, 활발한 개발이 진행 중임을 나타내는 좋은 지표입니다.
아키텍트 또는 선임 개발자가 이러한 제품을 선택할 때, 여러 요인이 고려됩니다. 제품 자체, 커뮤니티, 개발 팀, 에코システム, 로드맵, 상업적 지원의 가용성 등이 고려됩니다. 그러나 이러한 요소는 강력한 개발자 커뮤니티가 없는 경우 무의미합니다.
당신은 웹사이트에서 수백 개의 책을 검토했습니다. 독자들에게 추천할 수 있는 세 가지 책이 있나요?
저는 거의 프로그래밍 책을 읽지 않습니다. 이러한 책은 빠르게 구식이 됩니다. 개발자 커뮤니티는 일반적으로 토론 포럼과 문서를 통해 더好的 대안을 제공합니다. 저는 읽는 책 대부분은 기술 뉴스레터, 저자 및 출판사, 아마존에서 무료로 제공받습니다.
(1) 저는 O’Reilly에서 추천한 책 중 하나는 “데이터베이스 낙원 찾기”입니다. 저자는 데이터 쿼리 엔진이 OLTP에서 분석까지의 스펙트럼에 걸친 워크로드를 지원하는 데遇하는 도전에 대해 자세히 다룹니다. 이 책은 데이터베이스 엔진 또는 쿼리 및 저장소 엔진의 조합을 평가하기 위한 가이드로 사용할 수 있습니다.
(2) 데이터 분석 분야에서 최근 몇 년간 많은 변화가 있었습니다. 새로운 데이터 분석 제품이 계속해서導入되고 있습니다. “파괴적 분석”은 분석 분야의 지난 50년간의 혁신에 대한 접근하기 쉬운, 짧은 역사입니다. 또한 분석 가치 체인 내의 두 가지 유형의 파괴를 논의합니다.
(3) 저가 읽은 가장好的 기술 비즈니스 텍스트 중 하나는 “전략의 한계”입니다. 저자는 연구 보드의 공동 창립자이며, 컴퓨팅 세계의 발전과 기업이 어떻게 적응해야 하는지 조사합니다. 저자는 비즈니스 리더와의 대화에서 자세한 노트를 제공하며, 통찰력있는 분석을 제공합니다.
당신은 SPR의 데이터 실践을 위한 주요 아키텍트입니다. SPR에 대해 설명해 주시겠습니까?
SPR은 시카고 지역에 기반을 둔 디지털 기술 컨설팅 회사입니다. 저희는 포춘 1000 기업부터 지역 스타트업까지 다양한 클라이언트를 위해 기술 프로젝트를 제공합니다. 저희는 사용자 경험, 데이터, 클라우드 인프라, DevOps 코칭, 소프트웨어 테스트, 프로젝트 관리를 포함한 다양한 기술 능력을 사용하여 종단간 디지털 경험을 구축합니다.
SPR에서 आपक의 책임은 무엇인가?
주요 아키텍트로서, 저의 주요 책임은 클라이언트를 위한 솔루션을 제공하는 것입니다. 저는 아키텍처와 개발을领导하며, 이는 종종 제품 소유자 역할을 맡는 것을 의미합니다. 저는 또한 잠재적 클라이언트와의 논의에 참여하며, 저의 전문 지식이 필요할 때입니다. 최근에 저희 회사에서는 데이터 실践의 아키텍트와 함께 클라이언트 프로젝트, 사이드 프로젝트, 기술을 따라잡는 방법에 대해 논의하는 세션을 시작하도록 요청했습니다.
저의 경력 대부분 동안, 저는 자바를 사용한 오픈 소스 개발, 실제 엔터프라이즈 아키텍처에 전문가가 되었습니다. 저는 또한 “실용적” 또는 “실무적” 엔터프라이즈 아키텍처를 수행하며, 이는 구축할 내용의 contexto에서 아키텍처 작업을 수행하며, 실제로 구축하는 것을 의미합니다.
저의 관점에서 볼 때, 이러한 세 가지 전문 분야는 서로 중복되며, 상호 배타적이지 않습니다. 저는 경영진에게 기술 산업이 소프트웨어 개발과 데이터 작업之间의 전통적인 선을 더 이상 명확하게 그을 수 없다고 설명했습니다. 이유는 도구가 두 영역 사이에서 수렴했으며, 데이터 작업 자체가 대부분 소프트웨어 개발 노력이 되었기 때문입니다.
현재 SPR에서 작업하고 있는 interessant한 프로젝트가 있나요?
최근에 저는 Chicago 기반의 글로벌 컨설팅 회사에서 클라이언트의 CIO를 위해 구축한 데이터 플랫폼에 대한 멀티파트 케이스 스터디 시리즈의 첫 번째 게시물을 게시했습니다. 이 플랫폼은 데이터 파이프라인, 데이터 레이크, 표준 데이터 모델, 시각화, 머신 러닝 모델로 구성되며, 기업의 부서, 관행, 최종 고객이 사용합니다.
코어 플랫폼은 기업의 IT 조직에서 구축되었지만, 목표는 이 플랫폼이 기업 전체에서 데이터 자산과 데이터 분석을 중앙화하기 위해 사용될 것이라는 것이었습니다. 또한 비즈니스 단위와 컨설팅 관행은 각각 별도의 프로세스와 도구를 사용하여 고립되었습니다. 따라서 또 다른 목표는 데이터 소유권 개념을 구현하고, 조직 간에 보안적이고 일관된 방식으로 데이터를 공유할 수 있도록 하는 것이었습니다.
오픈 소스, SPR 또는 다른 프로젝트에 대해 더 이야기해 주시겠습니까?
저는 최근에 데이터 엔지니어링 책임자의ために 대형 보험 회사에서 Databricks Unified Analytics Platform을 성공적으로 구축하고, Azure HDInsight에서 머신 러닝 모델의 실행을 마이그레이션한 프로젝트를领导했습니다.
이러한 모델은 보험 제품에 대한 소비자 채택 수준을 예측하기 위한 것이었습니다. 일부 모델은 이전에 SAS에서 마이그레이션되었습니다. 가장 큰 도전은 데이터 품질이 좋지 않았습니다. 그러나 다른 도전에는 버전 관리의 부족, 지식과 문서의 불완전성, Databricks의 문서와 지원의 미성숙이 포함되었습니다.
이러한 주요 도전을 해결하기 위해, 저는 자동화, 구성 및 버전 관리, 데이터 문제의 분리, 문서화, 데이터, 플랫폼, 모델링 팀 간의 정렬이 필요하다는 것을 추천했습니다. 저희의 작업은 초기에 매우 회의적이었던 Chief Data Scientist를 확신시켰으며, 목표는 나머지 모델을 가능한 한 빨리 Databricks로 마이그레이션하는 것이었습니다.
이 인터뷰는 오픈 소스에 대해 많은 것을 배우게 해주었습니다. 더 많은 것을 배우고 싶은 독자는 SPR의 회사 웹사이트 또는 에릭 게페서의 웹사이트를 방문할 수 있습니다.












