Connect with us

์—๋ฆญ ๊ฒŒํŽ˜์„œ, SPR์˜ ๋ฐ์ดํ„ฐ ์‹ค่ทต์„ ์œ„ํ•œ ์ฃผ์š” ์•„ํ‚คํ…ํŠธ – ์ธํ„ฐ๋ทฐ ์‹œ๋ฆฌ์ฆˆ

์ธ๊ณต์ง€๋Šฅ

์—๋ฆญ ๊ฒŒํŽ˜์„œ, SPR์˜ ๋ฐ์ดํ„ฐ ์‹ค่ทต์„ ์œ„ํ•œ ์ฃผ์š” ์•„ํ‚คํ…ํŠธ – ์ธํ„ฐ๋ทฐ ์‹œ๋ฆฌ์ฆˆ

mm

에릭은 2018年に SPR의 에메르징 테크놀로지 그룹의 데이터 실践을 위한 주요 아키텍트로加入했다. 에릭은 데이터, 자바를 사용한 오픈 소스 개발, 및 실제 엔터프라이즈 아키텍처에 전문가가 되었으며, 이는 PoC, 프로토타입, 및 MVP의 구축을 포함한다.

당신은 처음에 머신 러닝에 관심을 갖게 된 이유는 무엇인가?

그것은 애플리케이션을 지속적으로 학습할 수 있게 하는 것이다. 나는 데이터 분석가로서 경력을 시작했으며, 이후에 비즈니스 규칙 엔진을 사용하여 클라이언트를 위한 애플리케이션을 구축했지만, 모든 이러한 작업의 결과는 본질적으로 정적이었다.

나는 이후 프로세스 개선 훈련을 받았으며, 강사들은 통계와 다른 방법을 사용하여 클라이언트의 비즈니스 프로세스를 개선하는 방법을 자세히 설명했지만, 여전히 결과는 주로 특정 시점에 집중되었다. 내가 동료들과 함께 구축한 헬스케어 제품을 개선하기 위해 노력한 경험은 이러한 노력에 지속적인 학습이 필요한 이유를 보여주었지만, 당시에는 이러한 자원이 존재하지 않았다.

흥미롭게도, 머신 러닝에 대한 나의 관심은 완전한 원형을 이루었다. 나의 대학 지도자는 당시 인공지능으로 알려진 특수성을 피하라고 조언했지만, 나는 오히려 ML과 같은 용어를 사용하기로 결정했으며, 이는 더 적은 내포를 가지고 있으며, AWS는 또한 자신의 AI 서비스 레이어가 실제로 자신의 ML 서비스 레이어 위에 구축된 더 높은 수준의 추상을 인정한다. 일부 ML에 대한 과도한 기대는 비현실적이지만, 개발자의 관점에서 볼 때, 이것은 강력한 기능을 제공하며, 이러한 실천가는 ML이 제공하는 가치가 처리되는 데이터만큼 좋다는 사실을 인정한다.

 

당신은 오픈 소스의 열렬한 지지자입니다. 오픈 소스가 इतन 중요하다는 이유를 논의해 볼 수 있나요?

오픈 소스에 대해 내가 수년 동안 경영진에게 설명해야 했던 한 가지 측면은 오픈 소스 소프트웨어의 주요 이점은 이러한 소프트웨어를 사용할 수 있게 하는 데 비용이 들지 않는다는 것이 아니라, 소스 코드가 무료로 제공된다는 것이다.

또한, 이러한 소스 코드를 사용하는 개발자는 이를 수정하여 자신의 용도로 사용할 수 있으며, 변경 사항이 승인되면 이러한 변경 사항을 다른 개발자가 사용할 수 있도록 제공할 수 있다. 실제로, 오픈 소스 소프트웨어를 위한 운동은 개발자들이 상업적 회사에서 제품을 라이선스하여 변경을 기다리는 데 오랜 시간을 보낸 후에 시작되었다. 따라서 개발자들은 같은 기능을 가진 소프트웨어를 작성하기 위해 스스로 노력했으며, 이를 다른 개발자가 개선할 수 있도록 공개했다.

상업적인 오픈 소스는 이러한 이점을 활용하며, 많은 현대 제품은 오픈 소스를 사용한다. 실제로, 많은 현대 제품은 오픈 소스를 사용하며, 상업적인 오픈 소스 제품은 일반적으로 오픈 소스 릴리스의 일부로 사용할 수 없는 추가 구성 요소를 제공하며, 이는 차별점을 제공하며 필요할 경우 지원을 제공한다.

나는 이전에 구축한 헬스케어 제품을 사용하여 오픈 소스를 사용한 첫 경험을 했다. Apache Ant와 같은 툴을 사용하여 소프트웨어를 구축했으며, 초기 DevOps 제품인 Hudson을 사용했으며(이후 Jenkins가 되었다). 우리는 이러한 오픈 소스 제품을 사용하기로 결정했으며, 이는 상업적 대안보다 더 나은 솔루션을 제공하거나 상업적实体에서 제공하지 않는 혁신적인 솔루션을 제공했으며, 또한 상업적 라이선싱이 너무 제한적이었기 때문에 라이선스 비용으로 인해 과도한 관료주의가 발생했다.

시간이 지남에 따라, 나는 오픈 소스 제품이 지속적으로 진화하여 필요한 혁신을 제공하는 것을 보았다. 예를 들어, 동료들과 함께 구축한 헬스케어 제품에서 우리는 많은 문제를 해결해야 했지만, 이후에 시작한 오픈 소스 자바 제품인 Spring Framework는 이러한 문제를 해결했다. Spring Framework는 10년 이상 지속되며, 초기에 제공한 혁신을 넘어서서 더 많은 것을 제공하고 있다.

 

당신은 PoC, 프로토타입, 및 MVP를 구축하기 위해 오픈 소스를 사용했습니다. 이러한 제품 중 일부에 대한 경험을 공유할 수 있나요?

클라이언트에게 최근에 제시한 가이드링 원칙 중 하나는 데이터 플랫폼을 구축할 때, 이는 반복적으로 구축되어야 하며, 플랫폼의 구성 요소는 정적이지 않아야 한다는 것이다. 새로운 구성 요소와 구성 요소 기능이 시간이 지남에 따라 제공될 것이며, 이러한 구성 요소는 반드시 정적이지 않아야 한다.

플랫폼 기능을 구축할 때, 불필요한 기능을 추가하기 전에 먼저 최소한의 기능을 구축해야 한다. 먼저 기능이 작동하는지 이해하고, 이후에 이를 발전시킨다. 사용할 가능성이 낮은 것을 구축하기 위해 시간과 돈을 낭비하지 말고, 미래의 필요를 예측하려고 노력한다.

우리가 구축한 MVP는 추가 사용 사례를 구축할 수 있도록 설계되었다. 초기에는 단일 사용 사례인 비용 이상 현象 감지를 위한 구현만 포함되어 있었지만, 이후에 다른 사용 사례를 추가할 수 있도록 설계되었다. 이전에 구축한 제품은 내게 이전에 역사와 함께 있었다. 이 경우, 이해관계자는 3년 동안(!) 제품을 구축하는 방법에 대해 논의했다. 클라이언트 이사는 내게 이러한 내부 논쟁을 해결하는 데 도움을 주기 위해 나를 고용했다.

나는 이해관계자 간의 논쟁이 데이터 소유권과 관련이 있음을 발견했다. 클라이언트, 자회사, 및 외부 고객의 데이터를 처리하고 저장하고 보안하고 분석하는 방법에 대한 논쟁이었다. 따라서 전체 제품 백로그는 단일 사용 사례를 위한 데이터를 처리하고 저장하고 보안하고 분석하는 방법에 관한 것이었다.

내 경력 초기에, 나는 소프트웨어 개발자 자신을 위한 아키텍처 품질인 “사용성”이 중요한 것을 깨달았다. 이유는 코드가 작성되어야 하며, 사용자 인터페이스가 사용자에게 사용 가능해야 하는 것과 마찬가지로 사용 가능해야 하기 때문이다. 제품을 사용 가능하게 하기 위해, 개발자가 무엇을 하려고 하는지 보여주기 위한 개념 증명을 구축해야 한다. 그러나 개념 증명은 시작에 불과하다. 제품은 시간이 지남에 따라 발전되어야 하며, MVP의 기초는 안정적인 프로토타입 위에 구축되어야 한다.

 

당신은 ‘엔터프라이즈 규모의 머신 러닝’ 책을 검토하면서, “오픈 소스 제품, 프레임워크, 및 언어를 사용하고, 오픈 소스 및 상업적 구성 요소의 혼합으로 구성된 애자일 아키텍처는 많은 회사에서 즉시 인식하지 못하는 민첩성을 제공한다”고 말했다. 이러한 민첩성을 제공하는 이유에 대해 자세히 설명할 수 있나요?

많은 상업적 데이터 제품은 오픈 소스 구성 요소를 사용하며, 개발자가 인기 있는 프로그래밍 언어를 사용할 수 있도록 한다. 이러한 제품을 구축하는 회사들은 오픈 소스 구성 요소를 선택하여 커뮤니티에서 이미 널리 사용하고 있기 때문에 이를 통해 시작할 수 있다.

강력한 커뮤니티를 가진 오픈 소스 구성 요소는 판매하기 쉽다. 이는 이러한 구성 요소가 제공하는 친숙함 때문이다. 상업적으로 이용할 수 있는 제품은 주로 폐쇄 소스 또는 특정 상업적 제품에서만 사용되는 오픈 소스로 구성되어 있으며, 이는 개발자에게 훈련이나 라이선스가 필요하다.

또한, 이러한 구성 요소의 문서는 공개적으로 제공되지 않으며, 개발자가 이러한 회사에 의존하는 것을 강요한다. Apache Spark과 같은 널리 받아들여진 오픈 소스 구성 요소를 중심으로 하는 제품은 Databricks Unified Analytics Platform과 같이 많은 항목이 이미 커뮤니티에서 제공되므로, 개발 팀이 의존해야 하는 항목이 최소화된다.

또한, Apache Spark과 같은 구성 요소는 사실상의 산업 표준 도구로 받아들여지므로, 코드를 이러한 제품의 상업적 구현 사이에서 쉽게 마이그레이션할 수 있다. 회사들은 경쟁 차별점을 도입하려는 경향이 있지만, 많은 개발자는 완전히 새로운 제품을 사용하기 어렵기 때문에, 강력한 커뮤니티와의 연결을 끊을 수 없다.

내 경험에 따르면, 이러한 제품을 사용하는 것은 지원을 받기 어렵다. 이는 이러한 회사들이 제품을 판매할 때 지원을 제공할 것이라는 기대와 모순된다. 나는 오픈 소스 프로젝트에 풀 요청을 제출했으며, 당일 빌드에 통합되었지만, 상업적 프로젝트에서는 동일한 경험을 하지 못했다.

 

당신이 믿는 바와 같이, 오픈 소스는 ‘강력한 개발자 커뮤니티에 대한 접근’을 제공한다. 이러한 커뮤니티는 얼마나 큰가? 무엇이 이러한 커뮤니티를 इतन 효과적으로 만드는가?

오픈 소스 제품을 둘러싼 개발자 커뮤니티는 수십만 명에 이를 수 있다. 채택률은 커뮤니티의 강도를 직접적으로 나타내지 않지만, 이러한 커뮤니티가 건강한 토론과 효과적인 문서화를 생성하며, 활발한 개발이 진행 중임을 나타내는 좋은 지표이다.

아키텍트 또는 선임 개발자가 특정 제품을 구축하는 데 사용할지 여부를 결정할 때, 많은 요인이 고려된다. 이는 제품 자체, 커뮤니티, 개발 팀, 생태계, 로드맵, 및 상업적 지원의 가용성 등이다. 그러나 이러한 많은 측면은 강력한 개발자 커뮤니티가 없는 경우 무의미하다.

 

당신은 웹사이트에서 수백 개의 책을 검토했습니다. 우리 독자에게 추천할 수 있는 세 가지 책을 소개해 줄 수 있나요?

나는 현재 거의 프로그래밍 책을 읽지 않으며, 이러한 책은 일반적으로 빠르게 구식이 된다. 개발자 커뮤니티는 일반적으로 토론 포럼과 문서를 통해 더 나은 대안을 제공한다. 나는 현재 읽는 책은 대부분 기술 뉴스레터, 저자 및 출판사, 또는 아마존에서 무료로 제공된다. 예를 들어, 아마존은 2011년에 ‘린 스타트업’의 미정정본을 검토하기 위해 보냈으며,最近에는 ‘Julia for Beginners’를 보냈다.

(1) O’Reilly에서 추천하는 책 중 하나는 ‘데이터베이스 나르바나를 찾아서’이다. 저자는 OLTP에서 분석까지의 스펙트럼에 걸친 워크로드를 지원하는 데이터 쿼리 엔진의 도전을 자세히 다룬다. 이 책은 데이터베이스 엔진 또는 쿼리 및 저장소 엔진의 조합을 평가하기 위한 지침으로 사용될 수 있다.

(2) 데이터 공간에서 지난 몇 년간 많은 변화가 있었음에도 불구하고, ‘Disruptive Analytics’는 지난 50년 동안 분석 분야의 혁신에 대한 접근 가능한 역사와 두 가지 유형의 파괴를 논의한다. 분석 가치 사슬 내에서의 혁신과 분석 분야의 혁신에 의한 산업의 파괴이다.

(3) 내가 읽은 최고의 기술 비즈니스 텍스트 중 하나는 Research Board의 공동 설립자가 쓴 ‘전략의 한계’이다. 저자는 많은 비즈니스 리더와의 대화에서 자세한 노트를 제공하며, 컴퓨팅 세계의 발전과 기업이 어떻게 적응해야 하는지에 대한 통찰력을 제공한다.

 

당신은 SPR의 데이터 실践을 위한 주요 아키텍트입니다. SPR는 무엇을 하는 회사인가요?

SPR은 시카고 지역에 기반을 둔 디지털 기술 컨설팅 회사로, 포춘 1000 기업부터 지역 스타트업까지 다양한 고객을 위한 기술 프로젝트를 제공한다. 우리는 사용자 경험, 데이터, 클라우드 인프라, DevOps 코칭, 소프트웨어 테스트, 프로젝트 관리 등 다양한 기술 기능을 사용하여 종단간 디지털 경험을 구축한다.

 

SPR에서 당신의 책임은 무엇인가요?

주요 아키텍트로서, 내 주요 책임은 클라이언트를 위한 솔루션을 제공하는 것이다. 이는 아키텍처와 개발을 리드하는 것을 의미하며, 이는 종종 제품 소유자와 같은 다른 모자를 쓰는 것을 의미한다. 이를 통해 제품을 구축하는 방법에 대한 실무적인 관점에서 관련이 있다. 또한, SPR은 데이터 실践을 위한 아키텍트와의 세션을 시작하도록 요청했다.

내 경력의 대부분 동안, 나는 오픈 소스 개발과 데이터 작업에 전문가가 되었으며, 실제 엔터프라이즈 아키텍처를 수행한다. 이는 아키텍처 작업을 실제로 구축하는 것을 의미한다.

이러한 세 가지 전문 분야는 서로 중복되며, 상호 배타적이지 않다. 나는 최근 몇 년 동안 기술 산업이 소프트웨어 개발과 데이터 작업 사이에 тради적으로 그어진 선이 더 이상 명확하지 않다고 설명했다. 이유는 두 공간 사이의 툴링이 수렴했으며, 데이터 작업이 본질적으로 소프트웨어 개발 노력이 되었기 때문이다.

 

현재 SPR에서 작업 중인 интерес 있는 프로젝트는 무엇인가요?

최근에, 나는 SPR에서 작년부터 구축한 데이터 플랫폼에 대한 멀티파트 케이스 스터디 시리즈의 첫 번째 게시물을 게시했다. 이 플랫폼은 AWS에서부터_scratch로 구축되었으며, 시카고 기반의 글로벌 컨설팅 회사인 CIO를 위한 데이터 파이프라인, 데이터 레이크, 표준 데이터 모델, 시각화, 및 머신 러닝 모델로 구성되어 있다.

이 플랫폼은 기업 부서, 관행, 및 고객이 사용할 수 있도록 설계되었으며, 중앙 IT 조직에서 구축되었으며, 다른 조직에서도 사용할 수 있도록 설계되었다. 또한, 데이터 소유권과 관련된 문제를 해결하기 위해 데이터 중앙화와 데이터 분석을 위한 공통 아키텍처를 구축하는 것이 목표였다.

 

오픈 소스, SPR, 또는 다른 프로젝트에 대해 더 공유하고 싶은 내용이 있나요?

최근에 리드한 다른 프로젝트는 대형 보험사의 데이터 엔지니어링 디렉터를 위한 Databricks Unified Analytics Platform을 성공적으로 구현하고, Azure HDInsight에서 마이그레이션한 머신 러닝 모델을 실행하는 것이었다. 마이그레이션된 모든 모델은 다양한 보험 제품에 대한 소비자 채택 수준을 예측하기 위한 것이었다.

이러한 모델은 이전에 SAS에서 마이그레이션되었으며, 이후 HDInsight로 이동했다. 가장 큰 도전은 데이터 품질이 좋지 않았다. 다른 도전에는 버전 관리의 부족, 지식의 부족, 및 문서화의 부족, 및 Databricks의 문서화와 지원의 부족이 포함되었다.

이러한 도전을 해결하기 위해, 나는 자동화, 구성 및 버전 관리, 데이터 문제의 분리, 문서화, 및 데이터, 플랫폼, 및 모델링 팀 간의 정렬에 대한 권고를 제공했다. 우리의 작업은 초기에 매우 회의적이었던 Chief Data Scientist를 설득하여 Databricks를 사용하는 것이 최선의 선택이라는 것을 보여주었다.

์•™ํˆฌ์•ˆ์€ Unite.AI์˜ ๋น„์ „์žˆ๋Š” ๋ฆฌ๋”์ด์ž ๊ณต๋™ ์ฐฝ๋ฆฝ์ž๋กœ์„œ, AI์™€ ๋กœ๋ด‡๊ณตํ•™์˜ ๋ฏธ๋ž˜๋ฅผ ํ˜•์„ฑํ•˜๊ณ  ์ด‰์ง„ํ•˜๋Š” ๋ฐ ๋Œ€ํ•œ ๋ถˆ๋ณ€์˜ ์—ด์ •์— ์˜ํ•ด ์ถ”๋™๋ฉ๋‹ˆ๋‹ค. ์—ฐ์‡„์ ์ธ ๊ธฐ์—…๊ฐ€๋กœ์„œ, ๊ทธ๋Š” AI๊ฐ€ ์‚ฌํšŒ์— ๋Œ€ํ•œ ์ „๊ธฐ์™€ ๊ฐ™์€ ํŒŒ๊ดด๋ ฅ์„ ๊ฐ€์งˆ ๊ฒƒ์ด๋ผ๊ณ  ๋ฏฟ์œผ๋ฉฐ, ์ข…์ข… ํŒŒ๊ดด์ ์ธ ๊ธฐ์ˆ ๊ณผ AGI์˜ ์ž ์žฌ๋ ฅ์— ๋Œ€ํ•ด ์—ด๊ด‘ํ•ฉ๋‹ˆ๋‹ค.

ไฝœไธบ futurist, ๊ทธ๋Š” ์ด๋Ÿฌํ•œ ํ˜์‹ ์ด ์šฐ๋ฆฌ์˜ ์„ธ๊ณ„๋ฅผ ์–ด๋–ป๊ฒŒ ํ˜•์„ฑํ• ์ง€ ํƒ๊ตฌํ•˜๋Š” ๋ฐ ์ „๋…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ทธ๋Š” Securities.io์˜ ์ฐฝ๋ฆฝ์ž๋กœ์„œ, ๋ฏธ๋ž˜๋ฅผ ์žฌ์ •์˜ํ•˜๊ณ  ์ „์ฒด ๋ถ€๋ฌธ์„ ์žฌํ˜•์„ฑํ•˜๋Š” ์ตœ์ฒจ๋‹จ ๊ธฐ์ˆ ์— ํˆฌ์žํ•˜๋Š” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.