Bulutta yerel nedir? Yazılım geliştirmenin modern yolu

"Bulutta yerel" terimi, özellikle bulut sağlayıcıları tarafından çok sık kullanılmaktadır. Sadece bu da değil, aynı zamanda kendi temeli bile var: Linux Vakfı tarafından 2015 yılında başlatılan Bulut Yerel Bilgi İşlem Vakfı (CNCF).

"Bulutta yerel" tanımlı

Genel kullanımda, "bulut yerel", bulut bilişim teslim modelinin avantajlarından yararlanan uygulamaları oluşturmaya ve çalıştırmaya yönelik bir yaklaşımdır. “Bulut-yerli” hakkında nasıl uygulamalar oluşturulur ve değil nerede dağıtılır. Bu, uygulamaların şirket içi bir veri merkezinin aksine genel bulutta yaşadığı anlamına gelir.

CNCF, "bulutta yerel" ifadesini biraz daha dar bir şekilde tanımlar, yani uygulamanın her bir parçasının kendi kapsayıcısında paketlendiği, dinamik olarak düzenlendiği ve kaynağı optimize etmek için her bir bölümün etkin bir şekilde programlandığı ve yönetildiği konteyner haline getirilecek açık kaynak yazılım yığınını kullanmak anlamına gelir. uygulamaların genel çevikliğini ve sürdürülebilirliğini artırmak için kullanım ve mikro hizmet odaklı.

Deloitte danışmanlık firması genel müdürü Mike Kavis, "Bir bulut yerel uygulaması, modern bulut bilişim platformlarının gerektirdiği esnek ve dağıtılmış doğada çalışmak için özel olarak tasarlandı" diyor. "Bu uygulamalar gevşek bir şekilde birleştirildi, bu da kodun herhangi bir altyapı bileşenine fiziksel olarak bağlanmadığı anlamına geliyor, böylece uygulama talep üzerine ölçeklenebilir ve değişmez altyapı kavramlarını benimseyebilir. Genellikle bu mimariler mikro hizmetler kullanılarak oluşturulur, ancak bu zorunlu bir gereklilik değildir. "

Bir bulut hizmetleri sağlayıcısı olan Splunk'ın baş teknoloji savunucusu Andi Mann, bulut tabanlı uygulamalar için büyük farkın uygulamanın nasıl oluşturulduğu, teslim edildiği ve çalıştırıldığıdır. "Bulut hizmetlerinden yararlanmak, çoklu bulut gibi teknoloji sınırlarında bile iyi tanımlanmış yollarla entegre olan ayrık ve yeniden kullanılabilir özellikler sunmak için kapsayıcılar gibi çevik ve ölçeklenebilir bileşenleri kullanmak anlamına gelir. Bu, teslimat ekiplerinin tekrarlanabilir otomasyon ve düzenleme kullanarak hızla yineleme yapmasına olanak tanır."

Bulutta yerel uygulama geliştirme, genellikle devops, çevik metodoloji, mikro hizmetler, bulut platformları, Kubernetes ve Docker gibi kapsayıcılar ve kısaca her yeni ve modern uygulama dağıtım yöntemini içerir.

Bu nedenle, gerçekten bir hizmet olarak platform (PaaS) modeline sahip olmak istiyorsunuz. PaaS gerekli değildir, ancak işleri çok daha kolay hale getirir. Bulut müşterilerinin büyük çoğunluğu, uygulamalarını temeldeki donanımdan soyutlamaya yardımcı olan hizmet olarak altyapı (IaaS) ile işe başlar. Ancak PaaS, temeldeki işletim sistemini soyutlamak için fazladan bir katman ekler, böylece tamamen uygulamanızın iş mantığına odaklanabilirsiniz ve işletim sistemi çağrıları yapma konusunda endişelenmenize gerek kalmaz.

İlgili video: Bulutta yerel yaklaşım nedir?

Heptio'nun kurucusu ve CEO'su ve açık kaynaklı Kubernetes'in mucitlerinden biri olan Craig McLuckie'den, bulutta yerel yaklaşımın işletmelerin teknolojilerini yapılandırma şeklini nasıl değiştirdiğini öğrenin.

Bulut tabanlı ve şirket içi uygulamalar arasındaki farklar

Bulut tabanlı uygulama geliştirme, geleneksel kurumsal uygulamalardan çok farklı bir mimari gerektirir.

Diller

Şirket sunucularında çalışacak şekilde yazılan şirket içi uygulamalar, bir Windows Server platformunda ve kurumsal Java'da konuşlandırılmışsa C / C ++, C # veya başka bir Visual Studio dili gibi geleneksel dillerde yazılma eğilimindedir. Ve ana bilgisayarda ise, muhtemelen Cobol'dadır.

Bulut tabanlı uygulamaların web merkezli bir dilde yazılma olasılığı daha yüksektir, bu da HTML, CSS, Java, JavaScript, .Net, Go, Node.js, PHP, Python ve Ruby anlamına gelir.

Güncellenebilirlik

Bulut tabanlı uygulamalar her zaman güncel ve günceldir. Bulut tabanlı uygulamalar her zaman kullanılabilir.

Şirket içi uygulamaların güncelleştirmelere ihtiyacı vardır ve genellikle satıcı tarafından abonelik temelinde sunulur ve güncelleme yüklenirken kapalı kalma süresi gerektirir.

Esneklik

Bulut tabanlı uygulamalar, bir kullanım artışı sırasında artan kaynakları kullanarak bulutun esnekliğinden yararlanır. Bulut tabanlı e-ticaret uygulamanız kullanımda bir artış yaşarsa, ani artış azalıncaya kadar ekstra işlem kaynaklarını kullanmaya ayarlayabilir ve ardından bu kaynakları kapatabilirsiniz. Bulut tabanlı bir uygulama, artan kaynaklara uyum sağlayabilir ve gerektiğinde ölçeklenebilir.

Şirket içi bir uygulama dinamik olarak ölçeklenemez.

Çok kiracılık

Bulut tabanlı bir uygulamanın sanallaştırılmış bir alanda çalışma ve kaynakları diğer uygulamalarla paylaşma konusunda hiçbir sorunu yoktur.

Şirket içi uygulamaların çoğu ya sanal ortamda iyi çalışmaz ya da hiç çalışmaz ve sanallaştırılmamış bir alan gerektirir.

Bağlı kaynaklar

Şirket içi bir uygulama, ağlar, güvenlik, izinler ve depolama gibi ağ kaynaklarına olan bağlantılarında oldukça katıdır. Bu kaynakların çoğunun sabit kodlanması gerekir ve herhangi bir şey taşınırsa veya değiştirilirse kırılırlar.

"Bulutta ağ ve depolama tamamen farklı. Deloitte'den Kavis, "yeniden platform oluşturma" terimini duyduğunuzda, bu genellikle uygulamanın bulutta çalışmasını sağlamak için ağ, depolama ve hatta veritabanı teknolojilerindeki değişiklikleri barındırma çalışmasıdır "diyor.

Boş zaman

Bulutta, şirket içinde olduğundan daha fazla fazlalık vardır, bu nedenle bir bulut sağlayıcısı kesintiye uğrarsa, başka bir bölge boşluğu alabilir.

Şirket içi uygulamalar yük devretmeye hazır olabilir, ancak sunucu çökerse uygulamanın da onunla birlikte kapanma olasılığı yüksektir.

Otomasyon

Bulutun büyük bir kısmı otomatiktir ve buna uygulama yönetimi dahildir. Splunk, "Bulutta yerel dağıtımın avantajları, özellikle hız ve çeviklik, önemli ölçüde, manuel müdahale yerine otomasyon ve düzenleme araçları tarafından ihtiyaç duyulduğunda tekrar tekrar yürütülen güvenilir, kanıtlanmış ve denetlenmiş iyi bilinen süreçler alt katmanına dayanıyor," diyor Splunk's Mann. Mühendisler, tekrarlanabilirlik, self servis, çeviklik, ölçeklenebilirlik ve denetim ve kontrolü etkinleştirmek için birden fazla yaptıkları hemen hemen her şeyi otomatikleştirmeye çalışmalıdır.

Şirket içi uygulamaların manuel olarak yönetilmesi gerekir.

Modüler tasarım

Şirket içi uygulamalar tasarım açısından monolitik olma eğilimindedir. Elbette bazı işleri kitaplıklara yüklüyorlar, ancak sonunda birçok alt yordamı olan büyük bir uygulama. Bulut tabanlı uygulamalar, mikro hizmetlere bölünmüş birçok işlevle çok daha modülerdir. Bu, gerekmediğinde kapatılmalarına ve güncellemelerin tüm uygulama yerine tek bir modüle yayılmasına olanak tanır.

Vatansızlık

Bulutun gevşek bağlı yapısı, uygulamaların altyapıya bağlı olmadığı anlamına gelir, bu da onların vatansız oldukları anlamına gelir. Bir bulut yerel uygulaması, durumunu bir veritabanında veya başka bir harici varlıkta depolar, böylece örnekler gelip gidebilir ve uygulama, uygulamanın iş biriminde nerede olduğunu izlemeye devam edebilir. Bu, gevşek bir şekilde bağlanmanın özüdür. Altyapıya bağlı olmamak, uygulamanın yüksek oranda dağıtılmış bir şekilde çalışmasına ve yine de altta yatan altyapının esnek doğasından bağımsız olarak durumunu korumasına izin veriyor ”diyor Kavis.

Şirket içi uygulamaların çoğu durum bilgisine sahiptir, yani uygulamanın durumunu kodun çalıştığı altyapı üzerinde depolarlar. Bu nedenle, sunucu kaynakları eklenirken uygulama bozulabilir.

Bulutta yerel bilgi işlemin zorlukları

Mann, müşterilerin yaptığı en büyük hatalardan birinin eski şirket içi uygulamalarını kaldırmaya ve buluta geçirmeye çalışmak olduğunu söylüyor. "Mevcut uygulamaları, özellikle yekpare eski uygulamaları almaya ve bunları bir bulut altyapısına taşımaya çalışmak, temel bulut yerel özelliklerinden yararlanmayacaktır."

Bunun yerine, yeni bulut tabanlı uygulamaları yeni bulut altyapısına yerleştirerek veya sıfırdan bulut tabanlı ilkeleri kullanarak yeniden düzenlemek için mevcut monolitleri parçalara ayırarak yeni yollarla yeni şeyler yapmaya çalışmalısınız.

Ayrıca eski geliştirici yöntemlerinden vazgeçmeniz gerekir. Şelale modeli kesinlikle işe yaramayacaktır ve çevik geliştirme bile yeterli olmayabilir. Bu nedenle, minimum uygulanabilir ürün (MVP) geliştirme, çok değişkenli test, hızlı yineleme ve bir devops modelinde organizasyonel sınırların ötesinde yakın çalışma gibi yeni bulutta yerel yaklaşımları benimsemelisiniz.

Bulutta yerel olmanın altyapı hizmetleri, otomasyon / düzenleme, sanallaştırma ve konteynerleştirme, mikro hizmet mimarisi ve gözlemlenebilirlik gibi birçok yönü vardır. Tüm bunlar, yeni bir şeyler yapmanın yeni bir yolu, yani yeni yolları öğrenirken eski alışkanlıklarınızı kırmak anlamına gelir. Öyleyse bunu ölçülü bir hızda yapın.

İlgili bulut tabanlı teknolojiler hakkında daha fazla bilgi edinin

  • Hizmet olarak platform (PaaS) açıklaması
  • Multicloud açıkladı
  • Çevik metodoloji açıkladı
  • Çevik geliştirme en iyi uygulamaları
  • Devops açıkladı
  • Devops en iyi uygulamaları
  • Mikro hizmetler açıkladı
  • Mikro hizmetler eğiticisi
  • Docker ve Linux kapsayıcıları açıklandı
  • Kubernetes eğiticisi
  • CI / CD (sürekli entegrasyon ve sürekli teslimat) açıklaması
  • CI / CD en iyi uygulamaları