Teknoloji veya yazılım sektörleri ile uğraşıyorsanız kesinlikle Amazon Web Hizmetlerini duymuşsunuzdur. AWS iş modeli, Amazon Veri Merkezlerindeki altyapının neredeyse tamamını barındırarak diğer işletmelerin sunucu maliyetlerini düşüren devrim niteliğinde bir adımdır.

AWS, kullanılan teknolojiye yönelik olarak, işletmenizi bir ölçeklendirmek için birçok farklı yazılım imkanı sağlar. AWS’ye yeteri kadar aşina değilseniz ve web sitelerinin birçok farklı hizmet türüyle dolu olduğunu da düşünecek olursak, bunu anlamak oldukça zor olabilir. Gelin hep beraber AWS’nin ne olduğunu inceleyelim.

Aslında AWS, birçok farklı şirket türü için çeşitli hizmetler sağlar ve tüm ürünleri,  “Kullandıkça Öde” modeliyle kullanıma sunar. Her hizmeti tek tek anlatamam çünkü bu gerçekten saatler alır. AWS’nin sunduğu en popüler hizmetlerin üzerinden geçip her biri için kolay bir açıklama yapmaya çalışacağım. Bu şekilde, AWS’nin ne olduğunu anlayabilir ve AWS’nin uygulamanıza veya işinize nasıl fayda sağlayacağı konusunda fikir sahibi olabilirsiniz.

Amazon EC2

AWS, kullanılan teknolojiye yönelik olarak, işletmenizi bir ölçeklendirmek için birçok farklı yazılım imkanı sağlar.

AWS, kullanılan teknolojiye yönelik olarak, işletmenizi bir ölçeklendirmek için birçok farklı yazılım imkanı sağlar.

Amazon EC2 (Amazon Elastic Compute Cloud (Sanırım 2’nin nereden geldiğini farketmişsinizdir.)), bulutta güvenli ve yeniden boyutlandırılabilir işlem kapasitesi sağlayan bir web hizmetidir. 

Peki bu ne demek oluyor?

Bulut bilgisayarlar veya bulut sunucuları yeni bir teknoloji değil. Bir makinede barındırılması gereken bir veritabanınız veya yazılımınız olduğunu düşünelim. Normal şartlarda, muhtemelen bunu gerçek bir makinede barındırırdınız. İşletmenize bağlı olarak, bu kurulum oldukça pahalı veya oldukça riskli olabilirdi. Dolayısıyla, Amazon EC2 gibi bir yazılım ile daha büyük bir makinenin belirli bir bölümünü kiralayabiliyorsunuz. Böylece bir felaket riskini ortadan kaldırabiliyor ve donanım maliyetini düşürebiliyorsunuz. Ayrıca bu, bir altyapı yönetim ekibine olan ihtiyacı da ortadan kaldıran harika bir takım özelliklerle birlikte geliyor.

Amazon S3

Amazon Simple Storage Service (Amazon S3)

Amazon Simple Storage Service (Amazon S3)

Amazon S3(Amazon Simple Storage Service), ölçeklenebilirlik, veri kullanılabilirliği, güvenlik ve performans sunan bir nesne depolama hizmetidir.

Amazon S3, bir şeyleri depolamak için çok hızlı ve güvenilir bir yol sunar. Bu “şeyler” videolar, resimler, belgeler yada istediğiniz her şey olabilir.

Diyelim ki ben bir uygulama oluşturdum ve burada, doğa resimleri yükleyip, bunları sitedeki diğer kullanıcılara rastgele gönderebiliyorsunuz. Buradaki sorun bahsedilen “resimlerin” boyutları olacaktır. 10-15 görsel bile kod tabanınızın tamamından büyük olabilir. Herhangi bir “Doğayı Koru” günü olduğunu düşünün. Herkes burada görsel paylaşmak isterse, sonuç çok kötü olabilir.

Bunun için harika çözümümüz belli. Amazon S3! Görüntüyü doğrudan Amazon S3’e yüklemek ve bu yüklenilen adresi de veritabanına kaydetmek bu sorunu çözecektir. Böylece, veritabanınız veya sunucunuz için yer açmadan çok sayıda nesneyi depolayabileceksiniz.

Amazon Aurora

 En hızlı büyüyen startup'lar, en büyük kuruluşlar ve önde gelen devlet kurumlarının dahil olduğu milyonlarca müşteri; maliyetleri azaltmak, daha çevik olmak ve daha hızlı inovasyon için AWS kullanıyor.

En hızlı büyüyen startup’lar, en büyük kuruluşlar ve önde gelen devlet kurumlarının dahil olduğu milyonlarca müşteri; maliyetleri azaltmak, daha çevik olmak ve daha hızlı inovasyon için AWS kullanıyor.

Amazon Aurora, geleneksel kurumsal veritabanlarının performansını ve kullanılabilirliğini açık kaynaklı veritabanlarının basitliği ve maliyet etkinliğiyle birleştiren, bulut için oluşturulmuş MySQL ve PostgreSQL uyumlu bir ilişkisel veritabanıdır.

İlk okunduğunda yeni başlayan biri için karışık gelebilecek bir cümle olabilir. Bunun için hemen detaylara inelim.

Amazon Aurora, MySQL ve PostgreSQL’e alternatif, yönetilen bir ilişkisel veritabanıdır. İlişkisel veritabanlarının nasıl çalıştığını biliyorsanız, bu bölümü atlayabilirsiniz, ancak bu konuda fikri olmayanlar için, İlişkisel Veritabanları, İlişkisel Modeli kullanarak verileri nasıl depoladığınızdır.

Özetle veritabanı, bir elektronik tablo gibi satırlar ve sütunlar içeren tablolar halinde düzenlenmiştir. Bu tabloların diğer tablolarla ilişkileri olabilir.

Bunu daha iyi açıklamak gerekirse;

Diyelim ki müşterilerimin ve onların beden ölçülerinin verilerini kendi butik mağazamda saklamak istiyorum. Kişilerin adı, adresleri, e-mail hesapları ve vücut ölçülerini buraya ekleyebilirim. Tabi ki tüm bunların yanında onların ne tarz kıyafetlerden hoşlandıklarını, hangi renkleri sevdiklerini de eklemek isteyebilirim.

Eklemek istediğim müşteri için bir “Müşteri” tablosu oluşturmam gerekecek. Daha sonra bu verileri tekrar ilişkilendirebileceğim “Beden Ölçüleri” adından bir tablo oluşturmalıyım. Böylece “Fatih’e ait tüm beden ölçüleri” sonucunu bulmak istersem, bulabilirim.

Fakat “Fatih’in sevdiği renkler” sonucunu bulamayacağım. Çünkü hepsini teker teker halletmem gerekecek. Bu gerçekten karın ağrıtan bir süreç.

İlişkisel veritabanları için kullanılabilen birçok açık kaynaklı yöntem var. Ancak tıpkı masanızı düzenli tutmak gibi, veritabanını yönetmekte sancılı bir süreçtir. Aurora, bir veritabanını barındırmanın, yönetmenin ve güvenliğini sağlamanın tüm bu sorunlarını üstlenir. Bence ona bir şans verebilirsiniz.

Amazon DynamoDB

Amazon DynamoDB, her ölçekte tek haneli milisaniye performansı sağlayan bir anahtar / değer ve belge veritabanıdır.

Amazon DynamoDB, her ölçekte tek haneli milisaniye performansı sağlayan bir anahtar ve belge veritabanıdır.

DynamoDB, gelen veri miktarına göre ölçeklenen, SQL içermeyen bir veritabanıdır. Onu SQL veritabanından farklı kılan, SQL kullanmaması ve ilişkisel özelliklere sahip olmamasıdır. Bunun faydaları, bu özelliklere sahip olmamanın sonucunda veritabanının ne kadar hafif olabileceğidir.

Kıyafet veritabanı örneğimizle devam edersek, kullanıcılarım için (ne kadar anlamsız olsa da), bir beğen butonu eklemek istediğimi düşünelim. Kullanıcılarımın o sırada hangi gönderileri beğendiklerini görebilmeleri için bir beğeni veritabanı oluşturmak istiyorum. Bunu ilişkisel bir veritabanına yapabiliriz, ancak bu verileri bir veritabanına hızlı bir şekilde eklemek için AWS DynamoDB’yi kullanmamızın en iyisi olduğunu düşünüyorum. Böylece, AWS DynamoDB sayesinde veritabanımızı gereksiz bir yükten kurtarabiliriz.

Aynı zamanda bir “Anahtar”: “Eşleştirme” sistemi olduğundan, benzer bir JSON formatında veri almanıza izin veren “sunucusuz” uygulamalar yapıyorsanız bu yöntem gerçekten kolaylık sağlar. DynamoDB, verileri saniyeler içinde depolamayı kolaylaştırır. Ayrıca ücretsiz 25 GB alırsınız. Bu işinizi fazlasıyla görecek bir depolama alanı.

Amazon Lambda

AWS Lambda, sunucuları sağlamadan veya yönetmeden kod çalıştırmanıza olanak tanır

AWS Lambda, sunucuları sağlamadan veya yönetmeden kod çalıştırmanıza olanak tanır

Diyelim ki artık yeni başlayan statüsünden sıyrıldınız, web için geliştirme yapmaya ve istemci/sunucu tarafından çalışmaya karar verdiniz. İstemci; UI/UX  vb. birçok şeyle ilgilenirken, Sunucu; çalıştırılması gereken büyük veya özel işlemleri yönetecek. Biliyorsunuz, “Mikro Hizmetler” çağında yaşıyoruz. Bir sunucunun tamamını dağıtmak zorunda kalmadan basit bir özel işlev eklemek isterseniz, ne olurdu?

AWS Lambda, herhangi bir şey dağıtmanıza gerek kalmadan bunu kolayca yapmanızı sağlar. Sadece bir proje oluşturun(node, python…). Lambda ile kodunuzun sonuçlarını sizin için döndürecek bir sunucu işlevine sahip olacaksınız. Bunu harika yapan şey, sizi kullanım bazında ücretlendirmesidir. Sadece kullandığın kadar ödersin.

Böylece uygulamalarınızı, ön-uç çerçevelerinizi kullanarak oluşturabilir ve sonucunu görme konusunda endişelenmeden geliştirmenize devam edebilirsiniz.

Amazon Lightsail

AWS Lightsail

AWS Lightsail

AWS Lightsail, size bir uygulama veya web sitesi oluşturmak için gereken her şeyin yanı sıra uygun maliyetli, aylık bir plan sunan, kullanımı kolay bir bulut platformudur.

Aslında AWS Lightsail diğer hizmetlerden daha anlaşılır bir hizmet. Esasında, ihtiyacınız olan tüm farklı uygulama türlerini (Veritabanı, sunucu vb.) alır ve kullanmanız için kullanımı kolay bir “container”a yerleştirir.

Amazon Sage Maker

Amazon SageMaker, her geliştiriciye ve veri bilimciye makine öğrenimi modellerini hızla oluşturma, eğitme ve dağıtma yeteneği sağlar.

Amazon SageMaker, her geliştiriciye ve veri bilimciye makine öğrenimi modellerini hızla oluşturma, eğitme ve dağıtma yeteneği sağlar.

Amazon SageMaker, verilerinizi etiketlemek ve hazırlamak, bir algoritma seçmek, modeli eğitmek, dağıtım için ayarlamak ve optimize etmek, tahminlerde bulunmak ve harekete geçmek için tüm makine öğrenimi iş akışını kapsayan, tam olarak yönetilen bir hizmettir. Modelleriniz çok daha az çaba ve daha düşük maliyetle daha hızlı üretime geçer.

İçinde bulunduğumuz bu “Makine Öğrenimi” çağında, Amazon AWS’in SageMaker’ı bunun tüm sürecini gerçekleştiriyor. Bu, büyük bir veri kümesine sahip olan ve sahip oldukları verilere dayanarak eyleme geçmek isteyen insanlar için harika bir hizmet. SageMaker ile bu süreci çok daha hızlı bir hale getirebilirsiniz.

Öncelikle, Makine Öğreniminin nasıl çalıştığını anlamanız gerekecek:

  1. Bir veri kümeniz var (Veritabanı, csv dosyası, JSON, vb.). Bu veri kümesi ile ilgili bazı bilgiler edinmek istiyorsunuz. Diyelim ki 1.000.000 köpek ve kedi resmine sahip bir veri kümeniz var. Görüntünün kedi mi yoksa köpek mi olduğunu belirleyebilecek bir sistem kurmak istiyorsunuz.
  2. Makineye neyle çalıştığımızı anlatabilmemiz için önce etiketlememiz gereken verileri alırız. Köpek veya kedinin 500 resmini etiketlemek ile işe başlıyoruz.
  3. Bu bilgiyi kullanarak makine, köpek mi yoksa kedi mi olduğunu sınıflandırmak için en iyisini yapmaya çalışıyor.
  4. Yıl 2080 olduğunda ise, makinemiz bize kedi ve köpekleri korumak için tüm insanlığın yok edilmesi gerektiğini söylüyor.

Bu basit ve saçma bir örnek gibi gelebilir. Bir o kadarda korkutucu. Ama ne kadar fazla veriye ve zamana ihtiyacımız olabileceğini anlamak açısından akılda kalıcı bir örnek. Tüm bu süreci hızlandırmak için ise AWS SageMaker’a başvurabiliriz.

Sonuç Olarak

AWS ilk bakışta zor ve bunaltıcı görünse de, projeniz için ne tür bir yazılımın mantıklı olacağını seçmenize olanak tanır. İnanın bana, hangi durumda olursanız olun AWS’de işinizi kolaylaştıracak hizmetler bulabilirsiniz.

Buraya kadar okuduysanız teşekkür ederim. Eğer beğendiyseniz ve destek olmak isterseniz, bu makaleyi arkadaşlarınız ile paylaşabilirsiniz. Buna minnettar oluruz.

Diğer makaleler için buraya tıklayabilirsiniz. 

Kendinize iyi bakın.

Sağlıcakla Kalın. 🙂

Paylaşmak İster Misiniz?