Elasticsearch’ü Servis Olarak Kullanmak

Eğer web siteniz veya mobil uygulamanızda bir arama fonksiyonu var, ve bu ürününüz için önemli bir noktada ise, bir search engine’e ihtiyacınız var demektir. Bunun için kullanabileceğiniz çeşitli alternatifler var. Solr ve Elasticsearch’ü açık kaynak olarak indirip, kendi sunucunuz üzerine kurabileceğiniz gibi, Elasticsearch’ü servis olarak veren yerler’de mevcut. Algolia ise sadece servis olarak kullanabileceğiniz bir başka alternatif.

Benim derlediğim, Elasticsearch’ü (yeni ismi ile Elastic) servis olarak (Elasticsearch as a Service) kullanabileceğiniz yerler aşağıdaki gibi:

  • Elastic.co: Elasticsearch’ün kendisi direk servis olarak da hizmet sunmakta
  • Compose.io: Elasticsearch hizmeti bulunmakta.
  • AWS Elasticsearch Service: Amazon’un sunduğu Elasticsearch hizmeti.
  • Qbox.io: Sadece Elasticsearch hizmeti veriyor.
  • Searchly: Sadece Elasticsearch hizmeti veriyor.
  • Bonsai.io: Bir başka Elasticsearch hizmeti alternatifi.

Elasticsearch ile ilk tanıştığımda bunlardan bir çoğu yoktu. Ancak şuan alternatiflerin çok olmasını olumlu görüyorum tabiki. Daha önce Compose.io ve AWS hizmetini kullandım. Size önerim ise kesinlikle AWS. Öncelikle ihtiyacınızı belirleyip, daha sonra hepsi için pricing bölümüne girip karşılaştırma yapabilirsiniz. İhtiyacınızı belirlerken Storage (bu ihtiyacı datanızın boyutuna göre belirleyin) ve Ram (bu ihtiyacı Data’nıza ne kadar istekte bulunacağınıza göre belirleyin) miktarına bakın. Servis olarak almadan önce, kendi sunucunuz üzerinde kullandıysanız zaten neye ihtiyacınız olduğunu bilirsiniz. Eğer bu şekilde kullanmadıysanız herhangi bir servis üzerinden deneyerek ihtiyacınızı belirleyebilirsiniz.

Compose.io Deneyimi

Index’letmek istediğiniz datanın kaplayacağı alana göre (storage) fiyat belirleyen Compose, küçük miktardaki datalar için oldukça uygun fiyatlara bu hizmeti veriyor. Ancak maalesef bu küçük paketlerde pek stabil olduğu söylenemez. Data miktarı büyük olduğunda ise zaten fiyat uygun olmuyor 🙂 Dolayısıyla Compose deneyimi sonrası yeni arayışlara girmemiz gerekti. Sonrasında sunucu tarafında kullandığımız Amazon’un ElasticSearch servisi olduğunu gördük ve denedik.

AWS Elasticsearch Service Deneyimi

AWS’nin Elasticsearch servisinde direk bir fiyatlandırma yok. Bunun yerine bu servis için EC2 ve storage kullanıyorsunuz ve bunları ücretlendiriyor. Yani 5-6 GB üzerinde bir storage’a ihtiyacınız var ise AWS sizin için daha uygun oluyor. Fiyatlandırma tarafında ise yapacağınız istek sayısına bağlı olarak (çünkü EC2 sunucularının kapasitesini ona göre belirlemeniz gerekiyor) eğer çok yoğun kullanılan bir servis değil ise oldukça uygun’a geliyor. Stabilite tarafı ise gene ihtiyacınız ve ihtiyacınıza uygun sunucu seçimi yapmış olmanızla alakalı. Biz şuan gayet memnunuz.

Umarım keyifle okumuşsunuzdur. Ek olarak sorularınız olur ise lütfen sormaktan çekinmeyin. Diğer AWS servisleri ile ilgili bir yazı’da sonraki yazılarımızın konusu olsun 🙂

Devir Bulut Devri!

Merhaba herkese,

Bugün sizlere bulut sunucu dünyasından ve alternatiflerden biraz bahsetmek istiyorum. Digitalocean gibi uzun zamandır kullandığım ve memnun olduğum bir cloud server sağlayıcısına ilaveten, AWS (Amazon) , Linode gibi alternatiflerden de bahsedeceğim. Siz seçiminizi yaparken, önce ihtiyaçlarınıza karar vermelisiniz.

Temel farklarına gelecek olursak,

AWS:

Amazon, bugün bulut sunucu dediğimiz sunucu mimarinisi, daha adı bulut sunucu değilken kurgulayan, aslında bir nevi bulut sunucu denilen yapıyı icat eden firma. Sektörün bildiğim ilk, dolayısıyla en tecrübeli oyuncusu. Hal böyle olunca farklı ihtiyaçlar için birbirinden farklı servisleri mevcut. Amazon Web Services ismi şimdi daha anlamlı geliyordur diye düşünüyorum. EC2 (cloud server) , S3 (Simple Storage Service) , RDS (Relational Database Service) gibi gibi bir çok servisi mevcut. Bence en büyük artısı  Elastic Load Balancing iken en büyük eksisi fiyatı!

Linode:

10$’dan başlayan fiyatlarla sanal sunucu (Amazon’daki EC2) oluşturmanızı sağlıyor. Ek olarak NodeBalancers adını verdikleri, sunucuya binen yükü otomatik dağıtmayı sağlayan bir servisleride mevcut. Ancak tabiki Amazon seviyesinde değil.

DigitalOcean:

Amazon’dan çok Linode’a rakip diyebileceğimiz DigitalOcean 5$’dan başlayan fiyatlarla Sanal Sunucu veriyor. Bugün Türkiye dahil dünyada çılgın gibi büyüyen bir firma. Bunun arkasında 5$ etiketinin etkisi olsada, bence en büyük avantajı Community! Github’da arattığınızda DigitalOcean serverları için yazılmış 600 küsür Repo görebilirsiniz. Bu rakam Linode’da 300’lerde iken AWS tabiki 1000 civarı. Uygulamada, örneğin DigitalOcean’da olmayan bir özellik olan LoadBalancer’ı github’daki bir repo sayesinde 5$’a ikinci bir makine açıp kullanabilirsiniz.

Tüm bunlara alternatif olarak Türkiye’den birkaç firma yazabilmeyi çok isterdim ancak maalesef, en iyi dediğimiz Türk firmaları bile bu işi henüz örnek verdiğim sitelerdeki standartların çok altında yapıyor. Bırakın load balance’ı Türkiye’de hiçbir firma siz ticket açıp istemeden (bulut!) sunucunuzun ram veya cpu’sunu arttırıp azaltabilmenize imkan vermiyor.

Favorim olan DigitalOcean için temel sunucu ve panel kurulumunu anlatan bir link paylaşarak yazımı sonlandırmak istiyorum.

http://www.hakanyazici.com.tr/blog/digital-oceanda-vesta-cp-kurulumu/

Buluta geçmeniz dileğiyle,