[ad_1]
PaaS (hizmet olarak platform), yazılım geliştiricilerin temel altyapı hakkında endişelenmeden yazılım uygulamalarını kolayca oluşturmasını, çalıştırmasını ve yönetmesini sağlayan bir bulut bilişim biçimidir. Bulut bilişimin ortaya çıkışı, satıcıların, kodu dağıtmak için gereken daha zorlu ve daha tekrarlayan görevlerin çoğunu basitleştirmek ve hatta otomatikleştirmek amacıyla bir uygulama oluşturmak için gereken temel yapı taşlarını bir araya getirmelerinin kapısını açtı.
PaaS tüm bunları başarır, ancak birkaç istisna dışında, ayrı bir bulut teklifi yerine IaaS (hizmet olarak altyapı) bulutlarında kullanılabilen bir hizmet haline geldi ve genellikle Kubernetes kapsayıcı düzenlemesini içerir. Belirli uygulama türlerinin geliştirilmesini daha da kolaylaştıran bir tür bulut platformu olan sunucusuz bilgi işlem, PaaS’ın bir evrimi olarak kabul edilir.
PaaS’de bulunan basitleştirme, daha hızlı ve daha kolay yazılım geliştirmeyi mümkün kılar ve uygulamayı çalıştırmak için gereken temel bilgi işlem, depolama, veritabanı, işletim sistemi ve ağ kaynaklarını gizleyerek geliştiricinin çalışma kapsamını azaltır. Ticari PaaS teklifleri, müşterilerden bu kaynakların kullanımı ve bazen platformun kendisi için, lisans başına veya barındırılan uygulama sayısına göre ücret alır.
Çoğu PaaS aracı, geliştiriciler için bir dizi ortak kararı veya süreci soyutlayarak belirli ortak uygulama türleri oluşturma sürecini kolaylaştırmayı amaçlayan şablonlar veya derleme paketleri sağlar. Bu nedenle, geliştiricilere uygulama oluşturmak ve çalıştırmak için biraz kısıtlı olsa da açıkça tanımlanmış bir yöntem sundukları için PaaS seçenekleri genellikle “fikirli” olarak etiketlenir.
PaaS tanımlı
Hizmet olarak altyapı (IaaS) ve hizmet olarak yazılım (SaaS) gibi diğer bulut hizmetlerinde olduğu gibi, bir PaaS’a genellikle internet üzerinden erişilir, ancak aynı zamanda şirket içinde veya bir karma mod.
Uygulamaların sonunda üzerinde çalıştığı temel altyapı, tamamen hizmet sağlayıcı tarafından yönetilir. Çoğu durumda, müşteri uygulamanın nerede barındırılacağına karar verebilir ve bu ortamın ne kadar performanslı veya güvenli olacağı konusunda, genellikle ek bir ücret karşılığında bir seçenek sunulur.
Tipik bir PaaS’nin yapı taşları şunları içerir:
- Yönetilen altyapı: Sağlayıcı, uygulamanızı çalıştırmak için gereken sunucuları, depolamayı, veri merkezlerini ve ağ kaynaklarını yönetir.
- Tasarım, test ve geliştirme araçları: Entegre bir geliştirme ortamı, bir kaynak kodu düzenleyicisi, derleyici ve hata ayıklayıcı dahil olmak üzere, gerçekten yazılım oluşturmak için gereken araçları bir araya getirir. Bazı sağlayıcılar, geliştiricilerin birbirlerinin çalışmalarını paylaşmasına ve katkıda bulunmasına olanak tanıyan işbirliği araçları da içerir.
- ara yazılım: Bir PaaS genellikle çeşitli işletim sistemlerini ve kullanıcı uygulamalarını entegre etmek için gereken araçları içerir.
- İşletim sistemleri ve veritabanları: Bir PaaS, uygulamaların çalıştırılacağı işletim sistemlerinin yanı sıra çeşitli yönetilen veritabanı seçenekleri sağlar.
PaaS ve IaaS
Pek çokları için, PaaS ve IaaS tartışması, geliştiricilerin büyük çoğunluğunun IaaS yapı taşlarını kullanarak uygulamaları kendileri bir araya getirmekten mutlu olduğu pazar tarafından çözüldü. Bununla birlikte, pazara giden en hızlı yolu arayan geliştiriciler, hız ve basitlik arayışında yine de PaaS’a dönebilir.
Yazılım geliştirmedeki herhangi bir kararda olduğu gibi, bunun da ödünleşimleri vardır ve bir organizasyonun neyi başarmak istediğine bağlıdır. Örneğin, belirli bir PaaS çözümüne yoğun bir şekilde yatırım yapan bir kuruluş, PaaS hala geliştiricilerin uygun uygulamaları hızlı bir şekilde üretmesini sağlıyorsa, daha modern bir geliştirme yaklaşımına geçişin kesintiye uğramasını önlemek isteyebilir. Diğer durumlarda, PaaS’ın doğasında bulunan sınırlı geliştirici seçenekleri, yoğun şekilde düzenlenmiş endüstrilerde gerçekten faydalı olabilir.
PaaS avantajları ve dezavantajları
PaaS kullanmanın en büyük avantajlarından biri, çalışacakları ortamı kurmak ve sürdürmek için gereken ağır yükler olmadan uygulamaları hızlı bir şekilde oluşturup dağıtma yeteneğidir. Bu, teorik olarak geliştiricilere, altyapı sağlama gibi sorunları çözmek yerine iş mantığını farklılaştırmaya odaklanmanın yanı sıra daha hızlı ve daha sık aralıklarla dağıtma yeteneği verir.
Bir PaaS, hizmet düzeyi anlaşmaları ve diğer garantilerle bir hizmet sağlayıcı tarafından sürdürüldüğünden, geliştiricilerin yama ve yükseltmeler gibi yorucu ve tekrarlayan görevler hakkında endişelenmelerine gerek yoktur ve ortamlarının yüksek düzeyde kullanılabilir ve kararlı olacağından emin olabilirler (ancak kesintiler devam ediyor).
Bir PaaS, yeni bir ortam oluşturmaya yönelik ön yatırım olmaksızın, yeni bulut yerel geliştirme tekniklerine ve programlama dillerine kullanışlı bir ağ geçidi de olabilir.
PaaS kullanımıyla ilgili risklerin çoğu, profesyonel geliştiricilerin uygulamalarını üçüncü taraf bir platform sağlayıcısına devrederek kabul etmesi gereken kontrol kaybından kaynaklanmaktadır. Bu riskler arasında bilgi güvenliği ve veri yerleşimi endişeleri, satıcıya kilitlenme korkuları, hızla artan barındırma maliyetleri ve plansız kesintiler yer alır.
PaaS ile geliştiriciler, geliştirme ortamlarını değiştirmek için sınırlı bir alana sahiptir ve bu da bazı ekip üyelerinin kendilerini sıkışmış hissetmelerine neden olabilir. Ortamda değişiklik yapamama veya hizmet sağlayıcı tarafından dağıtılan özellik istekleri alamama, şirketlerin PaaS’lerini aşmalarına ve kendi dahili geliştirici platformunu oluşturmak.
PaaS örnekleri
Önde gelen PaaS sağlayıcıları arasında AWS (Amazon Web Services), Google Cloud Platform, Microsoft Azure, Red Hat OpenShift ve Salesforce’un Heroku bulunur.
Üç Büyük bulut sağlayıcısı (AWS, Microsoft Azure ve Google Cloud) son on yılda geliştiricileri hizmetlerine çekmek için büyük yatırımlar yaptı ve daha kolay benimsenmesi için kendi bulut bileşenlerini üzerinde düşünülmüş bir PaaS’de bir araya getirdi.
Bugün hala piyasada bulunan önde gelen PaaS seçeneklerinden bazıları aşağıdakileri içerir.
AWS Elastik Fasulye Sırığı
İlk PaaS seçeneklerinden biri olan AWS Elastic Beanstalk, temel altyapı hakkında bilgi edinmek zorunda kalmadan bulut uygulamalarının hızlı bir şekilde dağıtılmasını ve yönetilmesini sağlar. Elastic Beanstalk, kapasite sağlama, yük dengeleme, ölçekleme ve uygulama durumu izleme ayrıntılarını otomatik olarak işler.
Bulut Dökümhanesi
Cloud Foundry, Cloud Foundry Foundation (CFF) tarafından yönetilen açık kaynaklı bir PaaS’dir. Başlangıçta VMware tarafından geliştirildi ve daha sonra 2015 yılında CFF’ye aktarılmadan önce EMC, VMware ve General Electric’in ortak girişimi olan Pivotal Software’e aktarıldı. Cloud Foundry, orkestrasyon için Kubernetes kullanarak konteyner tabanlı uygulamalar oluşturmak ve çalıştırmak için tasarlanmıştır. .
Google Uygulama Motoru
Google App Engine, başka bir erken PaaS girişiydi. Google tarafından yönetilen veri merkezlerinde web uygulamalarının geliştirilmesini ve barındırılmasını desteklemek için tasarlanmıştır. Uygulamalar korumalı alana alınır, çalıştırılır ve birden çok sunucu arasında otomatik olarak ölçeklenir.
Microsoft Azure Uygulama Hizmeti
Microsoft Azure App Service, çeşitli Azure hizmetlerini tek bir platformda birleştiren tam olarak yönetilen bir PaaS’dir.
Kırmızı Şapkalı OpenShift
Red Hat OpenShift, kapsayıcılı uygulamalar oluşturmak ve dağıtmak için bulutta barındırılabilen veya şirket içinde dağıtılabilen bir PaaS teklifleri ailesidir. Amiral gemisi ürünü, Red Hat Enterprise Linux temeli üzerinde kapsayıcılı uygulamalar oluşturmak için şirket içi, Kubernetes tabanlı bir PaaS olan OpenShift Container Platform’dur.
Salesforce Heroku
Erken ve çok sevilen bir PaaS olan Heroku, 2010 yılında SaaS devi Salesforce tarafından satın alındığından beri yolunu kaybetmiş olabilir, ancak geliştiriciler için popüler bir seçenek olmaya devam ediyor.
Bugün Heroku, çok çeşitli dilleri ve üzerinde uygulama çalıştıran binlerce geliştiriciyi destekleyen daha geniş Salesforce geliştirici araçları Platformunun bir parçasıdır. Pratikte, Heroku’yu kullanmak, sanallaştırılmış Linux kapsayıcılarında dağıtılan ortak bir çalışma zamanı üzerine inşa etmeyi içerir—veya dinamitHeroku’nun dediği gibi, AWS sunucularından oluşan bir dyno ızgarasına yayılır.
Sunucusuz PaaS’ın yükselişi
PaaS terimiyle ille de ilişkili olmayabilirler, ancak Vercel ve Netlify gibi modern yazılım geliştirme platformları, geliştiricilere zarif bir deneyim ve uygulamalarını barındırmak için basit bir yol sağlayarak son yıllarda büyük başarı elde etti.
Bu sağlayıcılar, özünde, ön uç web geliştirme görevini (React gibi popüler web çerçevelerini kullanarak) bu kodu üretimde çalıştırma işinden ayırmayı vaat ediyor.
Bu satıcılar, büyük bulut sağlayıcılarının üzerine küresel uç ağlar kurarak, akışı kesintiye uğratmadan veya uygulamaları uygun ölçekte çalıştırma konusunda endişelenmek için bir devops ekibi istihdam etmek zorunda kalmadan modern web uygulamalarını dağıtmak için yönetilen bir yol sunar.
Büyük bulut satıcıları ayrıca ölçeklendirme, yama uygulama ve sunucuları yönetme gibi operasyonel görevleri kendi AWS Fargate, Azure Container Instances ve Google Cloud Run ürünleri aracılığıyla soyutlayarak müşterilerin kodlarını konteynerden üretime daha hızlı almalarına yardımcı olmaya çalışıyor.
Aynı zamanda büyük bulutlar, AWS Lambda, Google Cloud Functions ve Microsoft Azure Functions dahil olmak üzere kendi sunucusuz bilgi işlem seçeneklerini de sunar. Esasen, bu PaaS benzeri platformlar, geliştiricilerin, kod yazarken altta yatan sunucu altyapısını dikkate almak zorunda kalmadan, modern uygulamaları oluşturan mikro hizmetleri oluşturmak için bir kitaplıktan işlevler almasına olanak tanır. Sunucusuz uygulamalar, bir kullanıcı isteği onları harekete geçirene kadar sıfır bulut döngüsü tüketme avantajına sahiptir.
Kubernetes ve PaaS karşılaştırması
PaaS, vaadine rağmen, geliştiriciler genellikle kendi şartlarına göre daha fazla kontrol ve ölçeklenebilirlik aradığından, kurumsal düzeyde uygulamalar oluşturmanın ana yolu olmadı. Bu bizi yazılım kapsayıcıları ve Kubernetes çağına götürdü.
Kapsayıcı düzenleme aracı Kubernetes ile ilgili sorun, bunun dik bir öğrenme eğrisine sahip karmaşık bir açık kaynak teknolojisi olmasıdır. PaaS’lerini aşan ve Kubernetes tarafından yönetilen kapsayıcılara geçiş yapan geliştiriciler için, bu platformu yönetmenin ek yükü, bir PaaS’nin geliştiriciler için sağladığı basitlikten ödün veren özel bir mühendis ekibi gerektirir. Kubernetes, uygulamaları hemen hemen her ortamda dağıtmak ve çalıştırmak için size tutarlı bir yol sunduğundan, bu karar uzun vadede faydalı olabilir, ancak bu hafife alınacak bir karar değildir.
PaaS olabilir uzun zaman önce kapsayıcı yönetimi ve otomasyon fikri tarafından geniş çapta kapsandı, Red Hat, VMware gibi büyük platform satıcıları ve son yıllarda kapsayıcıların ve Kubernetes’in benimsenmesini kolaylaştırma yönünde gerektiği gibi dönen genel bulut sağlayıcıları ile. Bu, çok sayıda yönetilen Kubernetes, hizmet olarak kapsayıcılar (CaaS), sunucusuz bilgi işlem ve hizmet olarak işlev (FaaS) seçeneklerine yol açtı., tümü, geliştiricilere talep ettikleri esneklik ve taşınabilirliği sağlarken, kapsayıcı kümelerini yönetme yükünü hafifletmeyi ve bu öğrenme eğrisini düzleştirmeyi amaçlıyordu.
Bunların hiçbiri, mutlaka PaaS’ın öldüğü anlamına gelmez, ancak endüstri, Kubernetes tarafından yönetilen kapsayıcılı uygulamalara doğru geniş bir şekilde kaydığı için PaaS kesinlikle gelişmektedir. Yazılım geliştirmeyi basitleştirmek için her zaman bir pazar olacaktır, ancak bunu yapmak için temel platform zamanla değişti.
Telif Hakkı © 2022 IDG Communications, Inc.
[ad_2]
Kaynak : https://www.infoworld.com/article/3223434/what-is-paas-platform-as-a-service-a-simpler-way-to-build-software-applications.html#tk.rss_all