Azure ile Real-World Cloud Apps oluşturma

Tarafından Rick Anderson, Tom Dykstra

Fix It Project'i indirin veya E-kitap 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 pek çok kişi, videodan yazılı biçime geçerken içeriği güncelleştirdi ve artırdı.

Hedef Kitle

Bulut için geliştirmeyi merak eden, buluta geçmeyi düşünen veya bulut geliştirmede yeni olan geliştiriciler, burada bilmeleri 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çevelerine ve hizmetlerine yöneliktir, 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 burada daha başarılı olmalarına yardımcı olacak fikirler 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 bu bilgiyi burada bulabilir.

Bulut geliştirme desenleri

Bu e-kitap, bulut geliştirme için önerilen on üç deseni açıklar. "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ı ç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 denetiminden uzak 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ştirin.
  • 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ılamadığında 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 depounu 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.
  • Hatalardan kurtulmak için tasarla.

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

    • Neden hem bir telemetri uygulaması satın almanız hem de 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ında bağımlılık ekleme.
    • Tanıtım: 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 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 geliştirin.
    • 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 Düzelt uygulamasının çalıştığı Azure App Service bulut ortamındaki 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üzeltin

Ö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 üzerinde oluşturulur ve SQL Server bir veritabanı kullanır. IIS Express 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 oturum açmayı da göstereceğiz.)

Oturum açma sayfası

Oturum açtıktan sonra bir bilet oluşturabilir, bunu bir kişiye atayabilir ve düzeltmek istediğiniz şeyin 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çeklendirilebilmesi ve veritabanı hataları ve bağlantı sonlandırmaları gibi şeylere dayanıklı olması için uygulamayı nasıl oluşturabileceğinizi 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 göreceksiniz.

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 vb. gerekmeden Azure'da kendi web uygulamanızı barındırabilmenizin bir yoludur. Sitenizi VM'lerimizde barındırıyoruz 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. Dağıtımı başlatmanızla güncelleştirmenizin İnternet üzerinden kullanılabilir olması arasında genellikle yalnızca birkaç saniye sürer. Başlamak ücretsizdir ve trafiğiniz arttıkça ö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 kendi 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önlendirme (ARR) yük dengeleyicileri üzerinden gider. Bunları kendi sunucularınızda kullanabilirsiniz, ancak buradaki avantaj sizin için otomatik olarak ayarlanmış olmasıdır. Web sitenizi barındıran VM'lere trafiği 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 kapanı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 hiç bekleme 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 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ğlamıştır. 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ğını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: Hangileri 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 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: