Cloud Computing2010. 5. 11. 16:49
 

    클라우드 기반 분산 애플리케이션 개발을 위한 핵심 키워드

    『분산과 하이브리드 그리고 AppFabric 포스팅 개요

     

    브레인스토밍

     

    동안 Microsoft Azure 공부하고 사용해 개발자로써 느낀

     

    • 내가 개발하던 방법 그대로 개발 하면 된다.
      • Microsoft 저력이 느껴지는 부분.!
      • Visual Studio 에서 "Publish" 해주고 Azure 포탈에서 "Deploy" 해주면 되는 것이다.

     

    • 새로운 컴퓨터가 생긴
      • .. 특별한 것이 없네..
      • 이전대로 개발하고 배포만 Azure 하면 되잖아
      • 별로 볼게 없네.. 재미없다.

    • 이게 오산 이었던
      • 클라우드 환경에서 작동하는 애플리케이션(App) 탑재해야 중요한 개념이 있으니
      • 그건 바로 "분산"

      • 그리고 Azure에는 분산 애플리케이션(App) 개발을 위한 Infrastructure 있으니

     

    • Microsoft IaaS, PaaS, AaaS 모든 클라우드 컴퓨팅 영역을 타겟으로 하고 있다.
      • 지금까지는 IaaS PaaS 구조를 살펴 보는데 주력 했다면
      • 앞으로는 Application Infrastructure Key 플레이어인 Windows Azure Platform AppFabric 통해
      • 클라우드 컴퓨팅 환경에서 어떻게 분산 애플리케이션(App) 개발 하면 되는지 알아보겠다.
      • 주의! Windows Server AppFabric Windows Azure Platform AppFabric 다른 것이다.

     

    • 발표 사람들이 항상 궁금해 하던
      • 하이브리드 클라우드 환경이 가능한지 궁금해 했다.
        • AppFabric 이용해 Public Cloud Private Cloud 또는 On-premise 하나의 분산 시스템으로 엮는 예제를 보여준다.

     

    클라우드 컴퓨팅의 의미를 다시 한번 상기해보자

    • 지금까지 하드웨어 제공에 초점을 맞춰 이해하고 설명해 왔다.
      • 무한한 성능을 가진 새로운 컴퓨터
    • 그런데 실제로 주목해야 것은 이런 클라우드 환경에서 앞으로 어떤 구조로 애플리케이션을 만들어야 하는가 이다.
    • 클라우드 컴퓨팅 환경에서 애플리케이션 개발에 초점을 맞춘다.
      • 핵심 키워드는 "분산"

     

    클라우드 환경에서의 애플리케이션 구성

    • 분산 애플리케이션을 결합해서 하나의 시스템을 제공한다.
    • 분산 애플리케이션이 하나의 시스템으로 구성 되고 작동 하기 위해 필요한 것들
      • Windows Azure 에서는 AppFabric 그것이다.
        • Service Bus
        • Access Control

     

    AppFabric 일까? Fabric 무엇을 의미 할까?

    • 인터넷으로 확장 Azure 위한 애플리케이션 분산 핵심 기능 AppFabric
    • Fabric 은 다수의 노드가 링크로 연결 되어 하나의 기능을 갖게 되는 것이다.

    • 원론적으로
      • Fabric 직조 물인데 직조 물은 굉장히 많은 연결점과 연결점을 잇는 줄로 구성 된다. 이런 다수 개의 연결점과 줄들이 모여 천이 되는 처럼 분산 애플리케이션(App)들이 네트워크로 연결 되어 하나의 시스템을 이루고 서비스를 제공할 있게 되는 것을 표현 하는 단어 같다.

     

    • 때문에 Fabric 이라는 단어는 컴퓨팅에서 분산, Distributed 자연스럽게 내포한 단어임이 틀림없다.
    • Fabric 서버 장비, 네트워크 장비에도 사용할 있다.
      • 예로 Routing Fabric, Server Fabric 다양하게 남발(?) 되고 있다.
      • 기저에는 "분산" 이라는 의미가 있다는 !
        • , 다수의 노드와 링크로 연결 되어 시스템을 구성하고 있다고 있다.

    • Application + Fabric 이라는 것은 분산 애플리케이션(App) 위한 기반이라고 생각 있다.
      • 다른 관점에서 살펴 보면 앞으로 클라우드 컴퓨팅 환경에서 작동하는 애플리케이션(App) 분산 시스템 구성을 기반으로 만들어야 한다는 것을 의미한다.
      • Window Azure 에서는 Windows Azure Platform AppFabric 애플리케이션(App) 분산과 통합을 위한 Key 플레이어이다.
      • 인터넷 범위의 애플리케이션(App) 분산과 통합임을 강조 해야 한다.

     

    Windows Azure Platform AppFabric?

    • 애플리케이션(App) 인터넷 범위로 분산 시켜 확장 시키는 방법과 분산 애플리케이션(App) 간에 상호 작용 있는 방법을 제공해 주는 것이다.
      • 범위
        • 인터넷 범위의 분산 시스템
      • 대상
        • 클라우드 애플리케이션(App)
        • On-premise 서비스들
        • 기종 플랫폼에서 만들어진 서비스들
      • 목표
        • 애플리케이션(App) 분산 시켜 확장하는 기반, 분산 애플리케이션(App)간에 상호 작용 기반
        • Private Cloud Public Cloud 간의 연동 기반
        • 표준 프로토콜을 지원함으로써 다른 플랫폼 기반의 ESB 통합
        • 하이브리드 클라우드 컴퓨팅을 위한 핵심 컴포넌트

     

    미리 보면 좋은 것들 추천

    • Broker
      • 분산 시스템을 위한 기본 패턴
      • POSA1 브로커 패턴을 공부하는 것을 추천한다
    • ESB (Enterprise Service Bus)
      • 분산 시스템을 위한 미들웨어
    • WCF (Windows Communication Foundation)
      • WCF 대한 선행 지식이 있으면 AppFabric 사용하기 쉬울 것이다.
      • AppFabric 예전 이름은 .NET Services 였다.
        • .NET 기반의 분산된 서비스들을 연결하고 통합한다는 의미 아니었을까?
      • 그런데 AppFabric 으로 바뀐 것은 표준도 지원 함을 강조하기 위함이 아니었을지..
        • 그러나 표준으로 AppFabric 사용하는 것은 화이트페이퍼를 보건데 아직 WCF 보다 아주 많이 수월하지 않다.
          • 앞으로도.. 당연히 Microsoft 플랫폼 기반에서 WCF 사용하는 것이 수월하겠지?

     

    궁금한

    • Dynamic Datacenter 에서 AppFabric 비슷한 기능을 하게 되는 것은?
      • Windows Server Fabric?
    • AppFabric 사용해서 샘플 애플리케이션(App) 만들어 봤는데.. 반응성이 상당히 느리더라.
      • 현재 사용자들은 만족하고 있는가?
    • App Service 단어 사용?
      • 어떤 문맥에 어떻게 사용해야 할지.. 지금은 대충 혼합해서 쓰고 있음..

     

     

    포스팅 순서

    1. 클라우드 기반 애플리케이션 개발을 위한 핵심 키워드 "분산"
    1. 분산 클라우드 컴퓨팅을 위한 "Windows Azure Platform AppFabric"
    1. Windows Azure Platform AppFabric 개요
    1. Service Bus Overview
    1. Service Bus 예제
    1. Service Bus 제대로 보기
    1. Access Control Overview
    1. Access Control 예제
    1. Access Control 제대로 보기
    1. Wrap up

     

     

Posted by TedAhn