• Ana Sayfa
  • Genel
  • Yeni Başlayanlar İçin Web Geliştirme Kılavuzu 4. Bölüm: Cloud Deployment (Bulut Dağıtımı)

Yeni Başlayanlar İçin Web Geliştirme Kılavuzu 4. Bölüm: Cloud Deployment (Bulut Dağıtımı)

 Yeni Başlayanlar İçin Web Geliştirme Kılavuzu 4. Bölüm: Cloud Deployment (Bulut Dağıtımı)
Okunuyor Yeni Başlayanlar İçin Web Geliştirme Kılavuzu 4. Bölüm: Cloud Deployment (Bulut Dağıtımı)

Uygulamalarınızı geliştirmeyi tamamladığınızda, onu devreye alma zamanı. Uygulamalarınızı oluşturmak ve dağıtmak için gerekli tüm hizmetleri sunan birden fazla bulut sağlayıcı vardır; bunların en büyüğü Amazon Web Hizmetleri, Microsoft Azure ve Google Bulut Platformu’dur. Yeni başlayanlar için kurulumu daha kolay olabilecek daha özel hizmetler sunan daha küçük oyuncular da vardır.

Neden bulutlar?Günümüzde bir uygulamayı bulut tabanlı bir hizmete yerleştirmenin en iyi yol olduğuna inanıyoruz. Fiyata göre bölgenizdeki yerel veri merkezlerinden daha iyi teklifler bulabilirsiniz, ancak daha büyük bir bulut sağlayıcısına katılmak size birçok modern hizmete ve farklı coğrafi bölgelere erişim sağlar. Yerel bir veri merkezinde barındırmak için zorlayıcı yasal veya mali nedenleriniz olmadıkça, bulutlar daha iyi bir alternatif gibi görünür.

Uygulama barındırmadan bahsederken, hizmet olarak altyapıdan , yani sanal makinelere, disklere ve ağlara, hizmet olarak konteynerlere , kapsayıcıları bir makine kümesi. Daha düşük soyutlama seviyeleri size kurulum üzerinde daha fazla kontrol sağlar, ancak aynı zamanda yapılandırmak için daha fazla çalışma ve teknik beceri gerektirirken, daha yüksek seviyeli hizmetler işleri kolaylaştırarak genellikle kontrol ve şeffaflık seviyesini düşürür.

http://www.webodasi.com

İçindekiler

📒 Hizmet Olarak Altyapı

Hizmet Olarak Altyapı (IaaS), sanal makineleri, dosya sistemlerini ve sanal ağları çalıştırmanıza izin veren hizmetleri ifade eder. İlk katılımı kolaylaştırmak için, bazı platformlar size Ubuntu’daki bir Apache sunucusu veya bir PostgreSQL sunucusu gibi farklı amaçlar için oluşturulmuş makinelerin önceden yapılandırılmış görüntülerini sağlar. Bu görüntülerden birine dayalı olarak bir VM oluşturabilir ve ardından bunu ihtiyaçlarınıza göre uyarlayabilirsiniz, örneğin, yazılım yükleyebilir, ağ yapılandırmasını yapılandırabilir ve güvenlik ve güvenlik duvarlarını kurabilirsiniz. IaaS size hizmetleriniz üzerinde en fazla kontrolü sağlasa da, kurulum için en fazla çabayı gerektirir. Düz bir web uygulaması dışında bir şey barındırmanız gerektiğinde iyi bir seçimdir.

İşte farklı sağlayıcıların popüler IaaS hizmetlerinden bazıları.

  • 📒 DigitalOcean , dünya çapındaki veri merkezlerinde IaaS hizmetleri sunan bir bulut platformudur. DigitalOcean’da bir VM kurmak nispeten basittir, ancak yalnızca Linux sanal makineleri sunar. DigitalOcean, hizmetlerini denemek için 60 gün boyunca 100 $ değerinde kredi sunuyor.
  • 📙 Amazon EC2 , Amazon’un IaaS teklifidir ve genel pazar payında liderdir. EC2, esnek konfigürasyona sahip farklı türlerde sanal makineler sunar, ancak ilk kurulum daha zor olabilir. Daha küçük VM türlerinin bazıları için 12 aylık ücretsiz bir katman sunar.
  • 📙 Azure Sanal Makineler , çok sayıda önceden yapılandırılmış görüntü ile Microsoft’un sunduğu bir IaaS teklifidir . Microsoft, bir ay için 200 dolar değerinde kredi ve 12 ay için 750 saatlik küçük sanal makineler sunar.
  • 📙 Google Compute Engine , Google Cloud Platform’da her zaman ücretsiz bir mikro olan 12 aylık bir deneme süresi için 300 ABD doları kredi sunan bir hizmettir.

📒 Hizmet Olarak Platform

Hizmet Olarak Platform (PaaS), daha kolay kurulum için tasarlanmış web uygulamalarını çalıştırmaya yönelik bir hizmet türüdür. IaaS’nin aksine PaaS hizmetleri, ortamı kendi başınıza kurmanıza gerek kalmadan uygulamanızı çalıştırmak için eksiksiz bir teknoloji yığını sağlar. Genellikle PaaSes tarafından ele alınan diğer endişelerden bazıları şunlardır:

  • Uygulamanızı yönetmek, çalıştırmak veya durdurmak için bir kullanıcı arayüzü;
  • Temel izleme ve günlük kaydı yetenekleri;
  • Artan yüklerle başa çıkmak için yatay ve dikey ölçeklendirme;
  • Ortam yapılandırması;
  • Uygulamanızın çalıştığından ve erişilebilir olduğundan emin olmak için sağlık kontrolleri.

Bazı PaaS’lerin yerel olarak destekledikleri sınırlı bir dil seti vardır, ancak günümüzde çoğu Docker konteynerlerini çalıştırmayı desteklemektedir, yani hemen hemen her teknolojide yazılmış bir uygulamayı çalıştırabilirsiniz. PaaS’ler genellikle web uygulamalarını çalıştırmak için tasarlanmıştır ve arka plan yordamları veya diğer yazılım türlerini çalıştırmak için uygun olmayabilir.

Popüler PaaS tekliflerinden bazıları şunlardır:

  • 📒 Heroku , piyasadaki en eski PaaS hizmetlerinden biridir. Ruby, Java, PHP, Node.js ve diğerlerinde yazılmış uygulamaların çalıştırılmasının yanı sıra Docker konteynerlerinde uygulama konuşlandırılmasını destekler. Heroku ücretsiz bir katman sunar, ancak uygulamanız 30 dakika hareketsiz kaldıktan sonra uyku moduna geçecektir.
  • 📒 Netlify , statik web sitelerini barındırmak için bir hizmettir. AWS Lambda işlevlerini kullanarak otomatik dağıtım, HTTPS, yeniden yönlendirmeler, A / B testi, form gönderme ve arka uç mantığı desteği ile tam teşekküllü bir ücretsiz katman sunar.
  • 📙 Azure Uygulama Hizmeti , Microsoft Azure’dan bir tekliftir. Hem Windows hem de Linux üzerinde farklı dillerde yazılmış uygulamaların barındırılmasına ve Docker uygulamalarının çalıştırılmasına izin verir. Windows uygulama hizmeti için ücretsiz bir paylaşılan örnek mevcuttur.
  • 📙 Google App Engine , Java, Python, Node.js, Go ve PHP ile Docker uygulamalarında yazılmış uygulamaların dağıtımını destekleyen bir Google Cloud hizmetidir. Ayrıca sınırlı bir ücretsiz katman da mevcuttur.

📒 Hizmet Olarak İşlev

Bazen sunucusuz bilgi işlem olarak da anılan hizmet olarak işlev (FaaS), bulut bilgi işlemde nispeten yeni bir kavramdır. Altyapı hakkında endişelenmenize gerek kalmadan ve günlük kaydı ve izleme gibi birçok operasyonel kaygı duymadan basit atomik işlevleri bir çalışma zamanına dağıtmak için tasarlanmıştır. Bu tür işlevler, HTTP istekleri aracılığıyla normal hizmetler olarak çağrılabilir, ancak birçok platform ayrıca dosya yüklemeleri, kuyruktaki bir mesaj veya bir veritabanındaki bir değişiklik gibi çeşitli olaylara tepki verme yeteneği sağlar. FaaSes’in fiyatlandırma modeli de farklıdır. Çalışma süresi yerine yürütme sayıları ve tüketilen kaynaklar için ödeme yaparsınız. Bu, uygulamanızın her zaman yüksek olması gerekmeyen veya dinamik olarak ölçeklenmesi gerekmeyen bölümleri için finansal açıdan çekici bir çözüm haline getirir.

Fonksiyonların dezavantajları vardır. Çoğu platform için araçlar henüz emekleme aşamasındadır ve yerel geliştirme, normal uygulamalarda olduğu kadar sorunsuz olmayabilir. Ancak, sunucusuz hareket ivme kazandıkça durum iyileşebilir.

İşlevlerin kullanımına ilişkin popüler durumlar, uygulamalarınızdaki farklı olaylara minimum miktarda kod veya sonradan işlemeyle uygulanabilen basit arka uç hizmetlerini içerir.

Çoğu büyük bulut sağlayıcısının bir işlevi de vardır:

  • 📒 AWS Lambda ; S3, DynamoDB, Kinesis, SNS ve CloudWatch gibi diğer Amazon hizmetleriyle entegrasyonun yanı sıra Step Functions’ı kullanarak işlev tabanlı iş akışlarını düzenleme yeteneği sunar. AWS SAM araçları, dağıtımdan önce işlevlerinizi yerel olarak test etmenizi sağlar. Ücretsiz katman, ayda 1 milyon istek ve 400.000 Gb saniye bilgi işlem gücü sunar.
  • 📒 Azure Functions , Microsoft’un Blob Depoları, Depolama Sıraları, CosmosDB vb. Gibi Azure hizmetleriyle entegrasyona izin veren benzer bir teklifidir. Azure İşlevleri, karmaşık iş akışları oluşturmak için Mantık Uygulamalarına entegre edilebilir. Şu anda Java’nın yanı sıra C #, F #, JavaScript ve Python’u destekliyor ancak önizlemede. Ayrıca ayda 1 milyon istek ve 400.000 Gb saniye bilgi işlem gücü sunar.
  • 📒 Google Cloud Functions , Google Cloud hizmetlerine benzer entegrasyonlar sağlar, ancak şu anda yalnızca JavaScript ve Python işlevleri desteklenmektedir. Yerel geliştirme yalnızca JavaScript işlevleri için desteklenir.

📙 Hizmet Olarak Konteynerler

Kapsayıcıların ve Kubernetes’in baskın düzenleme platformu olarak yükselişiyle birlikte, tüm büyük bulut platformları tarafından yeni “Hizmet olarak Kubernetes” çözümleri kullanıma sunuldu. Bu tür hizmetler genel olarak Container as a Service (CaaS) olarak adlandırılır. Kendi Kubernetes kümenizi barındırmak önemsiz bir görev olmadığından, yönetilen bir bulut kümesine dağıtmak çoğu durum için daha iyi bir alternatiftir. Bu tür hizmetler, uygulamanızı geliştirmeye odaklanabilmeniz için bakımı yapılan kontrol düzlemleri, yükseltmeler, garantili küme çalışma süresi ve ara yazılım sunar.

  • 📙 Amazon EKS , çalışma süresi, yerleşik güvenlik özellikleri ve diğer AWS hizmetleriyle entegrasyon yeteneği sağlamak için birden çok kullanılabilirlik bölgesine dağıtılan kontrol düğümlerine sahip yönetilen bir Kubernetes kümesi sağlar. Bununla birlikte, yeni bir küme kurma süreci olabildiğince basit değildir. Ücretsiz katman yoktur ve hem çalışan düğümler için hem de küme başına sabit bir ücret ödemeniz gerekir.
  • 📙 Azure Kubernetes Services (AKS) , nispeten kolay bir ilk kurulum süreci ve kümeyi yönetmek için hiçbir ücret talep etmeyen, ancak yalnızca düğüm sanal makineleri için rekabetçi bir fiyatlandırma modeli sunar.
  • 📙 Google Kubernetes Engine , topluluktan Kubernetes’i oluşturan şirketten beklenebilecek çok sayıda olumlu yorum aldı. Basit kurulumu ve operasyonları için övgü aldı. Bununla birlikte, diğer platformlardan daha az entegre hizmetler sunar.

Bulut ortamı aktif olarak gelişiyor ve sağlayıcılar yeni yenilikçi hizmetler ve rekabetçi fiyatlar sunmak için yarışıyor. Büyük bulut platformlarından gelen yeni teklifleri takip edin, ancak aynı zamanda daha özel çözümler sunan daha küçük platformları da takip edin.

Bu, şimdilik dört bölümlü “Yeni Başlayanlar İçin Web Geliştirme Kılavuzu” nu tamamlıyor. Umarım sektörde yolunuzu bulmanıza yardımcı olur ve bundan sonra hangi yönü izleyeceğiniz konusunda size bir fikir verir. 

Dilerseniz Bir Sonra Ki Blog Sayfalarımıza Göz Atabilirsiniz..

Görüşmek Üzere Hoşçakalın WebOdasıyla Kalın..

Yorum Yap