Azure ile Real-World Cloud Apps oluşturma

tarafından Rick Anderson, Tom Dykstra

Fix It Project'i indirin veya E-kitabı indirin

Bu e-kitap, gerçek dünya bulut çözümleri oluşturmaya yönelik desen tabanlı bir yaklaşımda size yol gösterir. Desenler hem geliştirme süreci hem de mimari ve kodlama uygulamaları için geçerlidir.

İçerik, Scott Guthrie tarafından geliştirilen ve Haziran 2013'te Norveç Geliştiriciler Konferansı'nda (NDC) (bölüm 1, bölüm 2) ve Eylül 2013'te Microsoft Tech Ed Australia'da sunulan bir sunuyu temel alır. Diğer birçok kişi , videodan yazılı forma geçerken içeriği güncelleştirdi ve genişletdi.

Hedef Kitle

Bulut için geliştirmeyi merak eden, buluta geçiş yapmayı düşünen veya bulut geliştirme konusunda yeni olan geliştiriciler, burada öğrenmeleri gereken en önemli kavramlara ve uygulamalara kısa bir genel bakış bulacaksınız. Kavramlar somut örneklerle gösterilmiştir ve her bölüm daha ayrıntılı bilgi için diğer kaynaklara bağlanır. Örnekler ve ek kaynakların 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.

Zaten bulut için geliştirme yapan geliştiriciler, daha başarılı olmalarına yardımcı olacak fikirleri burada bulabilir. Serideki her bölüm bağımsız olarak okunabilir, böylece ilgilendiğiniz konuları seçebilir ve seçebilirsiniz.

Scott Guthrie'nin Azure ile Gerçek Dünya Bulut Uygulamaları Oluşturma sunumunu izleyen ve daha fazla ayrıntı ve güncelleştirilmiş bilgi isteyen herkes bunu burada bulabilir.

Bulut geliştirme desenleri

Bu e-kitap, bulut geliştirme için önerilen on üç deseni açıklamaktadır. "Desen", bulut uygulamalarını geliştirme, tasarlama ve kodlama konusunda en iyi yol olan şeyleri yapmak için önerilen bir yol anlamına gelen geniş anlamda burada kullanılır. Bunlar, onları takip ederseniz "başarının çukuruna düşmenize" yardımcı olacak temel desenlerdir.

  • Her şeyi otomatikleştirin.

    • Verimliliği en üst düzeye çıkarmak ve yinelenen işlemlerdeki hataları en aza indirmek için betikleri kullanın.
    • Tanıtım: Azure yönetim betikleri.
  • Kaynak denetimi.

    • DevOps iş akışını kolaylaştırmak için kaynak denetiminde dallanma yapısını ayarlayın.
    • Tanıtım: Kaynak denetimine betik ekleme.
    • Tanıtım: Hassas verileri kaynak denetiminin dışında tutun.
    • Tanıtım: Visual Studio'da Git kullanma.
  • Sürekli tümleştirme ve teslim.

    • Her kaynak denetimi iade etme işlemiyle derleme ve dağıtımı otomatikleştirme.
  • Web geliştirme için en iyi yöntemler.

    • Web katmanını durum bilgisiz tutun.
    • Tanıtım: Azure App Service'da Web Apps ölçeklendirme ve otomatik ölçeklendirme.
    • Oturum durumundan kaçının.
    • CDN kullanılamaz durumdayken geri dönüş içeren bir CDN kullanın.
    • Zaman uyumsuz programlama modeli kullanın.
    • Tanıtım: ASP.NET MVC ve Entity Framework'te zaman uyumsuz.
  • Çoklu oturum açma.

    • Azure Active Directory'ye giriş.
    • Tanıtım: Azure Active Directory kullanan bir ASP.NET uygulaması oluşturma.
  • Veri depolama seçenekleri.

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

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

    • Blob hizmetini kullanarak dosyaları bulutta depolayın.
    • Tanıtım: Düzelt uygulamasında blob depolamayı kullanma.
  • Hatalara karşı hayatta kalmak için tasarla.

    • Hata türleri.
    • Hata Kapsamı.
    • SLA'ları anlama.
  • İzleme ve telemetri.

    • Neden bir telemetri uygulaması satın almanız ve uygulamanızı izlemeniz için kendi kodunuzu yazmanız gerekir?
    • Tanıtım: Azure için Yeni Relic
    • Tanıtım: Düzelt uygulamasında kodu günlüğe kaydetme.
    • Tanıtım: Düzelt uygulamasına bağımlılık ekleme.
    • Tanıtım: Azure'da yerleşik günlük kaydı desteği.
  • Geçici hata işleme.

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

    • Dağıtılmış önbelleğe alma özelliğini kullanarak ölçeklenebilirliği geliştirin ve veritabanı işlem maliyetlerini azaltın.
  • Kuyruk merkezli iş düzeni.

    • Web ve çalışan katmanlarını gevşek bir şekilde bağlayarak yüksek kullanılabilirliği etkinleştirin ve ölçeklenebilirliği artırın.
    • Tanıtım: Düzelt uygulamasında Azure depolama kuyrukları.
  • Daha fazla bulut uygulaması deseni ve kılavuzu.

  • Ek: Düzelt Örnek Uygulaması

    • Bilinen Sorunlar
    • En İyi Uygulamalar
    • İndirme, derleme, ç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 teknolojilerine ve hizmetlerine dayalı örnekleri kullanarak bunları göstereceğiz.

Bu bölümün geri kalanında Düzelt örnek uygulaması ve Azure App Service bulut ortamında Düzelt uygulamasının çalıştığı Web Apps tanıtılmaktadır.

Düzelt örnek uygulaması

Bu e-kitapta gösterilen ekran görüntülerinin ve kod örneklerinin çoğu, önerilen bulut uygulaması geliştirme desenlerini ve uygulamalarını göstermek için başlangıçta Scott Guthrie tarafından geliştirilen Düzelt uygulamasını temel alır.

Bt uygulaması giriş sayfasını düzeltme

Örnek uygulama basit bir iş öğesi bilet sistemidir. Düzeltilen bir şeye ihtiyacınız olduğunda, bir bilet oluşturup bunu birine atarsınız ve başkaları oturum açıp kendilerine atanan biletleri görebilir ve iş tamamlandığında biletleri tamamlandı olarak işaretleyebilir.

Standart bir Visual Studio web projesidir. ASP.NET MVC üzerine kurulmuştur ve SQL Server bir veritabanı kullanır. IIS Express'da yerel olarak çalıştırılabilir ve bulutta çalıştırılacak bir Azure Web Sitesine dağıtılabilir. Form kimlik doğrulaması ve yerel veritabanı kullanarak veya Google gibi bir sosyal sağlayıcı kullanarak oturum açabilirsiniz. (Daha sonra bir Active Directory kuruluş hesabıyla nasıl oturum açacağımızı da göstereceğiz.)

Oturum açma sayfası

Oturum açtıktan sonra bir bilet oluşturabilir, bunu birine atayabilir ve düzeltilenin resmini karşıya yükleyebilirsiniz.

Düzelt görevi oluşturma

Oluşturulan Bt görevini düzeltin

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

Bu özellik açısından çok basit bir uygulamadır, ancak milyonlarca kullanıcıya ölçeklenebilmesi ve veritabanı hataları ve bağlantı sonlandırmaları gibi şeylere dayanıklı olması için nasıl oluşturulacağını göreceksiniz. Ayrıca geliştirme döngüsünü verimli ve hızlı bir şekilde yineleyerek basit bir başlangıç yapmanızı ve uygulamayı daha iyi ve daha iyi hale getirmenizi sağlayan otomatik ve çevik bir geliştirme iş akışı oluşturmayı da öğreneceksiniz.

Azure App Service'da Web Apps

Düzelt uygulaması için kullanılan bulut ortamı, Web Siteleri olarak adlandırdığımız bir Azure hizmetidir. Bu hizmet, VM oluşturmak ve bunları güncel tutmak, IIS yüklemek ve yapılandırmak gibi işlemleri yapmak zorunda kalmadan Azure'da kendi web uygulamanızı barındırabilmenizin bir yoludur. Sitenizi VM'lerimizde barındırıyor ve sizin için otomatik olarak yedekleme ve kurtarma ile diğer hizmetleri sağlıyoruz. Web Siteleri hizmeti ASP.NET, Node.js, PHP ve Python ile çalışır. Visual Studio, Web Dağıtımı, FTP, Git veya TFS kullanarak çok hızlı bir şekilde dağıtmanızı sağlar. Genellikle dağıtımı başlatmanız ile güncelleştirmenizin İnternet üzerinden kullanılabilir olması arasında yalnızca birkaç saniyedir. Başlamak ücretsizdir ve trafiğiniz büyüdükçe ölçeği artırabilirsiniz.

arka planda, Azure App Service'daki Web Apps, kendi VM'lerinizde IIS kullanarak bir web sitesi barındıracaksanız, kendiniz oluşturmanız gereken birçok mimari bileşen ve özellik sağlar. Bileşenlerden biri, IIS'yi otomatik olarak yapılandıran ve uygulamanızı sitenizi ç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 sitesine ulaştığında IIS VM'lerine doğrudan isabet etmez, Uygulama İsteği Yönlendirmesi (ARR) yük dengeleyicileri üzerinden geçer. Bunları kendi sunucularınızda kullanabilirsiniz, ancak buradaki avantaj sizin için otomatik olarak ayarlanmış olmasıdır. Trafiği web sitenizi barındıran VM'lere yönlendirmek için oturum benzenşimi, IIS'deki kuyruk derinliği ve her makinede CPU kullanımı gibi faktörleri dikkate alan akıllı bir buluşsal kullanırlar.

ARR yük dengeleyici

Bir makine devre dışı kalırsa, Azure otomatik olarak döndürmeden çeker, yeni bir VM örneği oluşturur ve trafiği yeni örneğe yönlendirmeye başlar ve bunların tümü uygulamanız için kapalı kalma süresi yoktur.

Makine hatasından otomatik kurtarma

Tüm bunlar otomatik olarak gerçekleşir. Tek yapmanız gereken Windows PowerShell, Visual Studio veya Azure yönetim portalını kullanarak bir web sitesi oluşturmak ve uygulamanızı buna dağıtmaktır.

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

Özet

Bu giriş, kitabın ele alınacağı konuların listesini, örnek uygulamanın ekran görüntülerini ve Azure App Service bulut ortamındaki Web Apps kısa bir genel bakış sağladı. Bulutta ve bulutta uygulama geliştirmenin en büyük avantajlarından biri, test ortamı oluşturma ve kodunuzu buna dağıtma gibi yinelenen geliştirme görevlerini otomatikleştirmenin kolay olmasıdır. Bunu nasıl yapacağız, bir sonraki bölümün konusudur.

Kaynaklar

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

Belgeler:

  • Azure App Service'da Web Apps. Web Apps hakkında 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 WAWS, Azure'da web uygulamaları çalıştırmanın üç yoludur. Bu makalede, üç yol arasındaki farklar açıklanır ve senaryonuz için hangisinin doğru olduğunu seçme konusunda rehberlik sağlanır. Web Siteleri gibi Cloud Services de Azure'ın bir PaaS özelliğidir. VM'ler bir IaaS özelliğidir. PaaS ile IaaS karşılaştırmasının açıklaması için Veri Seçenekleri bölümüne bakın.

Videolar: