0

.NET 응용 프로그램을 Azure에 배포하는 것과 관련된 모든 질문을 검토했지만 아직 이해해야 할 사항이 있습니다. Visual Studio 2010은 Azure에 기존 .NET 응용 프로그램을 게시하고 배포하기가 매우 쉽습니다. 모든 기능과 도구가 포함되어 있습니다.Azure에 SQL Server가 배포 된 .NET 응용 프로그램?

그러나 여전히 원래 .NET 응용 프로그램을 유지 관리하고 업데이트 할 수 있으며 필요한 경우 Azure 패키지에 대한 업데이트를 릴리스 할 수 있습니까? 공공 클라우드 솔루션 또는 현지 온 - 프레미스 .NET 솔루션 인 고객에게 2 가지 솔루션을 제공하는 수단으로 지속적으로이 작업을 수행하고자합니다.

추가 문제는 SQL 서버에서 .NET 응용 프로그램을 실행하고 응용 프로그램이 외부 웹 서비스와 상호 작용한다는 것입니다. 어느 정도 쉽게 Azure에 배치되었으며, ONCE OFF가 아닙니다.

EDIT : 위와 같은 작업을 수행 할 수 없다면 Azure에서 전체 Windows 2008 서버 이미지를 만들고 VM 역할을 만들 수 있다는 사실을 알게되었습니다. 누구든지 그것에 대해 충분히 알지 못해서 이것에 대한 의견이 있습니다. 이것이 내 문제의 가능한 해결책일까요?

답변

0

응용 프로그램이 그리 복잡하지 않은 경우 Windows Azure + SQL Azure 및 로컬 서버 + SQL 서버에 동일한 코드를 사용할 수 있습니다. 로컬 서버에서 실행하는 Windows Azure 어셈블리를 추가해도 괜찮 으면 웹 응용 프로그램이라고 가정 해 보겠습니다.

sql azure/sql 서버에 대해서는 올바른 서버에 코드 링크가 가능하도록 구성에서 연결 문자열을 변경해야한다고 생각합니다.

아마도 하늘과 지방에서 모두 수행하려면 추가 작업이 필요합니다. 구성에 따라 BLOB 또는 로컬 디스크에서 파일을 읽고 쓸 수있는 파일 시스템 인터페이스를 제공해야 할 수도 있습니다. 따라서 비즈니스 코드에서 파일 문제를 처리 할 위치와 방법을 신경 쓰지 않아도됩니다. 어쩌면 web.config 또는 cscfg 파일에서 설정을 읽을 수있는 구성 인터페이스가 필요할 수도 있습니다. 그러나 모든 구성을 데이터베이스에 넣으면 더 좋을 것입니다.

기본적으로 하늘과 지방 모두에서 하나의 코드베이스를 사용하는 것은 불가능하다고 생각하지 않습니다. 나는 하늘과 관련된 작업을 분리하기 위해 몇 가지 인터페이스를 도입하여 이러한 방식으로 프로젝트를 수행했습니다. 하늘빛과 지역적으로 다른 모든 것을 구성/주사 할 수 있는지 확인하십시오.

HTH 나는이 느낌

+0

고맙습니다 - 매우 도움이됩니다. .NET에서 Azure 에뮬레이터에서 솔루션을 실행할 수있는 것처럼 Azure 배포를 만들었 으면 IIS에서 실행할 수 있습니다. 이게 내가 쉽게 바꿀 수있는거야? 아십니까? – Gotts

+0

웹 역할 인 경우 시작 프로젝트를 웹 프로젝트 (푸른 프로젝트가 아님)로 설정할 수 있습니다. IIS 또는 dev 호스트에서 정상적인 ASP.NET 응용 프로그램을 사용하는 것처럼 실행됩니다 . 그러나 프로젝트가 하늘, ​​예를 들어 스토리지, 지역 자원 또는 푸른 하늘 같은 곳에서 무언가를 사용한다면 실패 할 것입니다. 이것이 내가 분리 할 인터페이스를 사용하는 것이 좋을 것이라고 언급 한 이유입니다. 그러나 푸른 개발 에뮬레이터에서 실행해야하는 것은 작업자 역할입니다. –

0

원하는대로 Azure에 배포 할 수 있습니다. 이를 처리하는 가장 좋은 방법은 스테이징에 배포 한 다음 포털에서 VIP 스왑을 실행하고 실행하는 것입니다. 그런 다음 Production에서 새 패키지를 실행하고 Staging에서 실행중인 이전 패키지를 중지/삭제할 수 있습니다.

Azure의 SQL Server의 경우 SQL Azure를 사용하거나 Azure Connect를 사용하여 온 - 프레미엄으로 실행되는 SQL Server와 통신해야합니다. 또는 서비스 버스를 사용할 수도 있습니다.

+0

하지만 .net 응용 프로그램을 동시에 유지 관리하고 Azure로 업데이트를 푸시 할 수 있습니까? 그리고 문제는 내가 데이터베이스와 똑같이하고 싶다는 것입니다. 즉, 저의 .app이 SQL Azure와 통신해야하는 동안 .net app이 SQL 서버와 통신해야합니다. – Gotts

0

이 당신의 진짜 질문은 :

그러나 나는 여전히 푸른 패키지에 다음 필요한 경우 릴리스 업데이트를 유지하고 내 원래 .NET 응용 프로그램을 업데이트 할 수 있어요 ? 공공 클라우드 솔루션 또는 로컬 온 - 프레미스 .NET 솔루션 인 의 두 가지 솔루션을 고객에게 제공하기 위해 지속적으로이 작업을 수행하고 싶습니다.

그리고 이것은 하늘빛 창에 국한되지 않습니다. 원하는 것은 소스 컨트롤입니다. TFS와 같은 것을 사용하여 동일한 코드의 다른 복사본을 만들 수 있습니다. 그런 다음 버전 기록이있는 두 프로젝트의 복사본을 가질 수 있습니다. 그래서 MANY 소스 컨트롤을 사용할 때 더 많은 이점이 있습니다. 작업하는 모든 프로젝트에서 소스 컨트롤을 사용하는 것이 좋습니다.

+0

나는 소스 컨트롤이 중요하며 프로젝트에서이 컨트롤을 사용한다는 것에 동의한다. 하지만 요점은 .NET과 Azure 모두를위한 배포 패키지로 한 프로젝트를 유지하고 싶다는 것입니다. 소스 코드를 망칠 필요가 없습니다. 나는 .NET 전문가가 이것이 가능하다면 알려줄 것이며, 이것이 다른 두 데이터베이스 (Azure와 SQL 서버)에 어떻게 영향을 미치는지 또한 알려주기 바란다. 감사 – Gotts

관련 문제