Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

  • Korea Evangelist

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    • 0 Comments

    안녕하세요. 김대우입니다.

    이번에는 Windows Azure에서 웹 어플리케이션을 구축하는 방법을 통해 시나리오별로 어떤 서비스가 적절할지 소개해 드리도록 하겠습니다. 첫 번째 강좌를 충분히 살펴 보셨고 이해 하셨다면, 어렵지 않게 찍어서 보실 수 있으실 거에요.

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    Q. 스타트업, 소규모 기업으로 웹서비스를 제공하려 한다. 하지만, 향후 성장을 고려해 저렴한 서비스부터 확장 가능�� 서비스를 선택하고 싶다.

    A. Windows Azure 웹사이트가 좋은 선택

    - 무료 모드로 시작 가능하고 대규모로 확장 가능하다

    - 어플리케이션 갤러리에서 워드프레스 등을 선택해 바로 웹사이트 생성 가능하고, 국내 XpressEngine이나 KimsQ도 설치 가능

    - Windows Azure의 여러 서비스와 연결 가능

    - SSL 지원으로 더 보안이 강화된 제공 웹사이트 구축 가능

    Q. 디지털에이전시 / 웹디자이너로 고객의 요구에 맞춰 웹사이트를 디자인하고 운영하고 싶다.

    A. Windows Azure 웹사이트가 좋은 선택. 정교한 디자인의 웹 어플리케이션이나 웹사이트를 생성해 서비스 가능

    - 여러 종류의 데이터베이스나 클래식 ASP, .Net, PHP, Node.js, 와 Python 언어로 구축 가능

    - CLI 툴이나 파워쉘 자동화된 배포나 관리 작업 가능

    - 다른 클라우드 서비스 – Windows Azure SQL Database(PaaS 기반 SQL 데이터 서비스), 서비스 버스, 저장소는 물론 클라우드 서비스로 제공되는 MySQL(ClearDB - 현재 북미,유럽 지역만 서비스)이나 MongoDB(MongoLab)도 사용 가능하다

    - 배포를 위해 Visual Studio, Git, WebMatrix, WebDeploy, TFS, FTP을 선택해 사용 가능(리눅스와 Mac은 FTP와 Git 이용 가능)

    Q. 멀티티어(Multi-Tier) 웹기반 프런트엔드 어플리케이션을 클라우드로 마이그레이션 하고 싶다.

    A. 멀티티어 어플리케이션을 서비스 할 경우 Azure에서는 몇가지를 선택 가능.

    A1) Windows Azure 웹사이트

    - Windows Azure 웹사이트와 Windows Azure SQL Database를 이용하는 2티어 구조로 제작 가능

    - 웹사이트는 WebJob으로 백그라우드 작업이나 시간이 오래 걸리는 작업을 수행

    - 하지만, 아키텍처와 유연한 인스턴스 확장을 위해서는 클라우드 서비스나 가상머신이 더 좋은 선택이다.

    A2) Windows Azure 클라우드 서비스

    - 미들티어, 백엔드 서비스들을 모두 확장 가능한 web role과 workder role로 서비스 가능

    - 오직, 미들티어와 백엔드 서비스들만을 worker role에서 서비스 가능하고, 웹은 Windows Azure 웹사이트로 유지 가능

    - 프런트엔드 인스턴스와 백엔드 인스턴스들을을 개별적으로 스케일링 가능

    A3) Windows Azure 가상머신

    - 많이 커스터마이징된 서비스 환경들을 가상머신 이미지(Virtual Machine Image)로 쉽게 Azure로 마이그레이션 가능하다.

    - 웹사이트나 클라우드 서비스에서 구성할 수 없는 소프트웨어를 실행할 수 있다.

    Q. 내 어플리케이션은 윈도우나 리눅스에 극도로 커스터마이징 되어 있다.

    A. 만약, 어플리케이션이 복잡한 설치나 구성이 OS에 맞춰 필요하다면 Windows Azure 가상머신이 좋은 선택이다.

    - 다양한 종류와 버전의 윈도우 서버나 리눅스 OS를 가상 머신 갤러리를 이용해 시작할 수 있다.

    - 커스텀 이미지 파일을 on-premise 등에서 가상머신 이미지로 만들어 Windows Azure로 업로드 한 후 서비스 가능하다.

    Q. OSS – 오픈 소스 소프트웨어를 사용하고 클라우드 환경에서 구동하고 싶다.

    A. Windows Azure 웹사이트, 클라우드 서비스, 가상머신 세가지 옵션을 모두 선택 가능

    - Windows Azure 클라우드 서비스는 시작 작업(Startup task)으로 Windows 위에서 OSS 구동에 필요한 환경이나 구성을 설치 가능

    - Windows Azure 가상머신은 Windows나 리눅스 가상머신 위에 설치하고 구성 가능

    - Windows Azure 웹사이트를 OSS가 지원한다면

       a) Windows Azure 웹사이트는 클래식 ASP, .NET, PHP, Node.js, Python 언어를 지원

       b) WordPress, Drupal, Umbraco, DNN(DotNetNuke) 나 다른 OSS 어플리케이션을 설치. 국내 XpressEngine이나 KimsQ도 설치 가능

    Q. LOB(Line Of Business) 웹 어플리케이션이 바로 회사망과 연결해야 한다.

    A. 만약 LOB 어플리케이션을 클라우드로 올리고 싶을 경우 회사망에서 데이터나 서비스로 바로 접근 가능해야 한다. 이 경우도 Windows Azure에서 웹사이트와 클라우드 서비스, 가상머신 중에서 몇 가지를 선택 가능

    - Windows Azure 웹사이트는 On-premise와 서비스 버스(Service Bus) 릴레이로 연결 가능하고, 가상네트워크(Virtual Network)나 모든 자원들을 클라우드로 연결하지 않고 작업을 수행 가능하다.

    - Windows Azure 클라우드 서비스와 가상머신은 가상네트워크(Virtual Network)를 사용 가능한 장점이 있다. 가상네트워크는 Windows Azure를 On-premise의 네트워크와 연결할 수 있게 한다. 즉, Windows Azure를 회사 데이터센터의 일부로 확장 가능하다.

    Q. 모바일 디바이스들을 위한 REST API나 웹 서비스를 제공하려 한다.

    A. HTTP 기반 웹 서비스는 다양한 디바이스를 지원한다. ASP.NET Web API와 같은 프레임워크와 Visual Studio로 쉽게 REST 기반 서비스를 생성하고 사용 가능하며 이는 웹 엔드포인트로 쉽게 노출 가능하다. 이는 Windows Azure의 웹 서비스가 모두 제공하는 시나리오이며 Windows Azure 웹사이트는 REST API를 위한 최선의 선택이다.

    - Windows Azure 웹사이트로 HTTP 서비스를 제공하는 웹사이트를 전세계의 데이터센터에 빠르고 쉽게 생성 가능하다.

    - 기존 서비스를 마이그레이션 하거나 새로 생성할 경우 ASP.NET Web API로 제작하는 것이 좋은 선택이다.

    - SLA와 고가용성이 보장되어 하나의 인스턴스부터 여러대의 서버를 사용 가능하다.

    많은 도움 되시길 바랍니다.

    참고링크 :

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    IaaS, PaaS, SaaS - 누구나 클라우드를 말한다.

    Windows Azure 웹사이트 갤러리

    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (1/3)
    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (2/3)

    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (3/3)

    Windows Azure Web Sites, Cloud Services and Virtual Machines comparison
    Windows Azure Websites, Web Roles, and VMs: When to use which?

    Windows Azure 웹사이트, 클라우드 서비스, 가상머신 기능비교 표

    기능 웹사이트 클라우드 서비스(web roles) 가상머신

    Access to services like Service Bus, Storage, SQL Database

    X X X

    Host web or web services tier of a multi-tier architecture

    X X X

    Host middle tier of a multi-tier architecture

      X X

    Integrated MySQL-as-a-service support

    X X 1 X

    Support for ASP.NET, classic ASP, Node.js, PHP, Python

    X X X

    Scale out to multiple instances without redeploy

    X X X 2

    Support for SSL

    X 3 X X

    Visual Studio integration

    X X X

    Remote Debugging

    X X X

    Deploy code with TFS

    X X X

    Deploy code with GIT, FTP

    X   X

    Deploy code with Web Deploy

    X 4 X

    WebMatrix support

    X   X

    Near-instant deployment

    X    

    Instances share content and configuration

    X    

    Scale up to larger machines without redeploy

    X    

    Multiple deployment environments (production and staging)

    X X  

    Network isolation with Windows Azure Virtual Network

      X X

    Support for Windows Azure Traffic Manager

      X X

    Remote desktop access to servers

      X X

    Ability to define/execute start-up tasks

      X X

    Automatic OS update management

    X X  

    Integrated Endpoint Monitoring

    X X X

    Seamless platform switching (32bit/64bit)

    X X

     

    Windows Azure Web Sites, Cloud Services and Virtual Machines comparison

    주석 내용은 위의 링크를 참고하세요. 감사합니다.

  • Korea Evangelist

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    • 0 Comments

    안녕하세요. 김대우입니다.

    이번 포스팅에서는 Windows Azure에서 웹 어플리케이션을 구축하는 방법을 통해 Windows Azure의 어떤 웹 서비스가 나에게 적절할지 알아보는 시간을 가지려고 합니다.

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    Windows Azure 적용을 처음 고려 중인 개발사와 이야기 하다 보면, 항상 받는 질문이 있습니다.

    - 늘 하던 대로, 가상머신(Virtual Machine) 위에 웹서버를 올리고 PHP나 Node.js를 올려 단순한 웹 서비스를 하려고 합니다.

    - HTTP 기반 REST API로 모바일 게임을 위한 웹 서비스를 올리려고 해요. 가상머신 써야죠. DB도 올려야 하고.

    - Windows Azure 웹사이트? PaaS가 뭔가요? 

    포스팅을 계속 진행하기 전, IaaS나 PaaS에 대해 명확히 알고 싶으신 분들은 아래 내용을 참조 하세요.

    IaaS, PaaS, SaaS - 누구나 클라우드를 말한다.

    Windows Azure는 IaaS만을 주로 제공하는 타 클라우드 사업자들과 다르게 IaaS와 PaaS, On-premise를 모두 제공하고 있습니다.

    Windows Azure에서 웹서비스를 일반적으로 제공하는 방법은 세가지로 볼 수 있어요.

    1) Windows Azure Web Sites를 이용하는 방법

    2) Cloud Services 를 이용하는 방법

    3) Virtual Machines을 이용하는 방법

    세 가지 방법 모두, 클라우드의 장점인 유연하고 확장 가능한 어플리케이션을 생성 가능합니다. 하지만, 몇 가지 차이점이 있고 미리 검토해 두시면 이후 플랫폼에 대한 선택이 편해지고 클라우드 서비스 개발과 배포가 무척 쉬워지니 참고 하시면 되실거에요.

    이번 포스팅에서는 이 세가지의 차이를 구조와 기능적인 면에서 간략히 소개해 드리고, 다음 포스팅에서는 서비스 구축 시나리오별로 어떤 웹서비스를 선택하시면 좋을지 논의 드리는 시간을 가지도록 하겠습니다.

    Windows Azure 웹사이트, 클라우드 서비스, 가상머신을 한눈에 비교하면!!!

    image_thumb.png

    이 이미지 만으로도 감이 뽝 오는 분 계실겁니다. 조금 더 상세히 살펴보시지요. 

    1) Windows Azure 웹사이트 – PaaS

    - 대부분의 경우 웹 어플리케이션을 위한 최선의 선택

    - Classic ASP, ASP.NET, PHP, Node.js, Python 지원(2014년 3월 14일 기준)

    - 단순하고 유연한 배포 및 관리 옵션 제공 - Git, GitHub, Bitbucket, CodePlex, TFS 및 DropBox (2014년 3월 14일 기준)

    - 초소형 사이트부터 대용량 서비스까지 확장 가능

    - 워드프레스와 같은 블로그 엔진이나 해외 유명 CMS들로부터 바로 웹사이트 생성 가능 – Windows Azure 웹사이트 갤러리

    - WebJob을 이용해 백그라운드로 스케쥴링된 작업 수행 가능

    2) Windows Azure 클라우드 서비스 – PaaS

    - 멀티 티어로 제작되어 개별 티어에서 독립적으로 확장 가능한 웹 어플리케이션 서비스 –클라우드 서비스가 대규모 서비스에 이용되는 가장 큰 이유죠.

    - 웹 어플리케이션에서 추가적인 시스템에 대한 권한이나 네트워크 기능이 필요할 경우

    - 프러덕션 모드나 스테이징 모드로 배포 환경 구성 가능

    3) Windows Azure 가상머신 - IaaS

    - 서버 시스템의 로우레벨 리소스 접근이 필요할 경우

    - 서버 어플리케이션(특수 DB서버나 서비스 연동이 필요할 경우) 동작

    - LOB 어플리케이션

    - 다양한 버전의 윈도우 서버와 리눅스 서버를 선택 가능

    이 정도의 내용이면 대략 어떤 서비스를 이용해야 할지 감이 오실 것 같아요.

    PaaS 서비스인 웹사이트와 클라우드 서비스는 OS 업데이트나 유지관리 작업에서 자유로울 수 있다는 것도 큰 장점입니다.

    자! 이렇게 간단히 살펴 보았구요, 다음 포스팅을 통해 Windows Azure의 시나리오 별 선택 가이드와 상세 기능 비교를 진행하도록 하겠습니다. 감사합니다.

    참고링크

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (1) - 웹사이트, 클라우드 서비스, 가상머신 위의 웹서버

    Windows Azure에서 웹 어플리케이션을 구축하는 방법 (2) - 시나리오 및 상세 기능 비교

    IaaS, PaaS, SaaS - 누구나 클라우드를 말한다.

    Windows Azure 웹사이트 갤러리

    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (1/3)
    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (2/3)

    사설(Private) 클라우드 vs 공용(public) 클라우드, SaaS vs ASP, IaaS vs PaaS vs SaaS의 대결! (3/3)

    Windows Azure Web Sites, Cloud Services and Virtual Machines comparison
    Windows Azure Websites, Web Roles, and VMs: When to use which?

  • Korea Evangelist

    소치 동계 올림픽은 어떤 클라우드 플랫폼과 기술들을 이용해 서비스를 제공했을까

    • 0 Comments

    안녕하세요, 김대우입니다.

    이번에 소개해드릴 내용은 가장 최근 Windows Azure 적용 사례로 널리 알려진 러시아 소치 동계 올림픽 적용 사례 입니다.

    지난 2012년 런던 올림픽에 적용된 Windows Azure 사례에 이어, 2014 소치 동계 올림픽도 Windows Azure를 선택했어요.

    image_thumb_1.png

    http://www.sochi2014.com/en - 2014 소치 동계 올림픽 공식 사이트

    왜 클라우드인가 - 올림픽과 클라우드 서비스의 상관관계

    올림픽 웹서비스의 특성상, 올림픽 기간에 트래픽이 전세계에서 몰렸겠죠. 올림픽과 같은 전세계인의 축제는 어쩌면 전형적인 클라우드 플랫폼 사례일거에요.

    올림픽 기간 동안 발생하는 예측하기 어려운 순간적인 트래픽 폭증, 매 순간순간 발생되는 수많은 데이터, 피겨 스케이팅과 같은 인기 종목은 아시는 것처럼, 새벽 4시도 전국민의 본방사수 시간이죠. (김연아 선수 최고입니다!)

    네, 러시아 소치 올림픽은 Windows Azure를 서비스 플랫폼으로 선정 했습니다.

    Microsoft for the Sochi Olympics 2014

    공식 발표된 내용 외에 내부적으로는 클라우드 기술들을 200% 활용해 구성했어요. 아키텍처 구성이나 운영, 보안 처리 등에 대해서도 드릴 이야기가 많지만, 이번에는 공식발표된 내용만 다뤄 보도록 할게요.

    sochi2014.com 웹사이트를 Windows Azure로 서비스

    During the period of staging of the Sochi Olympics, more than 100 million visits hit the official website.

    - The maximum number of visitors was from Russia, USA, Canada, Ukraine and France.

    - The Figure Skating and unofficial Medal Standings attracted greatest interest.

    - At peak load, more than 175 thousand visitors were on the website at the same time. The difference between the peak load and minimum load was 15-fold

    - They browsed webpages with live results generating more than 90 thousand requests per second.

    - More than 5 million users visited the website daily. They viewed more than 30 million pages.

    - Windows Azure was used to provide information from mobile devices based on any type of platform (more than 6 million of app installations).

    - Overall, during the Games, users viewed more than 500 million pages, generating more than 25 billion requests to Windows Azure virtual machines.

    - Microsoft Enterprise Services designed and developed the web site solution, and had a team of 23 people standing by to assist 24/7 on site.

    숫자상으로만 봐도 대단히 많은 일들이 Windows Azure위에서 일어났네요.

    기술적인 부분에서, 위의 소개에는 VM을 이용한다고 되어 있어요. 이는 IaaS의 가상머신이 아닌 PaaS인 클라우드 서비스 서비스 가상머신이 사용되었고, 소치 동계 올림픽 웹 서비스와 인프라 서비스 거의 모든 부분이 PaaS가 가진 장점을 살려 클라우드 서비스를 위한 아키텍처로 구성되었습니다. Windows Azure는 IaaS와 PaaS를 모두 제공하고 있어요.

    올림픽이라면 0.1초의 순간도 놓칠 수 없는 영상 서비스가 백미이죠. 소치 올림픽에 적용된 미디어 서비스, 바로 미디어 부분을 봐 볼까요.

    소치 올림픽에서 제공된 클라우드 기반 미디어 서비스, 얼마나? 어떻게? – Windows Azure Media Service

    Microsoft and our global partners helped deliver more than 200 HD streams to an audience of over 900 million, 100 million of whom watched on PCs, mobile phones, tablets and other devices from 22 different countries on four continents.

    To date, the partners we have attracted and are working with include various on-demand and live encoding vendors, content encryption and DRM providers, automated metadata creation tools, file sharing and high speed file transfer solutions, content management systems, audience analytics and advertising engines, and many others are now available for use on Azure Media Services

    Martin Wahl, Principal Program Manager, Microsoft Windows Azure - Microsoft: “The cloud is going to be revolutionary”

    미디어 서비스의 복잡성은 실제 미디어 프로젝트를 해 보시면 알 수 있지요.

    LIVE 또는 VOD 영상을 서비스하기 위해 들어가는 수 많은 단계와 기술들은 기본에, iOS나 안드로이드는 물론 다양한 디바이스와 플랫폼에 안정적인 속도로 전세계에 제공해야 한다는 건 거의 불가능에 가깝습니다. 이것을 하나의 플랫폼으로 제공 가능한 기술이 Microsoft Windows Azure Media Service 입니다.

    image_thumb.png

    Media Service가 생소한 분들도 계실 것 같아요. 미디어 서비스에 필요한 모든 과정들을 클라우드의 강력한 컴퓨팅 능력과 성능을 활용해 처리 가능하고, DRM부터 광고, VOD는 물론 Live 방송에 분석 서비스까지 하나의 프레임워크로 제공 가능한 서비스 입니다.

    Windows Azure Media Service로 어떤 소치 동계 올림픽 서비스가 탄생 했는가?

    4개 대륙 22개 국가에서 Windows Azure Media Service가 적용 되���지요. 이 국가들 중에서 미국 NBC의 사이트를 살펴 보도록 할게요.

    image_thumb_2.png

    NBC의 소치 동계 올림픽 공식 사이트 - http://www.nbcolympics.com/

    NBC의 영상 서비스와 Windows Azure에 대해 소개된 자료를 몇 개 살펴 볼게요.

    NBC와 마이크로소프트 Windows Azure 파트너쉽 – Windows Azure Media Service로 실시간 스트리밍과 VOD 서비스제공을 살펴 보시면 어떤 역할을 제공했는지 조금 더 감을 잡으실 수 있을 것 같아요.

    올림픽도 4년간 생명을 가진 기업이다. 전사적 자원 관리 솔루션 - Microsoft Dynamics AX

    소치 동계 올림픽 운영위원회가 사용한 올림픽 ERP 솔루션으로는 Microsoft Dynamics AX가 사용되었습니다. ERP 솔루션으로 우리에게 익숙하지는 않지만 해외에서는 많은 점유율을 가지고 지속 성장 중인 제품이에요.

    image_thumb_3.png

    http://www.microsoft.com/en-us/dynamics/sochi-2014.aspx

    자 이렇게 해서 간략히 소치 동계 올림픽이 사용한 클라우드 기술, Windows Azure에 대해서 알아 보았습니다.

    아키텍처나 내부적인 데이터 처리 등등 여러 드리고 싶은 이야기가 많지만, 공유해 드릴 수 없는 내용이라 아쉬워요. 4월 2일에 //Build 행사가 있는데 여기에서 Windows Azure가 소치 동계 올림픽에 어떻게 적용되었는지 상세히 다뤄지겠지요.

    많은 도움 되시길 바랍니다.

    Announcing NBC Partnership to Live Stream the Sochi Olympic Games

    NBC의 소치 동계 올림픽 공식 웹사이트

    Microsoft: “The cloud is going to be revolutionary”

    Windows Azure Media Services and the London 2012 Olympics

    NBC와 마이크로소프트 Windows Azure 파트너쉽 – Windows Azure Media Service로 실시간 스트리밍과 VOD 서비스제공

    Microsoft Dynamics and the Sochi 2014 Organizing Committee

    2012년 런던 올림픽에 적용된 Windows Azure

    Windows Azure Media Service 정식 서비스 시작!

    [동영상 강좌] (20) Windows Azure 미디어 서비스 API 활용하기

    가트너도 인정한 마이크로소프트의 클라우드 서비스

  • Korea Evangelist

    테크데이즈 미니 토요세미나 발표자이신 송원석님을 미리 만나 보았습니다

    • 0 Comments

    안녕하십니까? 오늘은 최근 WebAPI 관련 문서를 한글화 하여 공개해 주신 송원석님을 모시고 이야기를 나누어 보았습니다.

    김명신: 근황에 대해서 이야기 해주실 수 있을런지요?

    송원석 (3)송원석: 현재는 프로젝트에 투입되어 공통 모듈 개발 업무를 진행하고 있습니다. 최근들어 특히 정부 기관이나 관공서들을 중심으로 ActiveX의 사용을 자재하고 순수 HTML/JavaScript 기반의 브라우저 플랫폼을 요구하는 곳이 많이 있습니다. 이 과정에서 필요한 기술 자문과 더불어 공통 모듈 개발을 수행하고 있습니다. 어플리케이션에 대한 설계를 담당하시는 분들이 개발 환경이나 운영환경에 대한 이해도가 떨어지는 경우가 꽤나 있는데, 이 때 다양한 개발/운영 환경의 영향성을 파악해서 자문의 역할을 수행하고, 다양한 개발자들의 이해관계를 조율하고 업무적으로 재사용성이 있는 모듈들을 개발하여 실무 개발자들이 좀 더 빠르고 편하게 개발할 수 있도록 돕는 역할을 한다고 보시면 맞을 것 같습니다. 현재 진행 중인 업무는 대략 2년 남짓의 기간 동안 진행 중에 있습니다. 이 일을 본격적으로 시작하기 전에는 상당 기간 동안 전자조달 업무를 진행하기도 하였고, 싱가폴에서 개발업무를 진행한 경험도 있습니다. 사회에 발을 처음 디디고 국내에 정보통신 업계의 하도급 문화와 관행에 문화적인 충격을 느껴서 해외로 나갔던 것인데요, 싱가폴에 근무하던 회사도 한국계 회사이다 보니 큰 차이점을 느낄 수가 없었습니다. 결국 어디서 일하느냐 보다 누구와 일하느냐가 가장 중요하다고 느끼고 마음 편히 일하고 싶어서 한국으로 돌아 왔습니다.

    김명신: 국내 SI는 정보통신의 꽃이라는 긍정적인 평가와 더불어 올바르지 않은 관행과 하도급 문화에 대한 지적도 있는 것이 사실입니다. 실제 상당기간 동안 국내에서 SI 관련 개발을 진행하시면 이에 대하여 이야기 해주실 부분이 있을까요?

    송원석: 네, 실제로 제 경력에서 2년 정도를 제외하면 SI 개발을 해왔습니다. .NET 개발관련 업무도 많이 했었고 Java를 이용하여 개발도 많이 했습니다. 10여년간의 시간동안 정보통신 관련 기술들은 비약적으로 발전했음에도 SI 비즈니스는 고착화된 업무 관행과 추진 방식 등은 거의 변화되질 않았습니다. 가끔 듣는 외국의 사례와는 너무나 동떨어진 한국식 SI 비즈니스가 깊이 뿌리내리고 있다 보니 상대적으로 변화가 매우 더딘 것이 사실입니다. 이쪽 일을 하시는 분들은 누구나 공감하시겠지만, 하도급 계약으로 인한 폐해는 심각한 수준이고요. 합리적이지 못한 일정 수립과 저가 입찰, 개발자들의 자질 또한 큰 문제라고 하지 않을 수 없습니다. 일정이 다급하고 개발 비용이 빠듯하니 개발이 완료되었다고는 하나 테스트가 올바로 수행되지 않고 시스템을 오픈하거나 핵심 기능에 문제가 생기는 경우가 비일비재 합니다. 그렇다 보니 실제로 프로젝트는 개발인력이 철수한 그 순간부터 본격 시작이라는 말도 있습니다. 시스템을 오픈하면 이미 다른 프로젝트에 투입되어 있는 개발자에게 전화가 빗발치는 이유도 그러합니다. 국내의 경우 특별히 대규모 프로젝트가 수년에 걸쳐 한번씩 크게 진행되는 경우가 있는데, 이는 실제로 시스템이 개발된 이후로 수년간 변화되는 업무환경을 시스템이 따라가지 못하기 때문에 완전히 새롭게 시스템을 재구축하는 과정들을 반복하는 것이지요. 하지만 이러한 개발 문화가 실상은 상당히 한국적이라는 사실을 아시는 분은 많지 않으신 것 같습니다. 안타깝게도 현업에 종사하는 개발자로서 이런 구조가 쉽게 바뀔 것 같지 않고, 너무나도 한국적으로 토착화 되어 버린 것은 아닐까 하는 아쉬움이 있습니다.

    김명신: 실제로 외국의 경우는 대규모 재개발 프로젝트 보다는, 프로젝트 완료 이후에 운영 과정에서도 지속적으로 개발을 하는 것으로 알고 있습니다. 우리나라에서 운영이라 하면, 주로 SE(System Engineering)나 operation을 중심으로 하고 있지만 실제로 해외 사례들을 살펴보면, 유지/보수 업무라는 것이 변화되는 업무와 시스템 사이의 간극을 메우기 위한 개발의 관점으로 유지/보수 업무를 진행하는 것으로 알려져 있습니다. 최근 들어 많은 분들께서 이야기 하시는 DevOps라는 트렌드가 자연스럽게 현업에 적용되고 있는 것이라고 보여집니다. 이렇게 지속적으로 유지/보수가 되다 보니 대규모 재개발이라는 것이 필요한 경우가 적지 않을까 생각합니다.

    송원석: 실제로 개발 당시에는 객체지향의 장점을 최대한 활용하여, 유지/보수의 편의성이나 재활용성을 극대화 하기 위한 설계와 개발방법 등을 적용합니다. DI(Dependency Injection)이나 IOC(Invasion of Control) 컨테이너도 그러한 맥락에서 필수처럼 여기지는 경우를 많아 보았습니다. 그런데 실상은 프로젝트 완료로부터 차기 프로젝트가 진행될까지 관련 소스가 변경되는 경우는 거의 없어요. 단순 운영의 관점에서 소스를 건드린다는 것은 해서는 안 되는 불문율처럼 되어 있어요. 그래서 이 소스는 영원히 변경될 가능성이 전혀 없고 차기 프로젝트에서 참고만 해줘도 다행이라고 이야기 하시는 개발자들도 있습니다. 결국 변경될 가능성이 거의 없는 소스에 대해서 유지/보수의 편의성을 도모하여 개발한다는 것입니다. 문제는 이런 점을 고려하여 개발하는 것이 절대 공짜가 아니라는 점입니다. 설계나 구조도 복잡해지고 개발 시에도 공수가 더 많이 들어갈 뿐 아니라 수행 성능에도 긍정적인 영향을 주지 못합니다. 다시 한번 생각해 보아야 할 부분이 아닌가 합니다.

    김명신: 수년간 IIS MVP로 활동을 하신 것으로 알고 있습니다. 새로운 버전이 나올 때 마다 새로운 기능이 추가되거나 구조가 변경된 경우도 꽤나 있었고 최근에 8.5가 출시되기도 했는데요, 매 버전이 출시될 때 마다 기술적으로 성숙되어 가는 웹서버의 모습들을 관심 있게 지켜보셨으리라 생각됩니다.

    송원석: 실제로 IIS 4.x에서 5.x으로 넘어갈 당시에 공유 풀 모델이 추가되었는데, 저는 그 당시만 해도 새로운 기능으로 넣을 것이 많지 않아서 추가했나 싶을 정도의 의구심을 가졌었습니다. 그런데 6.x로 가면서 응용 프로그래밍 풀 모델이 나오고, 메모리를 공유할 수 있는 모델이 추가되더니 그 이후로 상당한 유용성을 가진 리사이클링이나, 웹가든, 웹팜등 다양한 모델이 기존의 변화의 연장선에서 기능 추가가 이루어지는 것을 보고, 오랜 기간 동안 장기적인 안목을 가진 개발자와 개발팀이 지속적으로 개선과 발전을 이루고 있구나 하는 느낌을 받았습니다. 이처럼 중장기적인 방향성을 가지고 제품을 발전시킬 수 있다는 것이 놀랍기도 하고 부럽기도 하더군요. 아무래도 제가 개발자이다 보니 IIS MVP로 활동하던 시기에 개발의 관점으로 IIS를 접근하였는데, 사실은 IIS를 대규모로 사용하시는 분들은 대부분은 운영자인 경우가 많더라고요. 당시에 그런 관점을 조금 더 이해하고 있었더라면 좀 더 좋은 활동들을 많이 할 수 있지 않았을까 생각이 듭니다.

    김명신: 초중급 개발자분들이 저에게 간혹 물어보시는 질문 중에 닷넷을 해야 하나요? 자바를 해야 하나요? 혹은 저는 지금 닷넷 개발자인데 자바를 해야 하나요? 와 같은 질문을 하시는 분이 있습니다. 혹시 이런 질문을 받으신다면 어떤 답변을 해주실 수 있을까요?

    송원석: 분야별로 차이가 많이 있으리라 생각합니다만. 웹 개발자의 관점으로 이야기 드린다면 어떤 언어나 플랫폼을 사용하더라도 일단은 하나의 언어와 플랫폼에 깊이 있는 내공을 쌓으라고 말씀 드리고 싶습니다. 그것이 자바이냐 닷넷이냐가 중요하다기 보다는 근간이 되는 기술에 대하여 깊이 있게 이해하는 것이 우선이라고 생각합니다. 웹 기반 기술은 결국 http와 같은 프로토콜을 근간으로 하는 모형입니다. 어느 회사가 만드는 솔루션이라도 이 범주를 넘어설 수 없지요. 그런 본질과 이론을 이해한다면, 무엇으로 구현하고 어떤 제품을 사용할 것인지는 차선의 문제일 수 있습니다. 실제로 현업에서 요구하는 기술 요건이 그렇게 높지 않은 경우라 하더라도 꾸준히 자기계발을 하다보면 동일한 일이라 하더라도 좀 더 효율적이고 성능이 좋은 코드를 개발하실 수 있으리라 생각합니다. 그리고 그런 분들이 더 많아졌으면 하는 바램이 있습니다. 10만 인력 양성의 이야기는 초급 개발자 10만을 양성하는 것을 목표로 삼는 것은 아닌 것으로 알고 있습니다. 이처럼 현업에서 경험과 숙련도를 가진 개발자가 많아지려면 그들이 일할 수 있고 활동할 수 있는 분야가 많이 많이 만들어져야 한다고 생각하고 있습니다.

    김명신: 최근에 웹사이트 (http://www.egocube.pe.kr/)를 재오픈하신 것으로 알고 있어요. 저도 그 사이트를 통해서 WebAPI와 관련된 번역 문서를 접하였습니다. 번역문서 외에도 공을 드려 작성하신 문서들이 상당히 많던데, 웹사이트 폐쇄하셨다가 다시 오픈하신 이유가 있을지요?

    송원석: 이 웹사이트는 2002년 정도에 처음으로 개발하여 오픈하였습니다. 그 당시에는 개발자라면 홈페이지 하나 정도는 있어야 하지 않을까 하는 생각에 시작을 했습니다. 처음에는 정말 열심히 강좌도 많이 썼습니다. 그런데 어느 순간부터 사이트를 통해서 들어오는 질문의 수준이 너무 높아서 제가 답변을 드릴 수가 없더라고요. 그렇다 보니 불성실한 답변만 하고 그랬습니다. 그러다가 웹사이트를 폐쇄하였었습니다. 그런데 최근에 사이트를 다시 오픈한 이유는 이렇습니다. 먼저 간혹 예전에 제가 사이트에 올려두었던 글이나 기사들을 찾으시는 분들이 계시더라고요. 그런분들께 여기를 보시면 내용이 있습니다 라고 말할 수 있는 공간이 없어져서 조금 답답했습니다. 그리고 간혹 해외 토픽 같은 걸 보면 1500년대에 누가 쓴 편지가 발견 되었는데, 거기에 이러저러한 내용이 있었다 라는 뉴스가 나오기도 하잖아요. 게다가 저희도 저희 선배로부터 그 시대의 고민꺼리와 이야기꺼리들을 술자리를 통해서만 듣곤 하잖아요. 저는 제 사이트의 내용이 설사 나중에 아무런 기술적인 가치가 없어진다 하더라고 그것이 하나의 기록문화이며 유산이 될 수 있다라고 생각했습니다. 노력해서 좋은 글을 올리려고 하였지만 그 중 일부는 아마도 잘못된 부분이 있을지도 모르겠습니다. 하지만 그 조차도 충분히 이야기거리가 될 수 있으리라 봅니다. 그래서 사이트를 다시 오픈하였고, 최근에는 주로 주요 기술에 대한 원문을 한글로 옮겨서 올리고 있고, 간혹 제 경험과 기술에 대한 내용도 포스팅을 할 생각입니다.

    김명신: 최근에 개발관련 커뮤니티 활동들이 예전에 비해서 상당히 적어졌을 뿐더러, 그 명맥을 유지하고 있는 커뮤니티들도 많지 않은 것 같습니다. 혹시 개발 관련 커뮤니티가 이전처럼 성공적으로 활성화 될 수 있는 방법을 없을까요?

    송원석: 예전에 커뮤니티 활동이 활발 했던 이유는 지식을 공유하거나, 묻고 답할 수 있는 채널로커뮤니티가 상당히 좋은 장소이었기 때문이라고 생각합니다. 그런데 최근에는 구글이 그 자리를 거의 대체하고 있다는 느낌이 들어요. 체계적이지는 않을지 모르나 구글과 같은 검색엔진이 마치 사전과 같은 역할을 하기 때문에 커뮤니티의 활용도나 가치가 그 만큼 하락한 것으로 생각하고 있습니다. 이런 이유로 개발관련 커뮤니티가 많이 사라지기도 하고 활동이 저조할 수 밖에 없는 것 같습니다. 커뮤니티가 유지되려면 단순한 질문/답변 창구가 아닌 그 이상의 가치를 가지도록 재편되어야 할 겁니다. 실제로 오픈 커뮤니티 채널보다 그들만의 감성을 공유할 수 있는 폐쇄형 커뮤니티 채널들이 각광을 받는 이유도 그 같은 이유가 아닐까 생각이 듭니다. 실제로 제가 운영진으로 있던 http://taeyo.net 과 같은 커뮤니티도 전성기에 비해서는 활동이 많이 줄어든 것은 사실입니다. 하지만 이러한 변화에 대응하기 위해서 수년전부터 루키 프로그램 등을2500_7824_clip_image004_thumb_55AC0446_thumb_1BE29F68 만들어서 수개월간의 전문 교육/개발 과정을 진행하고 있습니다. 커뮤니티의 이러한 변화는 어쩌면 당연하고 또 반드시 변화하여야만 유지될 수 있다고 생각합니다.

    김명신: 장시간 인터뷰에 응해 주셔서 대단히 감사합니다. 이번 3월15일(토) 테크데이즈 미니 토요 세미나에 발표하실 “재사용 가능한 ASP.NET View 구성 요소 개발”에 많은 기대를 가지고 있습니다.

    송원석: 네, 기존에 웹폼에서 사용하던 서버측 컨트롤의 높은 재사용성을 MVC에서도 그대로 유지할 수 있는 다양한 기법에 대해서 소개드리고자 합니다. 이 방법을 통해서 많은 분들이 재사용 가능한 구성요소들을 만드시는데 도움이 되었으면 합니다.

    김명신: 감사합니다.

    테크데이즈 미니 토요세미나 안내

  • Korea Evangelist

    Windows Azure 의 계정마다 구독을 제공하고 계정과 구독을 통합 관리 하는 방법! - EA Portal

    • 0 Comments

    안녕하세요. 김대우입니다. 이번에 소개해 드릴 내용은 IT 부서의 고민이죠.

    여러개의 Windows Azure 계정(Account)들과 구독(Subscription)들을 통합 관리하는 방법입니다.

     

    최근 모바일 게임 퍼블리셔사와 5개의 팀으로 된 개발 스튜디오 기술책임자 분들과 미팅을 진행했습니다.

    퍼블리셔 : 모바일 게임 개발사에 Windows Azure 계정을 주고 이 계정에 구독을 생성해 주는 방법

    퍼블리셔사가 사용하는 Windows Azure 관리자 계정을 대여해 줄수도 없는 노릇.

     

    Windows Azure 도입과 적용을 확대해 나가면서 자주 받는 질문이기도 하지요.

     

    image

    예를 들면, 회사의 팀이나 부서 단위로 Azure를 사용하게 하고, 구독들을 통합 관리하고 싶을 경우이지요.

    이럴 때 사용하면 편리한 기능이 바로 Windows Azure EA Portal 입니다.

    EA Portal 링크 : https://ea.windowsazure.com/  (EA가입자만 접근 가능합니다.)

     

    EA Portal이 제공하는 기능들

    - Windows Azure 계정들 관리

    - 계정들에 대한 구독들 관리

    - EA 계약에 따라 할인 받은 금액의 가격표

    - Windows Azure 사용량 체크

    - 과다 사용시 알림(Overage Notification) 기능

    - 주기적(Periodic Usage Notifications) 사용량 알림

    등의 정보를 보실 수 있어요.

    만약, AWS에 익숙하시다면, Consolidated Billing 과 유사합니다.

     

    Windows Azure EA 가입에 대한 추가 정보

    EA(Enterprise Agreement)로 Azure를 사용하시면(지불 계약) Windows Azure EA Portal을 사용 가능하고, 이 EA Portal에서 위의 관리를 할 수 있습니다.

    EA 계약은 적은 금액부터 선택 가능하고, 금액에 따라 종량제나 선불제보다 훨씬 더 많은 할인을 받을 수 있다고 하네요.

    Windows Azure EA 계약 관련 금액 문의는 마이크로소프트 영업 담당자나 Microsoft 총판, 리셀러에 연락 하라고 합니다.

    많은 도움 되시길 바랍니다. 감사합니다.

     

    엔터프라이즈에 대한 Windows Azure 라이선스

Page 5 of 122 (606 items) «34567»