Search

'Phone'N Use'에 해당되는 글 1건

  1. 2010.05.25 Hello Windows Azure / Gallery of 'Powered by Windows Azure Platform' (6)

Hello Windows Azure / Gallery of 'Powered by Windows Azure Platform'

Cloud 2010.05.25 09:00 Posted by 남정현 (rkttu.com)

지난번 글 (http://vsts2010.net/294)에서 예고하였던 대로, 오늘은 Windows Azure Platform을 기반으로 만든 성공적인 응용프로그램들을 조명해보고 어떤 방법으로 Windows Azure Platform이 활용될 수 있는지를 살펴보도록 하겠습니다. 이 글에서 언급하는 프로그램들은 대부분 Visual Studio 2010과 Windows Azure Platform SDK for Visual Studio를 기초로 작성된 것입니다.

추로 (推路)

확대

지난 봄에 열렸던 클라우드 어플리케이션 경진 대회에서 대상을 수상한, (주)드원테크놀로지의 추로 (推路 - 밀 추, 길 로) - 자동차 보험회사 콜센터 편 응용프로그램입니다. 여러분께서 생각하시는 퍼블릭 클라우드 컴퓨팅의 전형적인 모습을 아주 잘 보여주고 있는 응용프로그램이라 할 수 있겠습니다. 이 솔루션에서 주목하실만한 부분은, Worker Role과 Web Role 사이의 유기적인 통신에 관한 부분입니다. Windows Azure Platform의 Compute 서비스와 Storage 서비스를 균형있게 잘 활용한 것이 특징입니다.

자동차 보험 회사에 가입한 고객이 어떤 사고를 당하였을 때, 고객은 자동차 보험 회사 콜 센터에 전화 등의 수단을 사용하여 긴급 연락을 취합니다. 콜 센터 직원은 CS 응용프로그램을 통하여 SQL Azure Database에 협력사에 전달할 정보를 저장합니다.

협력사 직원의 PDA - 또는 - 스마트 폰 단말에는 사고 Case ID가 할당되며, 단말에 내장된 GPS 수신 장치를 통하여 현재 위치에 관한 정보를 Windows Azure Web Role이 노출하는 WCF 서비스에 전송할 것입니다. 정보를 수신한 WCF 서비스는 최적 경로 계산을 담당하는 Role에 메시지를 전달하기 위하여 Queue Storage에 메시지를 Enqueue할 것입니다. 해당 Worker Role은 수신한 위치와 사고가 발생한 위치 사이를 조율하여 최적의 경로를 탐색한 후, 이를 다시 SQL Azure 데이터베이스에 저장합니다.

일련의 처리 과정이 모두 완료된 후에, 협력사 직원은 최적의 탐색 경로를 바탕으로 신속하게 사고 지점까지 이동하여 업무를 처리할 수 있을 것이며, CS 응용프로그램을 살펴보고 있는 콜센터 직원은 결과를 실시간으로 통지받을 수 있을 것입니다.

이와 같이 클라우드 기반의 인프라를 활용하여, 기존에 제공되던 위치와 상태 파악 기능을 좀 더 실시간에 가깝게 개선할 수 있고, 더불어서 저렴한 운영 비용까지 가져갈 수 있는 효과를 얻을 수 있을것입니다.

Time in the cloud

확대

Hugeflow의 Time in the cloud는 앞서 소개한 추로와 마찬가지로, 클라우드 어플리케이션 경진 대회에 참가하였던 작품으로, 금상을 수상하였습니다. 자칫 재미없고 식상하게 들릴 수 있는 근태 관리 솔루션을 재미있고 참신하게 접근했던 새로운 유형의 근태 관리 솔루션으로 인상 깊었습니다. :-)

Time in the cloud는 우리가 일상적으로 사용하는 SNS (예를 들어, 트위터나 미투데이 같은)를 이용하여 손쉽게 "출근 도장"을 찍는 방식으로 근태 관리를 돕습니다. 출근만 관리하는것이 아니라, 근태에 관해서 변동 사항이 있을 경우 이를 승인받기 위한 목적으로도 활용할 수 있게 되어있습니다. 이러한 시스템이 어떻게 클라우드 환경 위에서 구현이 될 수 있을까요?

답은 간단합니다. 특정 SNS 서비스가 노출하는 API와 이를 지속적으로 모니터링할 충실한 Worker Role이 있기 때문입니다. 그리고 근태 관리 이력을 차곡차곡 저장하기 위한 데이터베이스로는 SQL Azure를 활용할 수 있습니다. 나중에 통계를 내거나 할 때에도 도움이 되겠지요. 여담이지만, Hugeflow 회사 내에서는 이 솔루션을 통해서 근태 관리를 실제로 재미있게 하였다고 합니다. 덕분에 지각 벌금으로 회식도 자주 하셨을 것 같네요. :-)

클라우드 서비스는 대외적으로도 노출과 활용이 가능하기 때문에, 특별히 관리 도구의 경우에는 회사별로 관리할 수 있도록 하거나, 사용자 등록까지 동적으로 받아들일 수 있도록 만들어진 것도 특징입니다.

음악 가사 분석 통한 음악 추천 서비스

확대

진성주님의 음악 가사 분석을 통한 음악 추천 서비스는 앞서 소개한 추로, Time in the cloud와 마찬가지로, 클라우드 어플리케이션 경진 대회에 참가하였던 작품으로, Time in the cloud와 같은 금상을 수상하였습니다. 누구나 한번 즈음 "오늘은 뭘 듣나"라는 생각으로 가지고 있던 MP3 플레이어나 여러분의 쥬크박스를 켰던 경험이 있으실 텐데요, 그럴 때 참 요긴하게 쓰일 수 있는 멋진 클라우드 기반 서비스입니다. :-)

이 솔루션에 사용된 Lucene을 잠시 주목하여 주십시오. Lucene을 이용하여 단어 데이터베이스를 구축했다는 사실에 주목하여 주십시오. 클라우드 컴퓨팅은 여러분이 가지고 있는 On-Premise의 컴퓨팅 자산보다 기본적으로 "풍부"합니다. 비단 Lucene이라서가 아니라도, 인덱싱 작업은 기본적으로 많은 비용과 시간을 필요로 하는 작업이지만 클라우드 컴퓨팅을 이용하면 문제가 단순해질 수 있습니다.

참고로, 이 서비스를 통하여 음악을 추천받았을 때 측정된 만족도가 원래 예상치였던 65%보다 무려 18.6%가 높은 83.6%의 만족도를 기록하였다고 합니다. 혹시 상용화 계획이 있다고 한다면 저는 당장이라도 베타 테스팅을 신청해서 서비스를 마음껏 즐기고 싶습니다. 아, 그리고 기왕이면 이 서비스와 잘 연동되는 Windows Mobile 기반 플레이어도 있다면 더 편리할것 같습니다. :-)

Shutomatic

Windows Azure Platform 팀에서 근무하는 Steve Marx의 샘플 응용프로그램으로, Windows Azure Platform의 Interoperbility가 얼마나 유연한지를 잘 보여주는 멋진 샘플입니다. 그렇긴 합니다만 실로 복잡한 구성을 가지고 있는데요, 요약하면 아래와 같습니다.

  • PHP: IIS7 위에서 FastCGI를 이용하여 구동하고, 메인 웹 사이트를 보여주거나, Queue Storage에 트위팅할 메시지를 쌓는 프론드 엔드를 구현합니다.
  • C#: Worker Role 그 자체를 구현합니다. 하지만 내부적으로 Java Virtual Machine을 구동하는데에 필요한 Stub Loader로 사용하는 것 같네요.
  • Java: 실제로 Worker Role에서 수행해야 할 트위터로 메시지를 보내는 작업을 Java 코드로 구현하고 있습니다.
  • Python: Windows Azure Storage에 Queue Storage를 만드는데 필요한 간단한 Python Script 코드를 구현하고 있습니다.

Shoutomatic 소스 코드를 다운로드받고 싶으신 분들은 http://cdn.blog.smarx.com/files/shoutomatic_source.zip 에서 다운로드 가능합니다. :-)

Phone'N Use

 

지난 3월 30일에, 폴란드에서 열릴 2010 Imagine Cup의 소프트웨어 디자인 부문 한국 대표 선발전이 있었습니다. 여기서 1위를 한 팀이 한국 대표 자격으로 2010 Imagine Cup의 소프트웨어 디자인 부문에 참가할 수 있는데, 제가 참여한 팀인 WeRain 팀이 대상을 수상하게 되었습니다. 지금은 한창 아이디어를 보완하고 수정하는 단계에 있습니다. :-)

Phone'N Use는 경제적, 지리적 환경이 열악하여 출생 등록을 제 때 하지 못하여 보호받지 못하는 아이들을 위한 솔루션으로 대회 당시 저희 팀은 Windows Azure Platform을 이용하여 기본 시스템을 구축하고, Voxeo Corporation의 Cloud 기반 전화 통신 서비스인 Tropo를 이용하여 ARS 시스템을 구현하였습니다. 일반적으로 구축 비용이 비싸다고 알려진 ARS 시스템을 클라우드 환경에 어울리는 새로운 시스템으로 대치하여 비용과 효율성을 동시에 챙길 수 있었습니다.

다음 시간에는

이번 시간에는 Windows Azure 기반의 응용프로그램에 대한, 최근에 제가 발견하거나 작업하고 있는 주변 사례들을 들어서 이번 Article의 내용을 꾸며보았습니다. 클라우드 어플리케이션 경진 대회 수상작에 관련된 자료 참조를 허락해주신 한국 Microsoft의 박중석님께 감사드립니다.

다음 시간에는 Windows Azure Platform을 이용하여 어떻게 클라우드 기반 응용프로그램을 작성할 수 있는지 본격적인 실습 위주의 글을 올릴 예정입니다. 아직 우리 나라에 정식 출시되지 않은 서비스임을 감안하여, 별도의 서비스 비용을 들이거나 하지 않더라도 블로그에 올라오는 글 만으로도 손쉽게 따라해볼 수 있게 꾸며볼 예정이니 많은 관심 부탁드립니다.

감사합니다. 오늘도 좋은 하루 되십시오. :-)

저작자 표시 비영리 동일 조건 변경 허락
신고