Azure ile gerçek dünyada bulut uygulamaları oluşturma

, Mike te son, Rick Anderson, Tom Dykstra tarafından

Onarma projesini indirin veya E-kitabı indirin

Bu e-kitap, gerçek hayatta bulut çözümleri oluşturmaya yönelik desenler tabanlı bir yaklaşımda size yol gösterir. Desenler, geliştirme süreci ve mimari ve kodlama uygulamalarına de uygulanır.

İçerik Scott Guthrie tarafından geliştirilen ve 2013 Haziran 'da (bölüm1, Bölüm 2) ve Microsoft Tech Ed 2013 Avustralya 'da (Bölüm 1,bölüm 2), BT 'nin sunduğu bir sunuyu temel alır. Diğer pek çok kişi , video 'dan yazılı biçime geçiş yaparken içeriği güncelleştirmiş ve genişletmektedir.

Hedef Kitle

Buluta yönelik bir geçiş yapmayı düşündüğünde veya bulut geliştirmeye yönelik yeni bir yazılım geliştirme hakkında daha fazla bilgi edinmek isteyen geliştiriciler burada, bilmeleri gereken en önemli kavramlar ve uygulamalar hakkında kısa bir genel bakış bulacaksınız. Kavramlar somut örneklerle gösterilmektedir ve her bölüm daha ayrıntılı bilgi için diğer kaynaklarla bağlantı sağlar. Örnekler ve ek kaynaklara bağlantılar Microsoft çerçeveleri ve hizmetleri içindir, ancak gösterilen ilkeler diğer web geliştirme çerçeveleri ve bulut ortamları için de geçerlidir.

Bulut için zaten geliştirmekte olan geliştiriciler burada daha başarılı hale getirmenize yardımcı olacak fikirler bulabilir. Serideki her bölüm bağımsız olarak okunabilir, böylece ilgilendiğiniz konuları seçip seçebilirsiniz.

Scott Guthrie 'yi izleyen herkes, Azure Presentation Ile gerçek dünyada bulut uygulamaları oluşturuyor ve daha fazla ayrıntı ve güncelleştirilmiş bilgi ister. bu bilgileri burada bulabilirsiniz.

Bulut geliştirme desenleri

Bu e-kitap, bulut geliştirmesi için on dört önerilen deseni açıklamaktadır. "Model" burada, bir şeyler yapmak için önerilen bir yol olması açısından çok daha fazla şekilde kullanılır: bulut uygulamaları geliştirme, tasarlama ve kodlama hakkında ne kadar en iyi duruma gelir. Bunlar, bu adımları izlerseniz "başarı" başarılı olma "konusunda size yardımcı olacak önemli desenlerdir.

  • Her şeyi otomatikleştirin.

    • Yinelenen işlemlerde verimliliği en üst düzeye çıkarmak ve hataları en aza indirmek için betikleri kullanın.
    • Demo: Azure Yönetim betikleri.
  • Kaynak denetimi.

    • DevOps iş akışını kolaylaştırmak için kaynak denetiminde dallanma yapısı ayarlayın.
    • Demo: kaynak denetimine komut dosyaları ekleyin.
    • Demo: hassas verileri kaynak denetiminden koruyun.
    • Demo: Visual Studio 'da git kullanın.
  • Sürekli tümleştirme ve teslim.

    • Her kaynak denetimi iadede derleme ve dağıtımı otomatikleştirin.
  • Web geliştirme en iyi uygulamaları.

    • Web katmanını durum bilgisiz olarak tut.
    • Demo: Azure App Service Web Apps ölçeklendirme ve otomatik ölçekleme.
    • Oturum durumunu önleyin.
    • CDN kullanılamaz olduğunda geri dönüş ile CDN kullanın.
    • Zaman uyumsuz programlama modeli kullanın.
    • Demo: ASP.NET MVC ve Entity Framework içinde zaman uyumsuz.
  • Çoklu oturum açma.

    • Azure Active Directory giriş.
    • Demo: Azure Active Directory kullanan bir ASP.NET uygulaması oluşturun.
  • Veri depolama seçenekleri.

    • Veri deposu türleri.
    • Doğru veri deposunu seçme.
    • Demo: Azure SQL veritabanı.
  • Veri bölümleme stratejileri.

    • İlişkisel bir veritabanının ölçeklendirilmesini kolaylaştırmak için verileri dikey, yatay veya her ikisine birden bölümleyin.
  • Yapılandırılmamış BLOB depolama alanı.

    • Blob hizmetini kullanarak dosyaları bulutta depolayın.
    • Demo: blob depolamayı, çözüm uygulamasında kullanma.
  • Hatalara devam etmek Için tasarım.

    • Başarısızlık türleri.
    • Hata kapsamı.
    • SLA 'Ları anlama.
  • İzleme ve telemetri.

    • Neden bir telemetri uygulaması satın almanız ve uygulamanızı işaretlemek için kendi kodunuzu yazmanız gerekir.
    • Demo: Azure için yeni relik
    • Demo: BT BT uygulamasındaki kodu günlüğe kaydetme.
    • Demo: BT BT uygulamasına bağımlılık ekleme.
    • Demo: Azure 'da yerleşik günlük desteği.
  • Geçici hata işleme.

    • Geçici hataların etkisini azaltmak için akıllı yeniden deneme/geri kapatma mantığını kullanın.
    • Demo: Entity Framework 6 ' da yeniden deneyin/geri dönün.
  • Dağıtılmış önbelleğe alma.

    • Dağıtılmış önbelleğe alma özelliğini kullanarak ölçeklenebilirliği geliştirme ve veritabanı işlem maliyetlerini azaltma.
  • Kuyruk merkezli çalışma stili.

    • Web ve çalışan katmanlarını gevyana geçirerek yüksek kullanılabilirliği etkinleştirin ve ölçeklenebilirliği geliştirebilirsiniz.
    • Demo: BT BT uygulamasındaki Azure depolama kuyrukları.
  • Daha fazla bulut uygulaması deseni ve Kılavuzu.

  • Ek: Düzelt Örnek Uygulaması

    • Bilinen Sorunlar
    • En İyi Yöntemler
    • İndirme, oluşturma, çalıştırma ve dağıtma.

Bu desenler tüm bulut ortamları için geçerlidir, ancak Visual Studio, Team Foundation Service, ASP.NET ve Azure gibi Microsoft teknolojileri ve hizmetlerini temel alan örnekleri kullanarak bunları göstereceğiz.

Bu bölümün geri kalanında, BT örnek uygulamasını ve çözüm uygulamasının üzerinde çalıştığı Azure App Service Bulut ortamındaki Web Apps.

Bu örnek uygulamayı düzeltir

Bu e-kitapta gösterilen ekran görüntüleri ve kod örneklerinin çoğu, son olarak Scott Guthrie tarafından geliştirilen ve önerilen bulut uygulaması geliştirme düzenlerini ve uygulamalarını göstermek için bu uygulamayı temel alır.

BT uygulaması giriş sayfasını düzeltir

Örnek uygulama, basit bir iş öğesi bilet sistemidir. Düzeltilmesi gerektiğinde, bir bilet oluşturur ve bu kişiye atar ve diğer kullanıcılar oturum açıp bu dosyalara atanan biletleri görebilir ve bilet, iş tamamlandığında tamamlandı olarak işaretleyebilir.

Bu, standart bir Visual Studio Web projem. Bu, ASP.NET MVC üzerine kurulmuştur ve bir SQL Server veritabanı kullanır. IIS Express yerel olarak çalışabilir ve bulutta çalıştırmak için bir Azure Web sitesine dağıtılabilir. Forms kimlik doğrulaması ve yerel bir veritabanı kullanarak ya da Google gibi bir sosyal sağlayıcı kullanarak oturum açabilirsiniz. (Daha sonra, Active Directory bir kurumsal hesapla oturum açma da göstereceğiz.)

Oturum açma sayfası

Oturum açtıktan sonra bir bilet oluşturabilir, bunu bir kişiye atayabilir ve daha sonra düzeltilmesi için bir resim yükleyebilirsiniz.

Bir düzelme görevi oluşturun

Oluşturulan BT görevini düzeltir

Oluşturduğunuz iş öğelerinin ilerlemesini izleyebilir, size atanan biletleri görebilir, Bilet ayrıntılarını görüntüleyebilir ve öğeleri tamamlandı olarak işaretleyebilirsiniz.

Bu özellik perspektifinden çok basit bir uygulamadır, ancak milyonlarca kullanıcıya ölçeklenebilmesi ve veritabanı hatalarından ve bağlantı sonlandırışları gibi şeylere dayanıklı olacak şekilde nasıl derleyeceksiniz. Ayrıca, geliştirme döngüsünü verimli ve hızlı bir şekilde tekrarlayarak, basit ve çevik bir geliştirme iş akışı oluşturmayı da öğreneceksiniz.

Azure App Service Web Apps

BT BT uygulaması için kullanılan bulut ortamı, Web sitelerini çağırdığımız bir Azure hizmetidir. Bu hizmet, Azure 'da sanal makine oluşturmak ve bunların güncelleştirilmesini, IIS 'yi yüklemek ve yapılandırmak zorunda kalmadan kendi web uygulamanızı barındırabilmeniz için bir yoldur. Sitenizi sanal makinelerimizde barındırıyoruz ve sizin için otomatik olarak yedekleme ve kurtarma ve diğer hizmetleri sağlıyoruz. Web siteleri hizmeti ASP.NET, Node. js, PHP ve Python ile birlikte kullanılabilir. Visual Studio, Web Dağıtımı, FTP, git veya TFS kullanarak çok hızlı bir dağıtım yapmanızı sağlar. Genellikle bir dağıtımı başlattığınız zaman ve güncelleştirmeniz Internet üzerinden kullanılabilir olduğu zaman arasında birkaç saniye sürer. Kullanmaya başlamak her şey ücretsizdir ve trafiğiniz büyüdükçe ölçeği büyüleyebilirsiniz.

Arka planda Azure App Service Web Apps, kendi sanal makinelerinizdeki IIS kullanarak bir Web sitesi barındırıdıysanız kendiniz oluşturmanız gereken birçok mimari bileşeni ve özelliği sunar. Bir bileşen, IIS 'yi otomatik olarak yapılandıran ve uygulamanızı üzerinde çalıştırmak istediğiniz sayıda VM 'ye yükleyen bir dağıtım uç noktasıdır.

Dağıtım hizmeti

Bir Kullanıcı Web sitesini ziyaret ettiğinizde, bunlar IIS VM 'lerine doğrudan dönmez ve uygulama Isteği yönlendirme (ARR) yük dengeleyicileri ' ne gider. Bunları kendi sunucularınız ile kullanabilirsiniz, ancak buradaki avantaj sizin için otomatik olarak ayarlanabiliyoruz. Oturum benzeşimi, IIS 'de sıra derinliği ve Web sitenizi barındıran VM 'lere trafik yönlendirmek için her bir makinedeki CPU kullanımı gibi hesap faktörlerine sahip akıllı bir buluşsal yöntem kullanır.

ARR yük dengeleyici

Bir makine kapalı olursa, Azure otomatik olarak rotasyondan alır, yeni bir sanal makine örneği getirir ve yeni örneğe trafiği yönlendirmeye başlar; tümü uygulamanız için bir süre boyunca devam eder.

Makine hatasından otomatik kurtarma

Tüm bu otomatik olarak gerçekleşir. Yapmanız gereken tek şey, Windows PowerShell, Visual Studio veya Azure yönetim portalı 'nı kullanarak bir Web sitesi oluşturur ve uygulamanızı buna dağıtır.

Visual Studio 'da bir Web uygulaması oluşturmayı ve bunu bir Azure Web sitesine dağıtmayı gösteren hızlı ve kolay bir adım adım öğretici için bkz. Azure ve ASP.NET kullanmaya başlama.

Özet

Bu giriş, kitabın kapsayacağı konuların bir listesini, örnek uygulamanın ekran görüntülerini ve Azure App Service Bulut ortamındaki Web Apps kısa bir genel bakışı sağlamıştır. Bulutta uygulama geliştirmenin en iyi avantajlarından biri de bir test ortamı oluşturma ve kodunuzu buna dağıtma gibi yinelenen geliştirme görevlerini otomatikleştirmenin kolay bir yoludur. Bu, bir sonraki bölümünkonusudur.

Kaynaklar

Bu bölümde ele alınan konular hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın.

Belgelerle

  • Azure App Service Web Apps. Web Apps hakkındaki Azure belgeleri için Portal sayfası.
  • Web Apps, Cloud Services ve VM 'Ler: ne zaman kullanılır? Bu bölümde gösterildiği gibi waw, Azure 'da Web Apps çalıştırmak için kullanabileceğiniz üç yönden biridir. Bu makalede üç yol arasındaki farklar açıklanmakta ve senaryonuz için hangisinin doğru olduğunu seçme konusunda rehberlik sunulmaktadır. Web siteleri gibi Cloud Services Azure 'un PaaS özelliğidir. VM 'Ler bir IaaS özelliğidir. PaaS ve IaaS hakkında bir açıklama için bkz. veri seçenekleri bölümü.

Videolar: