Bulut Bilişim

Bulut Bilişim Özellikleri

Bulut Bilişim konumuzun üçüncü yazısına geldik. Daha önceki yazılarda “Bulut Bilişime kısaca” göz atıp “Bulut Bilişim Nedir?” sorularına cevap verdik. Şimdi sıra geldi. Bulut Bilişimin özelliklerine. Çoğunuzun bulut bilişim özelliklerinin ne olduğunu bile bilmediğine bahse girerim. Bulut bilişim becerileri hakkında çok şey duymuş olabilirsiniz. Ama hayır! Bundan bahsetmiyorum. Ve evet, kafam karışık değil. Aslına bakarsanız, aslında bu ikisi arasındaki kafa karışıklığını gidermek için buradayım. Bu ikisini birbirinden ayırmak için burada değilim, ama açıkçası size bulut bilişim özelliklerinin geliştirildiği en iyi dilleri ve bunların nasıl ortaya çıktığını gösteriyor olacağım.

Bulut Bilişim Özellikleri ve Varlığı

Yeni başlayanlar için küçük bir giriş:

“Bulut bilgi işlem özellikleri, paylaşılan bir yapılandırılabilir bilgi işlem kaynakları havuzuna her yerde, kullanışlı, isteğe bağlı erişim sağlayan bir modeldir.”

Offf… Bu Wikipedia’daki tanım. Bu, Bulut’un ne olduğunu gerçekten anlamak için fazla kitabi değil mi. Basitleştirmek için, şöyle ifade edeyim, Bulut, İnternette sakladığınız her şeydir. Dropbox veya Google Drive gibi günlük yaşamınızda kullandığınız bazı şeyler. Ama internette sakladığınız her şeyi söylediğimde, bu Facebook resmi falan filan demek değil. Yada bir siyasetçimizin dediği gibi “Abur cubur herşeyi dolduruyorsun. İsteyen istediğini oradan alıyor ama hiç de karışmıyor 🙂” tabi ki bu da tam olarak değil.

Bulut depolama olarak sayılabilmesine rağmen, Mark Zuckerburg için bir bulut bilişim becerileri veritabanı olurdu, ama bizim için değil. Bulut Bilişim depolaması çok geniş bir kavramdır. Ancak, ilerlemenizi sağlamak için, İnternet bulutuna kaydettiğiniz her şeyin, sizin için değilse bile birileri için bir bulut veritabanı olduğunu anlayın.

Bulut Bilişime Nasıl başlanır?

Artık temel olarak bulutun ne olduğunu anladığınıza göre, soru nasıl başlayacağınızdır.

Programcıların, bulut programlama tabanlı uygulamalar geliştirirken seçebilecekleri bir dizi platform vardır. Ancak, AECC yani Amazon’un Elastic Computing Cloud’u ve GAE yani Google App Engine en ünlüleridir.

Açıkçası, aralarından seçim yapabileceğiniz çok fazla çeşitlilik var ama AECC veya GAE kadar ilgi görmediler. Ancak bu bloga gelince, gerçekten başlamanız için yalnızca geliştirme kaynakları olan bazı ilginç web sitelerini inceleyeceğiz.

Bulut geliştirmede bir kariyere bakarken akla gelen ana hedefli sorular şunlardır: “Bulut programlama ile temel web sitesi geliştirme arasındaki fark nedir? Bir programcı neleri bilmeli ve bulut programlamayı öğrenirken hangi teknolojilerde güncel olmalıdır?

Birkaç örnek, Hizmet Olarak Yazılım (SAAS), Hizmet Olarak Platform (PAAS) veya Hizmet Olarak Altyapı (IAAS) olabilir. Web geliştirme konusunda iyi bir geçmişe sahip olan, ancak yapısını bulut programlamanın tanıtımıyla değiştirmeye karar veren bir şirkette çalışıyorsanız, o zaman tüm becerilere sahip olmanız gerekir mi?

Bulut programlama endüstrisi her ikisine de eşit muamele etse de, bir SAAS geliştiricisinin ön koşulu, sanal geliştirme bulut bilişim becerileri ortamında çalışan bir kişininkinden çok farklı olacağından, tüm bunları tek seferde öğrenmek zor bir görev olacaktır.

Şimdilik, bulut programlama geliştirme altında çalışılabilecek en iyi dillerden bazıları olan birkaç dili beyaz listeye ekledim.

 SQL DDL

SQL’in tartışmasız veri dillerinin kralı olduğunu söylemeye gerek yok. Günümüzde hem ilişkisel hem de ilişkisel olmayan veritabanları SQL’e dayanmaktadır. Veri Tanımlama Dili veya DDL, SQL 2016’da MySQL veri yapılarını tanımlamak için tanıtılan bir terimdir. Ancak bunları SQL’de veri yapılarını oluşturmak, değiştirmek veya düzenlemek için kullanabilirsiniz.

XML

XML türü veri aslında XML Şemasının bir parçasıdır. XML Şemalarında kullanılabilecek veri tiplerini tanıtmak için belirli bölümleri tanımlar. Aslında XML’de temsil edilen bu dil, veri tiplerini sadece özniteliklere değil aynı zamanda öğelere de tahsis etmek için XML belge türü tanımlarında veya DTD’de bulunabilen yapılandırılmış bir küme sağlar.

R Math

R Math, hesaplama istatistikleri ve grafikleri için bir dildir. Daha spesifik olmak gerekirse, Bu bir GNU projesi. R Math aslında verilerin işlenmesi, çeşitli şeylerin hesaplanması ve grafiklerin görüntülenmesi için yazılım taktiklerinin bir kombinasyonudur.

Dizileri, matrisleri hesaplamak için operatör paketlerinin yardımıyla verileri uygun bir depolama tesisinde verimli bir şekilde işler ve ekranda veya basılı kopyada görüntülemek için grafiksel verilerin analizi için muazzam bir uygulama koleksiyonuna sahiptir. Aynı zamanda, giriş ve çıkış için döngüler, koşullar ve özyinelemeli yöntemler içeren olgunlaşmış, ancak aynı zamanda basit ve etkili bir programlama diline sahiptir.

Haskell – functional programlama

Haskell, birçok şey yapabilen harika bir dildir. Ayrıca, Bulut programlama ile de ünlüdür. Bulut programlama için Haskell platformu, uzaktan bağlı düğümlere dinamik olmayan kapanışlar göndermek için birçok kitaplıktan, zengin bir API kümesinden ve ayrıca Erlang OTP, yani Açık Telekom Platformununkine benzer bir dizi Platform Kitaplığından oluşur.

Erlang Programlama

Erlang, bulut programlamada uygulamaları kolayca kodlamaya, derlemeye ve hata ayıklamaya yardımcı olan dağıtım destekleri, hata toleransı gibi zengin bir dizi özelliğe sahiptir.

Ayrıca Erlang, esas olarak eşzamanlı paralel veya dağıtılmış gibi durumlarda çalıştırılarak geliştirildi. Bu teknikler hiçbir yan etkisinin olmamasını sağlar. Bunun anlamı, fonksiyonun kendisine karşı çalıştırmak için bir fonksiyonun içinde bir veri parçası çalıştırırsanız, sistem sürecindeki başka hiçbir şeyi etkilemeyecektir.

Kısacası, bir işlevi n sayıda aynı anda tek bir örnekte çalıştırırsanız, bu işlevlerin hiçbirinin diğerleri üzerinde herhangi bir etkisi olmayacaktır. Şaşırmış? Evet, o zaman Haskell dünyasına hoş geldiniz.

Python Programlama

Python! Python! Python! Bu programlama dili hemen her yerdedir. Virüsleri sunuculara yazmaktan üst düzey uygulamalar oluşturmaya kadar. Python programlama, hareket halindeyken bulut programlama uygulamaları oluşturmayı ve çalıştırmayı mümkün kılmıştır.

Uygulamalarınızı web tabanlı bir düzenleyicide kodlayabilir veya herhangi bir rastgele tarayıcıdan bir terminal oturumu çalıştırabilirsiniz. Hareket halindeyken python ile bulut bilişim özellikleri, her şey web’e kaydedilir, bu da işinizi dünyanın herhangi bir yerinden başlatmanızı ve durdurmanızı mümkün kılar.

Python’un pil içermesinin yanı sıra, Amazon ECC tarafından barındırılan son derece güçlü sunucularda da sorunsuz çalışır. Hiçbir şey ödemeden, yaratıcı zihninizle herhangi bir bulut programlama python programını kodlayabilir ve çalıştırabilirsiniz.

Golang Programlama

Golang, Google’ın resmi programlama dilidir. Google’ın altyapısı üzerine inşa edilmiştir ve bunun için iyi miktarda depolama ve bulut bilgi işlem özellikleri hizmetlerine sahiptir. GAE, Golang uygulamalarını korumalı alanlı bir ortam kullanarak derler ve çalıştırır; bu, bunu söylemek oldukça güvenlidir. Ev yapımı uygulamanız web’den istek alacak, işini yapacak ve etkileşimli bir ortamda çalışırken yanıtları geri gönderecek.

Golang, paralel yürütme dışında, GAE’den go-rutinler için tam destek alır. Go-rutinler, tek bir iş parçacığı üzerinde çalışacak şekilde oluşturuldu. Ancak, birden fazla istek olması durumunda, bir istek bir API çağrısından yanıt bekliyorsa, aynı örnek tarafından başka bir isteğin yürütülebileceğini söyleyin.

Google App Engine v/s Amazon EC2

Bulut bilişim özelliklerinin bulut tabanlı hizmetleri, yalnızca masanın altındaki web uygulaması kadar güvenilirdir. Web uygulamasında birkaç sorun bile varsa, uygulamayı bulut bilişim özelliklerine taşımak bir sorun haline gelebilir. Başka bir belirsiz sorun, bulut programlama güvenliği ve bunların ne kadar güvenli ve güvenilir olduklarına ilişkin verileridir.

Bu nedenle, ne kadar denerseniz deneyin, ne denerseniz deneyin çoğu insan Google App motorunu veya Amazon EC2’yi kullanır. Bana gelince, Amazon EC2’yi tercih ederdim ama bu sadece kişisel bir düşünce. Şimdi neyin ne olduğunu biliyoruz, ikisi arasındaki farkları düşünelim:

Google App Engine

Google App Engine’in piyasaya sürülmesinin üzerinden çok zaman geçti. Üst düzey bulut sunucuları ve uygulamaları geliştirmekten daha çok test etmeye odaklanır. Google ve Amazon benzer şeyler sunar, ancak GAE’nin artıları, depolama için ayrı ödeme yapmanız gereken Amazon’un veya bulut barındırma için ECC’nin aksine, Google paketinin her şeyi tek bir pakette sunmasıdır.

GAE’de geliştiriciler Python ile sınırlıdır, ancak Google’ın gelecekte birden çok bulut programlama dili ekleme planları vardır. Google’ın BigTable’ı son derece hızlıdır, bu da eşit olarak dağıtılmış bir MultiD haritaya, ardından yalnızca basit geleneksel satırlar ve sütunlara olanak tanır. GAE’deki sözdizimleri, SQL’inkine biraz benzerdir, bu nedenle SQL geliştiricilerinin GAE’ye geçişi kolay olmalıdır.

Amazon ECC

Amazon ECC, şirketlerden kendi özelleştirilmiş uygulamalarını çalıştırmak için bilgisayarlarını kiralamalarını ister. Sanal makineler burada internet üzerinden kiralanıyor. Bu sanal makineler gerektiği gibi başlatılabilir ve durdurulabilir. Xen sanallaştırmayı destekler, yani 2 GB ile 8 GB arasında değişen bellek boyutlarına ve 900 GB’a kadar depolama alanına sahiptir. Bu iş gelecekte değişebilir. Ancak, kendinizi Amazon ana web hizmetleri web sitesinden güncel tutabilirsiniz. Güncellenmiş bağlantılar, bulut programlama eğitimleri ve beyaz sayfalar da içerir.

Sonuç

Şu an itibariyle, aslında ne kadar ayrıntıya girebileceğimi vurgulayamıyorum. Yukarıda saydıklarımın dışında bir çok şey var ama aslında hepsini not edemem. Sonunda, size en uygun olanı size kalmış. Çünkü bir dil ne kadar iyi olursa olsun, programcı yeterince iyi değilse aslında israftır.

1 Yorum

Yorum yapmak için tıklayın