Warning: Unexpected character in input: ''' (ASCII=39) state=1 in /webroot/libs/skin/post_widget_data.php(976) : eval()'d code on line 1 Parse error: syntax error, unexpected T_STRING in /webroot/libs/skin/post_widget_data.php(976) : eval()'d code on line 1 calmglow (최진호)

adsense(728_90)


스타벅스 메타포를 이용한 SOA Governance에 대한 이야기 Enterprise

아래 글은 javaservice.net의 soa관련 글타래에 calmglow가 올린 글이다.

저는 요새 '조엘이 엄선한 소프트웨어 블로그 베스트 29선'이라는 책을 매우 재미나게 읽고 있습니다. 여기에 엄선된 글 중 그레고르 호페의 글이 유독 제 시선을 끌었는데요, 스타벅스의 음료 주문 처리 방식을 IT관점에서 바라본 것이죠. 저는 이 메타포에 의한 접근을 이용하여 SOA Governance를 풀어가는 것도 재밌겠다는 생각을 해보게 되었습니다.

스타벅스 커피숍에 등장하는 직군은 크게 네 분류로 나뉩니다. 바리스타와 캐시어 그리고 이들을 지휘하는 커피숍 팀장과 사장입니다. 그레고르 호페는 스타벅스에서 음료 주문을 처리하는 방식에 주목해보았습니다. 스타벅스는 다른 모든 사업체와 마찬가지로 주문 처리량을 극대화하는 데 집중했습니다. 주문을 더 많이 처리할 수록 수익이 늘어나기 때문이죠. 그렇기 때문에 스타벅스에서는 비동기적 프로세스를 사용합니다. 고객이 주문을 하면 캐시어는 커피 컵에 주문을 표시해서 대기열에 올려놓습니다. 이 대기열은 말 그대로 에스프레소 기계 위에서 커피컵이 대기하고 있는 줄입니다.
이 대기열은 캐이어와 바리스타를 구분해주는 역할을 하며, 바리스타의 일손이 부족해서 잠시 도움을 받는 한이 있더라도 캐시어가 계속 주문을 받을 수 있게 해줍니다.
스타벅스는 비동기 방식의 장점을 채택하는 동시에 비동기 방식에서 필연적으로 나타날 수밖에 없는 문제점을 해결해야만 했습니다. 예를 들자면 상관관계(correlation)같은 것이죠. 음료가 반드시 주문한 순서대로 나오지는 않습니다. 그 이유는 두 가지입니다. 우선 첫째, 바리스타가 여러 명 있는 경우에는 각 바리스타가 서로 다른 장비를 사용해서 주문을 처리하기 때문입니다. 블렌드 음료는 드립 커피보다 만드는 데 시간이 더 오래 걸리지요. 둘째 이유로는 바리스타들이 주문 처리 시간을 최적화하기 위해 음료 여러 잔을 동시에 만든다는 것을 들 수 있습니다. 결과적으로 스타벅스에서는 상관 관계에 따른 문제가 발생할 수 있습니다. 음료는 주문 순서와 다른 순서로 나올 수도 있지만 주문한 사람에게 반드시 제대로 전달돼야 한다는 것입니다. 스타벅스는 이 문제를 우리가 메시지 구조에서 사용하는 것과 동일한 "패턴"으로 해결했습니다. 즉 상관 관계 식별자(Correlation Identifier)를 사용한 것이지요. 미국에 있는 대부분의 스타벅스 매장에서는 컵에 고객의 이름을 써 넣는 식으로 상관 관계 식별자를 사용하고, 음료가 나오면 고객의 이름을 크게 부름으로써 상관 관계에 따른 문제를 해결합니다. 다른 나라에서는 일반적으로 주문한 음료의 종류로 주문자를 식별합니다.

여기까지가 제가 읽은 글의 요약입니다. 한마디로 스타벅스의 음료 주문 처리 방식은 우리가 익히 알고 있는 비동기 방식의 메시징 처리 시스템과 유사합니다. 비록 무리가 있겠지만 이러한 스타벅스 음료 주문 시스템을 한 기업의 전산 시스템이라고 생각해보지요. 그러면 커피숍 팀장은 전산과장 정도 되는 사람이라 할 수 있겠습니다. 커피숍 팀장은 이들 바리스타와 캐시어가 정해진 스타벅스의 음료 주문 시스템에 따라 제대로 업무를 진행하고 있는지를 감시(Resource Monitoring)하고 조율(Deploy and Integration)하는 일을 맡고 있습니다. 즉 커피숍 팀장의 관심은 오로지 Business Process 자체에 관심이 많고 그것을 예의 주시하면서 자원 부족 상태등을 해결하는 데 관심을 가지고 있습니다. 커피숍 팀장의 이러한 관심을 충족시키는 솔루션이 기존 EAI제품이 되었건 ESB+BPM이 되었건 커피숍 팀장의 관점은 오로지 자원 관리와 인력 투입을 만족하는 기능에만 있겠죠.

자 그럼 이제 관점을 커피숍 사장으로 돌려보겠습니다. 스타벅스 커피숍 사장은 당연히 가장 적은 투자로 가장 높은 수익을 발생시킬 방법을 찾는데 혈안이 되어있습니다. 사장이 가장 관심을 갖고 있는, 혹은 관심을 보이는 부분이 어떤 것일지 제가 비록 사장이 되본 적은 없지만 한번 유추해보도록 하겠습니다.
- 직원들 노는 꼴은 절대 못본다. 그들의 월급은 최소한으로 줄여야만 한다.
- 하루 중 고객이 붐비는 시간 대는 정해져 있다.
- 고객이 붐비는 날은 요일마다 다르고 계절마다 또 다르다.
- 아무리 고객이 붐비더라도 그들이 짜증을 내지 않도록 음료 주문 시간은 최소화 해야만 한다.

대충 이러한 관심 사항이 보입니다. 그리고 최종적으로 사장이 관심을 보이는 목표가 ROI라고 할 때 투자와 수익 항목을 보다 단순화해서 보자면 직원들의 월급은 투자에 해당되고 수익은 고객 수에 비례할 것입니다. 즉 고객이 최대한 불편해하지 않는 선에서 직원들 수는 최소화하는 것이 스타벅스 커피숍 사장이 관심을 가지는 항목이 되겠습니다. 여기서 고객이 최대한 불편해하지 않는다는 기준이 매우 애매모호 하므로 보다 수치화해서 생각해보면 고객이 커피를 기다리는 시간이 최대 2분 이하일 경우에 만족할 수 있다는 가정을 하겠습니다. 그리고 아무리 고객의 만족이 최우선이라 할지라도 무한대의 투자를 할 수는 없으므로 직원들 월급 역시 한달에 천만원 이상은 지불할 수 없다고 가정할 수도 있습니다.

그럼 이제 이렇게 정해진 몇 개의 커피숍 운영 목표 달성을 위한 수치들이 정의되었으므로 이 수치들에 맞추어 사장은 스타벅스 커피숍을 둘러싼 여러 상황을 분석할겁니다. 일단 커피숍 이익을 둘러싼, 커피숍 상황을 한 눈에 바라볼 수 있는 차트가 필요할 겁니다. 여기에는 감히 커피숍 팀장은 관심가질 수 없는 여러가지 요소들, 직원 월급이나 임대료, 고객 기호나 고객 만족도등을 포함하고 있어야겠죠. 이것을 운영을 위한 프로세스 모델이라고 일단 부릅시다. 사장은 끊임없이 이 프로세스모델을 통해 하루 중 고객 peak time과 계절과 요일별 peak time등에 따라 적절한 직원 분배를 하여 이익을 극대화하려고 할 겁니다.
문제는 시장 상황이 항상 변한다는 겁니다. 앞서 언급했던 계절별 요일별 고객의 반응도 항상 달라지고 경쟁사와의 관계에 따라서도 전체 매출 자체가 달라질 수가 있습니다. 따라서 프로세스 모델은 커피숍 운영 전략에 따라 계속 변경이 되어야 하고 바뀐 프로세스 모델에 따라 실제 운영 역시 반영이 바로 바로 되어야 겠습니다.

위에서 제가 스타벅스 커피숍 메타포를 통해서 SOA의 life cycle인 monitoring -> modeling -> integration -> deploy -> monitoring...를 이야기했습니다. 즉 사장은 끊임없이 자신이 원하는 기업 성과 수치와 모델을 바탕으로 기업 상황을 Monitoring하고 자신이 원하는 방식으로 비즈니스 적인 상황을 Model에 반영합니다. 이 Model은 별도의 수동적인 변환없이 운영 환경에 반영되어서 새로운 자원의 투입이나 기존 자원의 통합이 자유롭고 이것에 대한 최종 반영 역시 부드럽게 이어지는 그 lifecycle. 이것이 SOA가 지향하는 유연한 IT Governance라고 할 수 있을 것 같습니다. 뭐 사실 integration과 deploy부분만 따로 떼놓고 생각해보면 ESB나 EAI솔루션들이나 거기서 거기인 듯 싶습니다만, 기업 운영자 관점의 성과 수치등을 모델에 반영하고 이것이 다시 IT 운영 환경에 즉각적으로 반영될 수 있는 유연한 IT Governance 환경까지를 놓고 보자면 ESB와 EAI솔루션은 목표 자체에 있어 차이를 가지고 있다고 생각합니다.

공유하기 버튼

 

Celtix 1.0이 나왔다. Enterprise

이 블로그가 뉴스 사이트로 전락되기를 자제하는 편이긴 하지만
Celtix는 만약 SOA의 미래에 관심이 있는 이라면 앞으로 지켜볼만한 프로젝트 산출물이라고 생각한다.
과연 ESB 자체만으로 얼마나 사람들의 호응을 얻고 그것 위에 SOA 환경을 구축할 수 있는 힘을 가질 수 있을지는 의문이지만 오픈소스 프로젝트 중에 Celtix같은 것이 있다는 것이 그나마 부족한 ESB에 대한 관심을 고취시킬 수 있는 기회가 되지 않을까 생각한다.
Celtix는 JBI 기반의 ESB 오픈소스 프로젝트이며 SCA/SDO기반의 Tuscany와의 연동을 지원하고 있다. 월간 마소 2월호였나 3월호에 이창신씨가 쓴 특집기사에 Celtix에 대하여 매우 자세하게 나와있으므로 참고하길 바란다.
그 Celtix가 1.0이 나온 기념으로 포스팅을 남긴다.

공유하기 버튼

 

Kinks의 There is no life without love

으아~ 주문처럼 입속에서 끊임없이 맴돈다. 열라 단순한 멜로디와 가사의 이 노래가 오늘 하루 내 입을 장악했다.

There Is No Life Without Love
Written by: R. D. Davies

Truly, oh truly,
There is nothing in this life without your love
This is a story of my true love

Kinks의 There is no life without love 다운로드

공유하기 버튼

 

자바서비스넷에 올라온 SOA에 대한 사람들의 생각들 Enterprise

오랜만에 자바서비스넷에 가봤더니 많은 이들이 SOA에 대한 글을 올렸더라.
역시 가장 논란의 핵심을 이루는 것은 ESB와 EAI가 다른 점이 뭔데? 라는 것이고.
그 이야기는 이미 이 블로그에서 calmglow혼자 지껄였으니 할말은 없지만,
적어도 사람들이 SOA에서 비전을 보아야할 부분은 ESB나 웹서비스 등이 아니라
유연한 IT Governance라고 생각한다. 무겁게 쌓아올린 ESB위의 수많은 서비스들이
왜 있을까? 결국 Executive level의 사람들을 만족시키기 위해 존재하는 것이다.
기업 내의 몇 안되는 핵심 수뇌들을 위해서 IT는 기존의 EAI를 버리고 ESB로 갈아탔으며
SOA의 비전을 세운 것이다.

자바서비스넷의 SOA 글타래

공유하기 버튼

 

평택 대추리 군병력 동원사건 규탄 촛불집회를 다녀와서


얼마나 광화문 광장에 촛농이 떨어져야 사람들은 폭력을 멈출까요? The answer, my friend, is blowing in the wind. The answer is blowing in the wind.


친구 결혼식에 갔다와서 샤워하고 쉬는 참에 RssReader에서 평택 대추리 사건 관련 촛불집회가 광화문에서 열린다는 소식을 접하고 비록 당장 밀린 일이 있었지만 부랴부랴 카메라 가방을 들고 거리로 나서지 않을 수 없었다. 이런 점에서는 서울 4대문에 사는 calmglow의 입지 조건이 기동성을 발휘할 수 있다는 점에서 너무나 유리하다. 난 처음엔 그저 이글루 블로그 회원 몇명이서 행동하는 소규모 집회일 거라 생각하며 그들에게 조금이라도 힘이 되고자 나섰던 것인데 광화문 청계천 주변에는 수많은 촛불집회 참가자들로 북적여서 깜짝 놀랐다.

거리에 모인 인파들 속에서 나는 예전 효순 미선 촛불집회와 노무현 탄핵 때의 촛불집회를 떠올리며 감개무량했고 바로 옆에서 서울시 주최로 진행되고 있는 Hi Seoul 페스티발의 소리가 촛불집회장 사람들의 함성으로 힘을 못쓸 때 자못 뿌듯함마저 느꼈다.

이글루 블로그를 돌아다녀 보니, 이번 촛불집회에 참여했던 이글루인들의 의의는 "우리 세대를 일컬어 “2006년의 폭력에 눈을 감고 월드컵에 환호했던 저열한 세대”로 해석하는 것을 원치 않으니까!". 나 역시 마찬가지다. 나이 서른줄이 되었으면 역사와 사회 앞에 어느 정도 책임질 준비는 되어야 한다고 생각하니까, 비록 평택사건의 많은 진실을 알고 있지는 못하지만 분명 군부대를 동원한 그 무자비한 폭력은 잘못된 것이었기에 참여했을 뿐이다.

그러나 한가지 맘에 들지 않는 것은 촛불집회는 평범한 사람들이 수줍게 시작하여 그 수줍은 모습이 모이고 그들의 뜻이 촛불같은 작은 빛으로 하나되는 것에 의의가 있는 것인데 그런 평범한 사람들의 집회에 왜! 어째서 민주노동당 국회의원이 단상에 올라서서 열린 우리당을 개탄하고 민주노동당을 지지하는 발언을 하여야 했는지 모르겠다. 나는 민주노동당 행사 들러리로 촛불을 들고 있는 것은 아니었다. 참여정부라는 이름을 달고 일하는 이들이 감히 힘없는 이들에게 군대의 힘을 빌어 폭력을 행사한 그 사건 자체에 분노하는 것 뿐이다.

아무튼 존 바에즈 누님의 Blowing in the wind라는 노래가 떠오르는 밤이다.
얼마나 광화문 광장에 촛농이 떨어져야 사람들은 폭력을 멈출까요? The answer, my friend, is blowing in the wind. The answer is blowing in the wind.



공유하기 버튼

 

초코렛같은 음악

그동안 여러 음악을 전전하면서 외도를 했지만 역시나 내 귀가 가장 좋아하는 것은 내 입이 가장 좋아하는 것과 유사하다. 막걸리나 녹차, 된장국 혹은 초콜릿 아니면 울 엄니가 만들어주는 고작 들어간 거래봐야 간장 혹은 김치랑 들깨 밖에 든 거 없지만 졸라 맛나는 국수같은 음악이 흥겹다. 흥겨워.
그래서 요새 듣고 있는 음악은 Cyrkle의 RedRubberBall . SoftRock좋아좋아. -_-;;


RubberBall 앨범재킷 사진. 참으로 순박하고 촌스럽다. 으하하

공유하기 버튼

 

초심자의 모험이 결코 헛되지 않는 이유

'연금술사'에서도 나온 이야기인데,
초심자에게는 행운이 따른다. 도박을 하든 모험을 하든 무언가를 배우든 초심자는 행운이 따르고 우리는 그것을 자주 경험한다.
이를테면 처음 이름도 알 수 없는 누군가와 채팅했던 때를 기억하는가? 그 가슴 떨리고 긴장되던 그 때 나는 가장 많은 채팅 친구를 사귀었다. 초심자의 마음으로, 열려진 마음으로, 매너리즘에 빠지지 않고 순수한 마음으로 익명성 너머의 사람들과 대화를 나누었기 때문이다.
그런데 사실 초심자의 행운이라는 것은 아주 잠깐일 뿐이다. 조금이라도 상황에 익숙해지게 되면 여지없이 넘어지고 상처받는다. 이런 시련을 겪다가 어떤 사람은 돌아서기도 하고 오기와 끈기있는 이는 어떻게든 이겨내어 꿀같은 결과를 얻기도 한다.
왜 이런 이야기를 하느냐면, 설사 초심자의 행운만 느껴보고 시련 몇번에 울컥하여 돌아선 경험으로 만족하게 될 지라도 그것이 결코 헛되지는 않는다는 것이다. 적어도 그 길이 얼마나 어려운 지를 느껴볼 수 있었으며 초심자의 행운으로 만난 그 길에 있던 많은 이들과 인연을 맺게 되기 때문이다. 더구나 calmglow가 가장 중요하다고 생각하는 것은 다음에 다시 그 길에 들어서게 될 때에는 초심자의 행운따위에 자만하지 않고 보다 진지하게 임할 수 있게 된다는 것이다.
다시 태극권을 배운다. 아자.

공유하기 버튼

 

이전 31 32 33 34 35 36 37 38 39 40 다음


Google Analytics