탐구 클라우드 컴퓨팅 및 다양 한 클라우드 플랫폼 아마존, 구글, Microsoft®, Salesforce.com 등 주요 공급 업체에 의해 제공. 1th이 3-부분 시리즈의 부분에서 우리 JMS 큐를 사용 하 여 엔터프라이즈 응용 프로그램의 일반적인 예를 주지 하 고 무엇 봐 클라우드에서이 JMS 인프라의 일부를 사용 하 여 포함 될 것 이다.
소개
년 동안, 우리는 구름 (특히 적란운)를 사용 하 여을 나타내는 네트워크 다이어그램에서 인터넷에 익숙한 되고있다. 구름 이미지는 종종 뭔가 고정 하지 않습니다, 하지만 다이어그램에 포함 되어야 합니다을 나타내는 데 사용 됩니다. 네트워크 라인의 유일한 기능은 인터넷을 통해 데이터를 표현 하기 위해 클라우드를 통해 이다. 보안 중심 차트에 구름을 통해이 라인 또한 연결이 안전 표시 옆에 자물쇠를 할 수 있습니다.
일반적인 약어
ajax: 비동기 자바 스크립트 + XML API: 응용 프로그램 프로그래밍 인터페이스 (응용 프로그램 프로그래밍 인터페이스) HTML: 하이퍼텍스트 마크업 언어 (하이퍼텍스트 마크업 L Anguage) HTTP: 하이퍼 텍스트 전송 프로토콜 (하이퍼텍스트 전송 프로토콜) jms:java™ 메시징 서비스 (java™ 서비스 메시지) 나머지: 표현 상태 전송 (표현 들 문자 전송) XML: 확장 마크업 언어 (확장 마크업 언어)
이제 클라우드 네트워크 다이어그램에 중요 한 역할을 담당해 왔습니다. 응용 프로그램 저장소, 큐, 호스트 응용 프로그램 등의 부가가치를 호출 하는 클라우드를 사용할 수 있습니다. 자체 응용 프로그램에서 호스팅할 수 있습니다. 이제 라인 더 이상 단순히 구름을 통과 하지만 클라우드로 연결 이며 응용 프로그램의 일환으로 클라우드를 사용 하 여. 이 클라우드 보다 실용적인 의미를 제공합니다.
이 3-부분 시리즈에서 우리 구름의 모든 측면을 탐험 합니다 컴퓨팅. 클라우드 컴퓨팅 공급자는 다른 서비스를 제공 하 고 다른 방향에 초점을 맞추고 각 공급자와 상대적으로 작은. 프로그래밍 언어 파이썬에서 C에 변화 # 자바 또는 다른 고유 언어. 클라우드로 인터페이스는 또한 다른, 그리고 경량 나머지 인터페이스는 선호, 그것은 지금에서 제공 하지 모든 클라우드 공급자.
이 시리즈의 1 부분에서 우리는 하이브리드 등 향상 된 기능에 대 한 클라우드 컴퓨팅 서비스와 인프라를 사용 하는 전용된 응용 프로그램에 집중할 것 이다. 클라우드 컴퓨팅이 하이브리드 응용 프로그램을 공부 하 여의 유틸리티에 대해 자세히 알아보기 이 위해 기원과 현재 컴퓨팅 구름의 주요 공급자를 제공 하는 기능을 해야 합니다. 이 시리즈의 2 부분 부분에 설계 된이 하이브리드 응용 프로그램의 개발을 커버 것입니다 1th. 3 부이 솔루션으로 보안 및 관리 문제에 초점을 것입니다.
클라우드 컴퓨팅은?
IBM 클라우드 데이터와 서비스는 확장 가능한 데이터 센터에 위치한 신흥 컴퓨팅 패러다임으로 컴퓨팅 및 액세스할 수 인터넷에 연결 된 모든 장치를 정의 합니다. 그것은 (의 경우 아마존 탄력 있는 계산 구름-라고도 아마존 EC2) 상당한 확장성 응용 프로그램을 제공 하 고 자체 응용 프로그램을 호스팅할 수 있습니다.
클라우드 컴퓨팅의 모든 상황에 대 한 작동 하지 않습니다 하지만 구름은 서로 다른 시간에 다른 컴퓨팅 파워를 필요로 하는 조직에 매력적 이다. 조직의 요구 사항 처리 및 저장 기능에 대 한 일괄 매주 토요일 자정 처리 등도 있다면, 그것은 대부분의 시간에 대 한 유휴 데이터 센터를 사용 하는 대신 클라우드를 사용 하 여 의미가 있습니다.
클라우드 컴퓨팅은 또한 그냥 밖으로 시작 하는 회사를 위해 특히 좋다. 이 회사의 설립자 되지 않을 수 있습니다 익숙하지 않은 투자 자본가 의해 발생 하는 문제, 즉, "어떻게 당신의 기술 확장지 않습니다?" "클라우드 컴퓨팅은이 질문에 좋은 답변. 그러나,이 시리즈의 뒷부분에 나오는 섹션에서 볼 수 있는, 클라우드 컴퓨팅 또한 소유권, 보안 및 비용 문제를 제공 합니다.
구름의 형성
클라우드 전에 널리 사용 되는 컴퓨팅, 그리드 컴퓨팅, 유틸리티 컴퓨팅을 사용 하는 우리. 그리드 컴퓨팅 클라우드 컴퓨팅 클라우드 컴퓨팅 환경을 더 제어할 수 있는 동안 다른 컴퓨터 및 백엔드 시스템의 구성 그리드 컴퓨팅 환경을 주로 사이의 주요 차이점은 일반적으로 동일 합니다. 유틸리티 컴퓨팅 데이터 흐름 또는 응용 프로그램 사용 하 여 지불 하는 비즈니스 모델을 말합니다. "탄력" 성장 서비스에서의 개념은 너무 유행 그리고 사용 변경으로 용량 증가 (또는 감소) 능력은 구름의 중요 한 부분 컴퓨팅.
초기 2000 2000에서 구글과 아마존 독립적으로 개발 하지 자신의 클라우드 컴퓨팅 아키텍처 그들의 각각 사업을 실행. 둘 다 그들의 자신의 인프라 사용으로 개발자에 게 판매 될 수 있는 서비스는 발견이 인프라 개발 하는 데. 아마존은 더 그 플랫폼의 키 값을 완전히 믿고 어느 날 아마존 된다는 것 다시 그것의 온라인 소매 웹 사이트 처럼, 컴퓨팅 플랫폼에 대 한 유명한. 아마존의 플랫폼 서비스의 형태로 판매할 수 실현 (즉, 플랫폼 서비스를 paas로-및 소프트웨어 "SaaS와 같은 서비스"로). 그 결과, 아마존은 클라우드 컴퓨팅, 특히 결제 및 사용 모델의 상용화에 선구자로 서 종종 볼 수 있습니다.
클라우드 기반 컴퓨팅 환경, 아마존, 구글 등의 디자인에 몇 가지 전문 성공적인 공급 업체 있습니다. 이 인식, 구글, IBM과 몇몇 대학 형성 연구 클라우드 클라우드 컴퓨팅을 새로운 클라우드 컴퓨팅 기술 및 응용 프로그램 개발에 종사 하는 학생 들을 위한 클라우드 컴퓨팅 환경을 제공 하기. 비록 그 크기는 구글과 아마존의 인프라에 비해 수 없습니다, 프로젝트에 클라우드 서비스를 공부 하는 학생 들을 위한 좋은 환경을 제공 합니다. 이 프로젝트에서 결과 추가 개발 클라우드 컴퓨팅 같은 조건을 만듭니다 조직의 기초 전용된 클라우드를 만드는 데 도움이 됩니다.
하이브리드 모델이 나온다
그것은 모든 로컬 응용 프로그램을 삭제 하 고 구름만을 사용 하는 것이 좋습니다 또는, 반대로, 로컬 응용 프로그램, 그리고 가장 인기 있는 방법에 의존 하 여 구름을 무시 하는 구름과 함께에서 로컬 응용 프로그램을 사용 하는. 소위 하이브리드 모델입니다. 회사를 중요 한 응용 프로그램을 통해 제어를 유지 하면서 필요할 때 컴퓨팅 클라우드를 사용 하 여 수 있습니다. 예를 들어 많은 기업 나타났습니다 아마존의 심플 스토리지 서비스 (S3)를 사용 하 여 사진, 동영상 또는 문서를 저장 하는 경제적. 하이브리드 모델은 또한 증분 방법으로 도움이 됩니다.
대부분 또는 모든 응용 프로그램의 구름으로 설정 하는 것, 생각 하는 경우에 그것은 권장 하지 않습니다, 그것은 한 번에 이렇게 너무 위험 하기 때문에. 하이브리드 모델을 구름으로, 파일 저장 등 쉬운 것 들을 설정할 수 있습니다. 그런 다음 배포 모델을 사용 얻을 후 클라우드로 응용 프로그램의 더 중요 한 부분을 설정. 이것은이 시리즈를 사용 하는 방법입니다. 다음,이 응용 프로그램 인프라의 일부를 전송 하 여 혼합을 살펴보겠습니다.
하이브리드 응용 프로그램 설계
이 샘플 하이브리드 응용 프로그램 비동기 전자 메일 알림 시스템입니다. 워크플로 시스템에는 하위 시스템 수 있습니다. 새로운 동작은 한 헌신과 기다리는 승인, 전자 메일 메시지는 승인을 나 결정을 거부할 수 있는 주 서버에 전송 됩니다. 주문 충족 하는 시스템에이 시스템을 사용할 수 있습니다. 순서는 밖으로 배송 됩니다, 이메일 전송에서 순서의 관련 통지를 전송 됩니다. 다양 한 응용 프로그램에서에서이 시스템을 사용할 수 있는 상상 하기 어려운 일이 아니다. 전자 메일은 전자 메일을 생성 하는 비동기 메커니즘 등 사용 하는 경우를 만족 하는 효과적인 방법 이므로 본질적으로 비동기적입니다.
이미이 시스템 어딘가에 응용 프로그램에서 기본 응용 프로그램 및 시스템을 구현 하는 방법은 여러 가지 이지만 상대적으로 우아한 방법은 JMS를 사용 하는 가정 합니다. JMS 사양은 j2ee의 중요 한 부분입니다™ 기술 스택. 현재,이 표준에 대 한 많은 독점 또는 오픈 소스 구현이 있다. 다른 시스템 주기적으로 JMS 큐를 읽고 하 고 각 메시지에 대 한 전자 메일 알림을 생성 하는 동안 JMS 큐에 알림을 전송 시스템을 상상 하기 쉽습니다.
하이브리드 모델에 대 한 이동할 수 있습니다이 JMS 큐 클라우드로 먼저. 즉, 클라우드에서 실행 되는 서비스와 그것를 바꿀 수 있습니다. 이것은 어떤 종류의 서비스? 이 서비스와 상호 작용할 수 있도록 응용 프로그램를 어떻게 변경 합니까? 이 사용 하는 클라우드 플랫폼에 따라 다릅니다. 다음, 그들을 사용 하 여 구현 하거나이 예제와 같이 JMS 큐의 기능을 다시 사용 하는 방법과 다양 한 플랫폼에 살펴보겠습니다.
아마존 웹 서비스
상용 클라우드 컴퓨팅 1-본문으로, 아마존 개발자에 관심이 있는 성숙한 서비스의 범위를 제공 합니다. 아마존의 가장 잘 알려진 클라우드 서비스는 EC2 (엘라 스틱 클라우드 컴퓨팅) 서비스. 그것은 아마존의 인프라에서 실행할 수 있는 가상 머신 인스턴스 (Ami-아마존 기계 이미지 라고도 함)를 만들 수 있습니다. 일부는 EC2 호스팅 제공 업체의 서비스에 실제 컴퓨터를 사용 하 고 교통 요금 충전 보다는 기계를 충전 보다 가까이 말할 수 있다.
아마존의 S3 서비스는 그들의 스토리지 기능을 확장 하는 신생에 특히 매력적 이다는 온라인 스토리지 서비스가입니다. EC2 다른 아마존 클라우드 서비스를 추가 기능으로 사용할 수 있습니다. 즉, AMI, 또는 PHP를 실행 하는 Linux™ 컴퓨터의 데이터 저장소로 아마존 s 3를 사용할 수 있습니다. 데이터 흐름, S3 서비스의 성장? 또한 유연 하 게 확장 됩니다. Amazon의 SimpleDB는 신속 하 고 간단한 클라우드 기반 데이터베이스 인덱싱, 저장 및 액세스를 제공 하. 분명히, 그것은 모든 기능을 갖춘 관계형 데이터베이스 보다 훨씬 더 간단 패턴을 필요로 하지 않습니다 때문에, 그것은 자동으로 데이터를 색인 할 수 있다 하 고 스토리지 및 액세스에 대 한 Api를 제공 합니다.
아마존의 SQS (간단한 큐 서비스) 큐, JMS, 유사를 제공 하지만 RESTful 인터페이스를가지고. 아마존의 다른 클라우드 서비스, 또는 간단한 HTTP get 또는 POST와 연결할 수 있는 모든 응용 프로그램의 일환으로 SQS를 사용할 수도 있습니다. 이 하이브리드 애플리케이션에 JMS 큐에 좋은 대안 이다. 그것은 편리한 XML 인터페이스를 통해 액세스할 수 있습니다 하 고 기존 응용 프로그램으로 쉽게 통합 될 수 있습니다. SQS 이러한 하이브리드 응용 프로그램에 대 한 가장 간단한 선택이 될 수 있습니다.
많은 소프트웨어 제공 업체 아마존 e c 2의 활용 그들의 고객을 했습니다. 예를 들어, IBM과 아마존 IBM의 가장 인기 있는 기업 소프트웨어, db2 등의 많은 개발 공동®, informix®, 및 websphere® e c 2에.
구글
Google의 신속 하 고 정확한 검색을 위해 알려지고 많은 사용자를 위해 그것은 아서 C 클라크의 의견을 "충분히 고급 어떤 기술 든 지 아니다 마술에서 구별할 수." 최고의 구체화 이다 기술 변신 마법 현실, 때문에 Google 클라우드 컴퓨팅 플랫폼에 대 한 최고의 선택입니다. Google의 플랫폼에서 애플 리 케이 션을 실행의 장래성은 개발자를 위한 매우 흥미로운 이해할 수 있다.
Google 응용 프로그램 엔진, 구글을 조기에 구축 하는 기본 플랫폼에 따라 불리는 클라우드 컴퓨팅 플랫폼을 제공 합니다. 이 플랫폼 GFS (Google 파일 시스템) 및 Bigtable (GFS에 내장 데이터베이스 시스템)을 포함 합니다. 구글 엔진 응용 프로그램에에서 프로그래밍 Python을 사용합니다. 프로그래머는 파이썬에서 응용 프로그램을 작성 하 고 응용 프로그램 엔진 프레임 워크에 그들을 실행 합니다. Python 이외의 언어는 나중에 지원 됩니다. 개발 목적에 대 한 응용 프로그램 엔진 환경에 대 한 로컬 에뮬레이터를 다운로드할 수 있습니다. 응용 프로그램 엔진 사용 하는 무료 이며 하루 5 백만 페이지 뷰를 충족 하기 위해 충분 한 CPU 대역폭 및 스토리지의 MB까지 포함 됩니다.
Google 응용 프로그램 엔진 GFS와 memcache 구현에서 데이터 저장과 같은 유용한 몇 가지 인프라를 제공합니다. 그러나, 그것은 밖에 서-더-박스 큐 메커니즘을 제공 하지 않습니다. 그러나, 그런 순수한 파이썬 프로그래밍 환경, 응용 프로그램 엔진 위에 자신의 JMS 교체를 쉽게 만들 수 있습니다. 이 데이터 저장소는 혼합, 그리고 최소한의 파이썬 프로그래밍으로 당신의 큐에 대 한 RESTful 인터페이스에 내장 될 수 있습니다.
Microsoft Azure
당신이 기대 대로, Windows® 및. NET Windows Azure의 주요 특징은. Microsoft는 Visual studio로 작성 된 응용 프로그램에서 개발 환경 제공® 호스트에서 실행된 Windows Azure 환경 될 수 있습니다. Azure 플랫폼 인프라 지향 서비스 파일 저장 및 데이터 액세스에 대 한 뿐만 아니라 검색 및 연락처 관리 등 보다 전문적인된 서비스 등 많은 서비스를 제공합니다. 그것은 또한 인터넷 서비스 버스를 포함 한다. 엔터프라이즈 서비스 버스 (ESB) 디자인 패턴의 전형적인 Microsoft 구현입니다. ESB의 간단한 사용 중 메시지 큐, JSM 큐의 대 안으로 작동할 수 있다 이다. NET 서비스 버스 또는 개발자 친절 한입니다. 그것은 모두 RESTful 인터페이스 XML을 사용 하 여 가볍고 ws-모든 구현을 포함 하는 더 가볍고, SOAP 기반 인터페이스 지원 * 표준. 두 인터페이스는 기존 응용 프로그램 및 인터넷 서비스 버스 간의 상호 운용성의 용이성을 지원합니다.
Salesforce.com
Salesforce.com 통해 개발자 Salesforce.com 서비스 그들의 정점 개발 언어를 사용 하 여 액세스할 수 있는 모델을 제공 합니다. 세일즈 라는 정점 "세계의 첫 번째 프로그래밍 언어에." 주문형 주요 징후는 Apex 코드 세일즈 포스 닷컴의 force.com 클라우드 서비스에 의해 호스팅되는 해당 컨텍스트에서 실행 됩니다. 구문에서이 자바 또는 C# 언어 유사 합니다.
에이펙스 코드 Visualforce 레이어, 실제 사용자 인터페이스를 제공 하는 웹 페이지를 생성 하는 데 사용 됩니다. 그것은 또한 모델-뷰-컨트롤러 (MVC) 모델을 사용합니다. 이것은 매우 들어가 ASPX 페이지의 세대에 그물을 사용 하 여 C#. 이러한 visualforce 페이지는 HTML, Ajax (XMLHttpRequest 개체), 그리고 어도비 플렉스를 포함할 수 있습니다.
Visualforce 개발자를 Salesforce.com 웹 인터페이스에 다른 이체를 만들 수 있습니다. 이 회사는 Salesforce.com을 좋아하지만 그들에 게 기능을 추가 하려면 유용 합니다. 이 기능을 구축 하는 Salesforce.com을 필요 없이, Salesforce.com 사용자 Visualforce 페이지를 만들고 정점 코드로 Salesforce.com 백엔드에 쓰기 하 여 같은 목표를 달성 하자.
세일즈 포스를 편집 또는 저장과 같은 표준 루틴을 포함 하 여 세일즈 포스 데이터베이스에서 기본 데이터를 나타내는 페이지를 연결 하는 컨트롤러를 제공 합니다. Force.com 클라우드 큰 성공을 달성 했다. 뿐만 아니라 그것은 클라우드에서 응용 프로그램을 구축 하는 수단으로 개발자를 제공 하는가, 또한 사용자가 직접 출시 모델을 통해 이러한 응용 프로그램의 사용에 대 한 충전 사용할 수 있습니다. 그러나, 그것은 매우 전문화 된 구름입니다. 그것은 증분 방법에 매우 적합 합니다. 그것은 일반적으로 force.com 클라우드를 구축 해야 합니다.
결론
이 문서에서는, 우리 배운 다양 한 기능에 대 한 다른 클라우드 서비스 제공 업체, 우리에 게 가져올 수 있는 뿐만 어떻게 이러한 클라우드를 사용 하 여 JMS 큐와 하이브리드에 기존 응용 프로그램을 변환 하는 방법을 대체 하는 서비스 클라우드 응용 프로그램. 다음 두 기사에 우리이 하이브리드 모델의 응용 프로그램 및 클라우드 서비스를 구현 하는 방법을 볼 것 이다. 우리는 또한 보안 및 클라우드 관리에 영향을 미칠 수 있는 중요 한 문제를 봐 컴퓨팅.