Yapay Zeka, IoT ve Büyük Veri ile Arıları Kurtarabilir miyiz?

Yaşamlarımız özünde arılara bağlı… Modern tarım, tamamen arılar gibi tozlayıcı canlıların varlığını sürdürmesine bağlıdır ve bağımlıdır. Aslında, yediğimiz yiyecekler ve soluduğumuz hava da dahil olmak üzere tüm ekosistemimiz bu tozlayıcı canlıların varlığı ile mevcudiyetini koruyabilmektedir. Dünya Arı Projesi’nin kurucusu ve genel başkanı Sabiha Rumani Malik’e göre tozlayıcı canlı nüfusu gidere azalıyor. Ancak, Oracle ile gerçekleştirilen bir iş […]

Openshift Bölüm 9: Storage

Docker container’ları, doğası gereği geçicidir, yani sadece kısa bir süre dayanmaları amaçlanır. Verileri işlemeleri gerektiğinde çağrılırlar ve tamamlandığında imha edilirler. Aynısı container içindeki veriler için de geçerlidir. Veriler de container’la birlikte imha edilir. Container’lar tarafından işlenen verilerin devamlılığı için, container’lar oluşturulduklarında bunlara persistent volume (kalıcı depolama alanı). Container tarafından işlenen veriler artık bu volume’e kaydedilir […]

Openshift Bölüm 8: Service

Service, birbirleri ile entegra çalışacak sistemlerin bir arada tanımlandığı YAML konfigürasyon dosyalarıdır. Kubernetes’teki ile aynı mantıktadır. Service, bir Pod’un IP adresine veya DNS adına güvenmek yerine, farklı uygulamaları veya Pod gruplarını birbirine bağlamaya yardımcı olur. Service, mikro servis mimarimizin her Pod’u için bir load balancer görevi gördüğünden bir Service kullanılması önerilir. Bu durumda, frontend, bir […]

Openshift Bölüm 7: Network

Container temelli sistemler mikro servis mimarisine göre tasarlanırlar. Diyelim ki Bir E-ticaret sitemiz var, bunun bir web sunucusu, bir database sunucusu, bir cache server, hatta Redis koşturmak istiyeceksiniz. Bu durumda en az 4 container ihtiyacımız var demektir. Bu yapıdaki tüm containerler birbirine bağımlı olduğu için arasındaki iletişim de oldukça önemlidir. Openshift bu iletişimi sağlamak için […]

Openshift Bölüm 6: Build ve Deployment

Openshift üzerinde uygulamalarımızı ayağa kaldırmak için ne yapmamız gerektiğine bakacağız. Temelde burada öncelikle bir projemiz olması gerekiyor. Projemizin içerisine de uygulamalarımızı ekleyebiliyoruz. Daha önce SCM (Sorce Code Management)’tan bahsetmiştik. Geliştirmelerimizi lokal veya dış repo’larda (Github, Bitbucket vb.) tutabiliyoruz. SCM aracılığıyla da bu entegrasyonu sağlayabiiyoruz. Openshift üzerinde bir uygulama eklemek istediğimizde: Uygulama ayağa kaldırmak istediğimizi Openshift’e […]

Openshift Bölüm 5: Project ve User

Namespace Bir Openshift cluster’ın onlarca, yüzlerce servis çalışabilir. Birçok ekip, bu ekiplere dahil onlarca kişi de çalışabilir. Bunların tamamı her şeye erişirse sorun yaşanma ihtimali yüksektir. Sorun yaşanmasa dahi bir ekibin erişmesi gereken kısma diğer bir ekibin erişmemesi gerekebilir. Böyle bir izolasyon sağlayabilmek için Kubernetes’te Namespace’ler vardır. Namespace bize temelde aşağıdaki konularda yardımcı olur: İsimlendirme […]

Openshift Bölüm 4: Yönetim Araçları

Bir Openshift cluster’ını 3 şekilde yönetebiliriz. Web UI, CLI ve Rest API. Web UI En kolay yönetim şeklidir. Public IP üzerinden ulaşılabilir. Default port’u 8443’tür. Ana Sayfa’da olşturulabilecek servisler görülüyor. Ekranın sağ tarafında ise Proje oluşturma ve yönetme işlemlerini yapabildiğimizi görüyoruz. Openshift, My Project adında default bir proje oluşturuyor: Temelde Proje altında hemen her şeyi […]

Openshift Bölüm 3: Openshift Kurulumu

Openshift on-premise, private cloud gibi farklı seçeneklerle ilerleme şansımız mevcut. Kurulumda birkaç tercih yapabiliriz. All In One Master ve Node olarak ayırmadan, tüm yapının tek bir parça şekilde çalıştığı yapıdır. RedHat bu sürüm için kullanım amaçlarını şöyle listeliyor: OCP (Openshift Container Platform) operasyon ekiplerinin eğitimi. Birden çok kimlik sağlayıcıyı etkinleştirmek ve yönetmek. NetworkPolicy nesnelerini yapılandırma […]

Openshift Bölüm 2: Mimari

Openshift Web tabanlı bir arayüz ile cluster yönetimini sağlar. Kullanıcılar bu arayüz üzerinden yetkilerine göre işlemler gerçekleştirebilirler. Kullanıcılar geliştirdikleri projeleri SCM aracılığıyla sistemde saklarlar ve versiyonlanır. Pipeline kullanılarak OCR’a push edilerek image olarak kullanılabilir halde saklanmasını sağlar. Bir container ayağa kaldırılacağı zaman OCR’da arama yapılır ve ilgili image varsa buradan image alınır ve container oluşturulur. […]

Openshift Bölüm 1: Openshift Nedir?

RedHat’ın enterprise level, open source container orkestrasyon aracıdır. PaaS (Platform As A Service) temelli bir yapıdır. 4 sürümü mevcuttur. Origin: Open Source Online: Public uygulama geliştirme hosting servisi Dedicated: AWS veya Google gibi cloud sistemlerde oluşturulabilir versiyonudur. Enterprise: On-premiss olarak PaaS olarak kullanabileceğiniz versiyonudur. Openshift Docker container’ların üzerinde koşması için oluşturulmuş Kubernetes’in daha kolay yönetilebilmesi, […]

Kubernetes Bölüm 12: Helm

Uygulamaları Kubernetes’e dağıtmak karmaşık olabilir. Tek bir uygulama kurmak, her biri ayrıntılı bir YAML manifest dosyası yazmanızı gerektiren, Pod, Service, Deployment ve ReplicaSet’ler gibi birden çok birbirine bağlı Kubernetes kaynağı oluşturmayı içerebilir. Helm, developer’ların ve operatörlerin uygulamaları ve hizmetleri Kubernetes cluster’ında daha kolay paketlemesine, yapılandırmasına ve dağıtmasına olanak tanıyan bir Kubernetes paket yöneticisidir. Helm paketleri, […]

Kubernetes Bölüm 11: YAML Konfigürasyon Dosyaları

Kubernetes üzerinde bir deployment yapmak istediğimizde .yaml uzantılı konfigürasyon dosyaları oluşturarak bu işlemleri gerçekleştirebililiriz. Bir konfigürasyon dosyası muhakkak 3 bölümden oluşur. Metadata YAML dosyasında spec olarak geçen kısımdır. Status. Bu kısım bizim yazdığımız bir kısım değil aslında, Kubernetes tarafından oluşturulur ve eklenir. Desired State kavramından daha önce bahsetmiştik. Actual State ise aslında olduğu durumdur. Her […]

Kubernetes Bölüm 10: Kubernetes Kurulumu

Kubernetes Cluster Kurulumu Kurulum Ubuntu üzerine yapılacak, bu sebeple komutlar Ubuntu – Debian ailesi uygun olacak, CentOS – Redhat ailesinde kullanırken bunu göz önüne almak gerekiyor. Sunucuların Hazırlanması Bu kısımda anlatılanlar tüm node’lar üzerinde yapılacak işlemleri kapsamaktadır. İlk önce swap’ın kapatılması gerekiyor. Kubernetes geliştirilirken Swap olmayacak şekilde, swap açık olmayacak şekilde geliştirildi. Eğer swap kapatılmazsa […]

Kubernetes Bölüm 9: Kubectl

Kubernetes’in CLI aracıdır. Cluster’ı yönetmek için kullanırız. Cluster üzerinde deployment yapmak, uygulamaları incelemek ve loglara erişmek gibi eylemleri gerçekleştirebilmek için kullanırız.  ~/.kube/config dosyasındaki bilgilere göre çalışır. Kubectl Komut Yapısı Tüm çalıştırılacak komutlar kubectl ile başlamak zorundadır. Temel kullanım şekli: kubectl [çalıştırılacak komut] [type] [name] [flag] Çalıştırılacak komutlara örnek verecek olursak: get, create, apply, delete, describe […]

Kubernetes Bölüm 8: Replication

Kubernetes’in de varoluş amacıdır replication. Temelde replication, sistemde çalışan uygulamaların, mikro servislerin, container’ların çoklanmasıdır. Replication gerçekleştikten sonra Kubernetes Desired State’i (İstenilen Durum) kontrol eder. Replication’a ihtiyaç duyulan durumlar: Scailing (Ölçekleme) Reliability (Sistemin kusursuz çalışması) Load Balancing (Yük dengeleme) Replication Metotları Replication Controller Kuberbetes’te replication’ın en temel halini uygulayan metottur. Pod’ların replication yönetimi, bir controller üzerinden […]

Kubernetes Bölüm 7: Loglama

Her sistemde olduğu gibi Kubernetes’te logları takip etmek oldukça önemlidir. Monitör etme, debug etme gibi çok temel işlevlerine yerine getirebiliyor olmak hayat kurtarıcıdır. Kubernetes’te log üretilen yapılar şöyledir: Pod Container Kubernetes bileşenleri Daemon Set Kubernetes servisleri Oluşan loglara Kubernetes API ile erişilebiliyor. Loglama Yapıları Loglama yapıları ikiye ayrılır: Node Level ve Cluster Level. Node Level […]

Kubernetes Bölüm 6: Pod Yaşam Döngüsü ve Probe’lar

Pod Statüleri Pending: Kubernetes tarafından Pod kabul edildi, container image’lerinin inmesi bekleniyor. Running: Pod, bir Node ile ilişkilendirildi ve tüm container’lar oluşturuldu. Succeeded: Pod’daki tüm container’lar sonlandırıldı, yeniden başlatılmayacaklar. Failed: Tüm container’lar sonlandırıldı, sonlandırılırken en az 1 tanesi hata verdi. Unknown: Pod state alınamıyor. Pod’un üzerinde çalıştığı Node’dan bilgi alınamıyor.   Probe’lar Periyodik olarak cluster’da […]

Kubernetes Bölüm 5: Imperative ve Declarative Yöntemler

Imperative yöntem, özel komutlar vasıtasıyla işi yürütmektir. Declarative yöntem ise bir veya birden fazla script ile yapılacak işin tanımlanarak yapılması işlevidir. Imperative Pod Yaratma

Örneğimizde bir Nginx Pod’u oluşturduk. Bunun run özel komutu ile yaptık. İşte bu tür şekilde, default olarak kullandığımız yapılara imperative yöntem diyoruz. Declarative Yöntemle pod Yaratma Genelde YAML dosyaları kullanılarak […]

Kubernetes Bölüm 4: Trafik Yönetimi

Kubernetes’de Pos üzerinde trafik yönetiminin amaçladıkları: Pod’ları tüm cluster içerisinden erişilebilir hale getirmek (expose) Service üzerinden Pod’ları erişilebilir hale getirmek Kubernetes’te out of the box olarak gelen ve adı Kube-DNS olan bir DNS özelliği bulunur. Yaptığı iş Service’lere otomatik dns atanmasıdır. Nodeport Dış dünyadan gelen istekleri kabul etmek için oluşturabileceğimiz nesne tipidir. Tüm Node’lar, default […]

Kubernetes Bölüm 3: Deployment, Stateful Sets, Daemon Sets, Service, Label, Annotation, Secret

Deployment Rest objeleleridir. Workload’ları yaratmak ve yönetmek için yaygın bir şekilde kullanılırlar. Dockerfile’a benzer bir yapısı vardır. Deployment, Replica Set ile derlenirken Replication Controller’ın birçok fonksiyonunu kopyalıyor gibi gözükse de rolling update noktasında birçok problemin çözülmesini sağlamaktadır. Replication Controller kullanarak update işlemi yapılmak istendiğinde öncelikle yeni Replication Controller için plan sunulmak zorundadır, ayrıca geçmişi izleme, […]

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.