어디 클라우드 컴퓨팅 응용 프로그램을 개발 하려면?

출처: 인터넷
작성자: 사용자

클라우드 컴퓨팅 여전히 2009 년 2008 년, 그것의 열을 계속 하 고 (이 하 클라우드 응용 프로그램 이라고 함)에서 실행 되는 응용 프로그램이 점점 더 될 수 밖에 있을 것 이라고 분명히 고려 하거나 클라우드 응용 프로그램의 개발에 참여 하는 개발자의 증가 예측 하기 어렵지 않다.

클라우드 컴퓨팅 응용 프로그램 및 서비스에 대 한 액세스 종종 그들의 자신의 서버에서 실행 되는 제 3 자에 의해 제공 됩니다 인터넷은의 본질. 클라우드 개발자, 클라우드 인프라 문제에 대 한 우려 없이 응용 프로그램을 배포 하는 동안 모드, 컴퓨팅에 새로운 문제점이 있다, 익숙한 방법으로, 응용 프로그램의 상태 비저장 특성 및 다른 개발 프레임 워크를 채택 하는 필요에서 데이터베이스를 호출 하는 개발자의 무 능력 등.

상태 비저장 응용 프로그램 및 서버 가동 중지 시간

"클라우드 응용 프로그램 개발에 가장 큰 도전이 이다 소프트웨어 조정 하 고 응용 프로그램의 요구에 맞게 하는 데 필요한 리소스를 제공 하는 일을 할 수 있어야 합니다." "다행히도, 클라우드 플랫폼에서 제공 하는 API의 도움으로, 클라우드 응용 프로그램의 개발자에서에서 적용할 수 있습니다 더 많은 자원에 대 한 구름의 공급자," 터 커, Sun 클라우드 컴퓨팅의 cto 인 루 말했다.

개발자 또한 중복의 디자인을 만들기 위해 클라우드에서 서버는 그냥 일반 서버, 가능성이 다는 것을 인식 했다 아 미타 Srivistava, 부사장의 마이크로소프트의 Azure 클라우드 플랫폼, "있다 그 서버 잘못 될 것 이다, 그래서 당신은 중복 클라우드 응용 프로그램을 개발할 때 고려해 야 할 좋은 기회." "

클라우드 응용 프로그램을 개발 해야 합니다 또한 고려 웹 응용 프로그램의 상태 비저장 특성 (클라이언트와 서버 측의 세부 사항을 저장 하지 않아도 상태 즉, 모든 요청 역사는 편집기를 이해 하지 않고도 현재 요청을 처리할 서버 유일한 요구 참고, Srivistava 말했다, "만약 프로그램의 상태 정보를 보존 실행 하는 동안 프로그램 확실히 잘못 것입니다. 클라우드 컴퓨팅은 뭔가가 잘못, 그것을 종료 하 고 다른 프로그램을 시작 합니다 하의 패턴입니다. 이 각 응용 프로그램은 상대적으로 독립적으로 실행, 즉 국가 독립을 보장 하는 경우 얻을 수 있습니다. "

Srivistava 추가, 예를 들어 구름에 없는 로컬 디스크에 등록, 그리고 있다 상태 비저장 응용 프로그램에서 이러한 매개 변수는 캡슐화 되 고 호출의 매개 변수를 설명 합니다.

일 터 커 경고: "Stateless 보장 응용 프로그램의 단순 하지만 몇 가지 상태 정보, 로그온에서 사용자를 유지 하기 위해 사용자의 정보를 유지 해야 한다는 점 등 정말 재미 있고 유용한 응용 프로그램을 개발 하는 데 걸리는 그는 왜 우리는 여전히 필요 데이터베이스 또는 다른 상태를 저장 합니다. 그러나 ", 웹 프런트 엔드 등 일부 클라우드 응용 프로그램 필요 동적으로 조정 해야 상태 비저장 되어야 하는 트래픽 금액에 따라."

클라우드 응용 프로그램의 또 다른 기능은 응용 프로그램의 다른 부분 구름의 다른 영역에 별도로 실행할 수 있습니다. 예를 들어 응용 프로그램의 프레 젠 테이 션 레이어 수 있습니다 페이스 북에서 실행 그리고 그것의 저장 부분 아마존의 탄력적인 스토리지 서비스 (S3)에서 실행 응용 프로그램의 논리적 부분 다른 완전히 다른 장소에서 실행 될 수 있습니다.

"이전 프로그래머에 의해 개발 된 프로그램은 그들의 자신의 서버에서 실행. "특히 클라우드 응용 프로그램의 대규모 자연, 뿐만 아니라 많은 사용자의 컴퓨팅 리소스의 분산된 분포를 고려 하는 클라우드 응용 프로그램을 개발 하는 때 시스템의 아키텍처에 재검토 해야 합니다 즉" 터 커는 말했다. "

터 커 추가: "생각 하지 않습니다 클라우드 응용 프로그램 어떻게 신비." 사실, 신중 하 게 설계 하 고 계획 하는 확장 가능한 클라우드 응용 프로그램을 개발 하기 위해 속임수가입니다. "

그러나, 클라우드 플랫폼 약간의 도움으로 우리를 제공할 수 있습니다. 경우에 따라 Google 응용 프로그램 엔진을 사용 하 여 특정 응용 프로그램을 개발 하는 프로그램 개발자의 고려 사항 없이 자연스럽 게 확장 됩니다. 가끔 우리는 응용 프로그램에 확장성을 제공 하는 데 사용할 수 있는 몇 가지 디자인 패턴을 사용할 수 있습니다. 예를 들어 아마존 탄력 있는 계산 구름 (EC2)의 여러 가용성 영역이 여기에 여러 위치에 응용 프로그램을 배포 하는 개발자 수 있습니다.

"이전에 큰 회사만 할 수 있는. 케이 Kinton, 회사에 대 한 대변인은 말했다. EC2는 라는 탄력 IP, 인터넷 주소의 지도 설정할 수 있습니다 신속 하 게, 유효한 인스턴스를 실패 한 응용 프로그램 인스턴스를 보낼 준비가 된 요청을 전송 하는 기능이 있다.

데이터베이스의 종류

구름에서 추상 및 상태 비저장 응용 프로그램은 데이터베이스에 액세스할 때 동등 하 게 유용 합니다. "는 예를 들어 Azure 프로그래머 개발자를 표준 관계형 데이터베이스에 액세스 하는 완전히 다른 방법을 제공 합니다. "푸른 스토리지 엔진 사용 하지 않으므로 관계형 데이터베이스 응용 프로그램을 개발 하는 데 사용 하는 방법의 많은 클라우드 응용 프로그램 개발에서 작동 하지 않습니다" 벤 데, 벤자민 날 컨설팅 회사의 대통령 말했다. "

그는 또한 저장된 프로시저는 관계형 데이터베이스에 관계형 데이터베이스 쿼리 논리는 가까운 실제 데이터 위치 및 프로그래머가 알 수 정확히 데이터는 존재 하는 어떤 장치를 설명 하기 위해 예를 들어 고 푸른 구름에 전제 더 이상 존재 하지.

"거기는 데이터베이스에 액세스 하는 경우 클라우드 응용 프로그램 문제는 읽고 있는 데이터베이스가 지정된 된 위치 또는 데이터 센터 또는 지정 된 장치를" 날 말한다, "궁극적으로 가장 기본적인 SQL 쿼리 문을 사용할 수 있습니다 그리고 많은 저장된 프로시저를 사용할 수 있기 때문에 그들은 밀접 하 게 관련 데이터베이스의 특정 형식에. "

또한, 하루 추가, Azure의 저장소 엔진 이므로 매우 마이크로소프트 계획에 클라우드 버전의 SQL Server (SQL 데이터 서비스)에서 다른 개발자가 사용 하는 데이터베이스 엔진을 알아야. 예를 들어 Azure 데이터, blob 형식으로 1MB의 파일을 저장 하 고 테이블에는 파일을 저장 하는 SQL Server.

그것은 분명 한 차이점은 사이 클라우드 애플리케이션 개발 및 일반적인 응용 프로그램 데이터베이스에 액세스할 때 그냥 azure 하지만 그것은 또한 Google 응용 프로그램 엔진에 똑같은 문제가 있다.

"Google 응용 프로그램 엔진 뿐만 아니라 실제 실제 하드웨어를 추상화 하지만 또한 장치에 대 한 모든 개념을 추상화" Pete Koomen, Google 응용 프로그램 엔진 제품 관리자 말했다. "그러면 그 개발자는 google 코드를 업로드, Google 별도로 관리할 수 코드는 데이터베이스에서." "Google이이 프로세스의 많은 자동화, 때문에 개발자가 꽤 우리 전통적인 SQL 모델을 사용 하는 규칙에서 다른 특정 규칙 준수 해야 합니다." "

애플 리 케이 션 엔진을 사용 하는 경우 개발자가 Google의 큰 테이블 (큰 Talbe)에 긴 기간에 대 한 데이터를 저장 합니다. "큰 테이블 SQL 데이터베이스는 없습니다. 우리는 SQL 데이터베이스 대신 큰 테이블을 사용 하는 이유는 SQL 데이터베이스는 매우 어려운 여러 서버에서 데이터베이스를 실행 하 게 조인 기능 등 많은 기능을 지원 합니다 때문입니다. "

"우리의 시스템 우리가 사용 하 여 클라우드 응용 프로그램을 개발할 때 우리 프로그래밍 모델을 제공 하 고 개발자는 단일 저장된 프로시저에서 여러 위치에 데이터를 저장 하는 때부터, 예를 들어 어떤 틀에 얽매이지 않는 접근을 프로그래머를 권장." "이것을 하기의 이점은 응용 프로그램을 쿼리 실행에 매우 효율적 이다" 고 말했다.

Koomen는 클라우드 환경에서 관계형 데이터베이스를 사용 하 여 반대 된다. "우리는 관계형 데이터베이스는 매우 많은 양의 트래픽 관리 하기 매우 어려운 고 프로그래머는 다양 한 높은 트래픽 문제를 해결 하는 노력 많은 시간을 바칠 필요가 발견," 그는 말했다. "

변화에 익숙한 해야 합니다.

컨설팅 회사 모델 통계 Salesforce.com과 다른 플랫폼에서 클라우드 응용 프로그램을 배포 하는 고객을 돕고 있다. 그들은 그 발견 클라우드 응용 프로그램 개발 및 B/s 응용 프로그램 개발의 주요 차이 "응용 프로그램에서 변화 훨씬 더 빨리." 존 반스, CTO 모델 통계, 말했다, "예, salesforce.com 년, 몇 가지 새로운 버전을 각각의 새 버전은 새로운 특징 및 기능을 사용 하 여 가치가 있는 것." "

"클라우드 응용 프로그램의 개발자로 서 당신은 필요가 기술적으로 클라우드 플랫폼 일치, 기술 블로그를 많이에 집중 하 고 일부 웹 세미나에 적극적으로 참여 하 는" 반 즈 나왔다. "

개발자 또한 최종 일관성 (결과적인 일관성), 등의 다양 한 디자인 패턴을 이해 해야 하 고 최종 일관성은 분산된 트랜잭션 등 분산된 공유 메모리 병렬 프로그래밍에 대 한 일관성 있는 모델. 마지막 일관성, 시간이 더 긴 기간에 업데이트 되지 경우 모든 업데이트는 전파 시스템 내에서, 궁극적으로 데이터의 모든 복사본 동일한-편집기 노트는 확인을 의미 합니다. 이 디자인 패턴에 프로그램 데이터를 변경 하는 경우 "이 디자인 패턴의 결과 데이터베이스에서 최신 값을 꺼낼 수 있다는" 데이터베이스에 반응 하는 몇 밀리초 걸릴 수 있습니다 반 즈 말했다. 프로그래머는 다양 한 프로그래밍 스타일과 클라우드 응용 프로그램 개발. "

시스템 관리 된다 간단한

프로그래머가 아니에요 구름 그냥 문제가, 발생 하지만 클라우드 환경에서 가지 더 쉽게.

"예:는 클라우드 제공 웹 서비스를 사용 하 여 조립에 대 한 응용 프로그램을 상대적으로 쉽게 개발 플랫폼으로 클라우드 돌렸다 느슨하게 결합 된 접근" 반 즈 말했다. "

이렇게 하면 개발자가 혁신 및 몇 가지 기본 및 보조 작업 (예: 운영 체제 및 하드웨어 구성에 대 한 우려)로 이전에 시간을 낭비 하는 대신 비즈니스 논리에 집중할 수 있습니다. 예를 들어 Salesforce.com의 클라우드 개발 플랫폼 Force.com 보안, 워크플로, 시스템 관리 및 부하 분산에 대 한 기능을 제공합니다.

고객은 처음 마이크로소프트의에 대학 학생 관리 시스템을 개발 하기로 하는 통계 모델. 플랫폼, 그물 그리고 나중 발견는 force.com에서 개발, 개발 비용만 해야 원래의 1/3 ~ 1 / 4, force.com은 많은 기존 기능 모듈 사용할 수 있기 때문에.

계정 가능한 마이그레이션에

어떤 경우에, 클라우드 애플리케이션 개발 및 전통적인 소프트웨어 패키지의 차이 개발자 마음에 계속 해야 합니다. 반 즈 클라우드 개발자, 거기는 또한 주목할 만한 포인트는 클라우드 응용 프로그램의 개발 다른 구름 다른 가격 설정 방법을 알고 있어야 했다.

아담 그로스, Salesforce.com 개발자 마케팅 담당 부사장은 또한 개발자에 게 그들이 어떤 기능 및 그 미래 이주 준비 하기로 하는 플랫폼에서 사용할 수 있습니다 알아야 할 클라우드 플랫폼에서 응용 프로그램을 개발할 준비가 생각나 게. 개발자는 클라우드 응용 프로그램 개발의 첫 번째 날에이 계정에 걸릴 해야 합니다 및 비-독점 기술 및 원활한 마이그레이션을이 플랫폼에서 다른 클라우드 플랫폼으로 1 일을 위해 클라우드 플랫폼에서 기능을 선택 하려고 한다. "

Koomen 또한, 동의 말하는: "구글 인기 있는 Python 언어와 몇 가지 방법으로 응용 프로그램의 이식성을 보장 하는 장 고 웹 프레임 워크를 지원 합니다." 뿐만 아니라, Google은 이제 개발 오픈 소스 업로드 하 고 쉽게 엔진 응용 프로그램에 데이터를 업로드 하거나 엔진 응용 프로그램에서에서 데이터를 다운로드 하는 사용자를 허용 하는 도구를 다운로드. "

링크

Windows Azure는 올해 말까지 공공 갈 것으로 예상

Azure에서 마이크로소프트의 개발 기대와 큰 차이, 마이크로소프트는 그것에 명확 하 게 작동 됩니다. 3 월 초, 마이크로소프트에서 뉴스 Azure 올해 말에 출시 될 것입니다.

스티븐 마틴, 마이크로소프트 개발자 플랫폼 제품 관리의 고위 관리자 확인 뉴스, 가격에 대 한 자세한 내용은 분명 가까운 미래에 될 것으로 예상 된다 라고. 그는 마이크로소프트 SQL 데이터 서비스는 관계형 데이터베이스에 대 한 지원을 추가 하는 기능을 포함 하 여 3 월에서 믹스 웹 개발자 컨퍼런스에서 azure의 새로운 기능 중 일부를 공개할 것 이다 고 밝혔다.

"관계형 데이터베이스는 많은 개발자 들이 매우 잘 알고 하는 기술," 마틴은 말한다. "많은 사람들이 관계형 데이터베이스 기술에 대 한 액세스 권한이 그리고 우리 사람들이 지속적인 기술 유지 하고자 하는 의견을 듣고." 한쪽에서 이것은 또한 미래의 응용 프로그램은 우리가 생각 하는 것 보다 더 복잡 한 수 있습니다 반영. "

현재, Azure는 여전히 매우 몇 사용자 경우, 꽉 테스트 하지만 마이크로소프트 개발자와 기업 azure를 사용할 수 있습니다 일반적인 시나리오 풍부 하 게 더 이다. 지난가, 마이크로소프트는 또한 여러 사용자 경우 출판: Azure, Azure에서 COBOL 응용 프로그램을 실행 하는 소프트웨어에는 ERP 시스템 개발 및 Azure에 제품 회수 시스템 개발.

마틴 말한다 개발자가 지금 그들은 azure, 그들의 원래 애플 리 케이 션을 이동 하려는 경우 Microsoft 그 표준 Windows 서버 애플 리 케이 션, 구름에서 직접 실행을 얻을 위해 노력 하 고 이러한 프로그램을 재 작 성 해야 합니다. 마찬가지로 오늘날의 푸른 애플 리 케이 션 윈도우 서버에서 원활 하 게 실행할 수 있습니다.

"오늘, Azure에 개발 하는 응용 프로그램 로컬 원활 하 게 실행할 수 있습니다 하지만 반전에." 그는 말했다 Azure에 더 쉽게 마이그레이션된 응용 프로그램 웹 서비스를 포함 하 고. NET 응용 프로그램입니다.

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.