Showing posts with label turkish. Show all posts
Showing posts with label turkish. Show all posts

Sunday, July 17, 2016

Open Shift incelemesi

Yakın bir zamanda Open Shift (https://www.openshift.com/) isimli web sitesi ile karşılaştım. Son dönemde AWS ürünleri üzerinde çalıştığımdan ilgimi çekti. Open Shift kendi sitelerindeki ifade ile, "Red Hat'a ait, yazılımcıların hızlıca geliştirme, barındırma ve ölçeklendirme (scaling) yapabilecekleri "cloud-based" bir "platform-as-a-service, PaaS" sistemi. Bunu okuyunca aklımda canlanan şey, AWS'nin Elastic Beanstalk ürünü oldu.

Open Shift sisteminde herşey bir "cartridge" olarak sunuluyor. Cartridge mantığını bir lego gibi düşünebilirsiniz. Bir web sitesini düşünerek örneklendirecek olursak; bir web sitesi server tarafında çeşitli servislerin birleşimi ile çalışabiliyor. Minimumda size yazdığınız kodu çalıştırıp, isteklere cevap verecek bir "web server" gerekiyor. Statik siteler dışında, doğal olarak bir database katmanına da ihtiyaç duyuyorsunuz. Bazen yoğunluğu dağıtmak için bir load balancer da genel ihtiyaçlardan birisi olabiliyor. İşte bu katmanların her biri, sizin bir araya getirebileceğiniz "cartridge" ler oluyor. Bunları bir araya getirebilmek için de bunların kurulumu, işletim sistemi vs. gibi konularla uğraşmıyorsunuz. Bir listeden seçiyorsunuz, yan yana getiriyorsunuz ve herşey otomatik olarak çalışmaya başlıyor.

Tabii verdiğim bu örnek, olayın detayını anlatmak için biraz basit kaldı. Çünkü Open Shift de seçenekler daha esnek. Örneğin, bir cartridge olarak PHP5.4 seçip, PHP çalışan bir yapıya kavuşabileceğiniz gibi; PHP5.4 gibi birşey seçmek yerine, Codeigniter framework cartridge'i seçip, PHP meselesini es geçerek Codeigniter ile devam edebiliyorsunuz. Ya da PHP framework yerine Wordpress cartridge çalıştırabiliyorsunuz.

Olası cartridge'lerden bazı örnekler de yazayım :

PHP grubu : PHP5.4, CodeIgniter 2, Laravel 5.0, Magento Community Edition, Symfony 2.3.6, ownCloud, Cacti, vb.

Python grubu : Python 2.6/2.7/3.3, Django, Flask, Tornado Web Server, CherryPy, vb.

Ruby grubu : Ruby 1.8/1.9/2.0, Ruby on Rails 3/4, Sinatra, Redmine, Keen IO, Jekyll, vb.

Ve diğerleri : MongoDB, MySQL, PostgreSQL, Cron, Web Load Balancer, JBOSS Application Server, Tomcat, Nodejs, Perl 5, Go Language, MEAN, Clojure, Reveal.js, vb.

Bunlar arasında aradığınızı bulamadıysanız üzülmeyin :) Çünkü Open Shift aynı zamanda kendi "cartridge"lerinizi de evinizde hazırlayıp, bu sisteme yüklemenize izin veriyor. (https://hub.openshift.com/quickstarts/21-cartridge-development-kit)

Güzel bir özelliği daha var bu sistemin, test etmek ve incelemek için kredi kartınızı vermek zorunda değilsiniz. Çünkü ücretsiz hesaplara 3 adet small "gear" kullanabilme hakkı verilmiş. "Gear" sizin seçtiğiniz cartridge'lerin runtime da çalıştığı bir nevi "slot"lara verilen isim. Yani ücretsiz hesapta size verilen 3 gear'a seçtiğiniz 3 cartridge i ekleyip bir "application" çatısı altında çalıştırabilirsiniz. Mesela, ben bir test uygulaması oluşturup altına PHP 5.4 ve PostgreSQL 9.2 cartridge'lerini ekledim.

Benim eklediğim PHP hello world uygulamasına (tek satır bir yazı var sadece :)) şuradan ulaşabilirsiniz :

http://test-uguraslan.rhcloud.com/

Uygulamanın yönetim panelinde aşağıdaki şekilde görünmektedir.


Open Shift konusunda anlatmak istediğim başka bir sürü konu var ama genel bir bilgi vermek amacıyla bu kadarı yeterli olacaktır.




Yeni blog sayfam

Uzun yıllardır başka bir alan adı üzerinden blog sitemi yayınlıyordum. Fakat son zamanlar da, artık biraz da çocukca gelen eski alan adımı kullanmak yerine kendi ismimle yeni blog adresine geçmenin zamanı geldiğine karar verdim. Zaten içerik olarak da çok eskimiş yazılar vardı. Çok eskiyen ve bugün artık anlamı kalmamış yazılarımı da sunmanın bir mantığı olmadığını düşündüm.

Yeni blog sitesi için başlarda gene kendi sunucum üzerinden host edebileceğim Wordpress haricinde birşeyler bakıyordum ama sadece bir blog sitesi için onlarca ücretsiz alternatif servis varken, boşu boşuna zahmet ve kaynak israfı yapmak mantıklı gelmedi. Zaten Wordpress ve bazı benzerlerinin varsayılan veritabanı olarak MySQL kullanıyor olması benim için sıkıntı idi. Çünkü ben uzun yıllardır MySQL yerine PostgreSQL tercih ediyorum. Bir blog sitesi yayınlamak için MySQL in boş yere sistemde kaynak tüketmesi de mantıklı gelmedi.

Bu site çok okunsun, birileri gelsin filan gibi beklentilerim ve amacım olmadığından online servislerin hangisini seçsem diye de çok düşünmedim. Hatta çok da incelemedim ve karşılaştırmadım. Muhtemelen Google, temel ihtiyaçları karşılayan birşey sunuyordur diye Blogger'ı tercih ettim.

Yeni sayfamın ilk içeriği için birşeyler karalamak lazımdı :) Sanıyorum ki çok da manası olmayan bu yazı ilk içerik olarak yeterli olacaktır :)