OpenShift Container Platform Nedir?
0

OpenShift Container Platform Nedir?

Container Nedir?

Container, Linux üzerinde ortaya çıkan bir izolasyon teknolojisidir. Uygulama ve uygulama işletim sistemi ve diğer ihtiyaçlarını paketleyebildiğimiz yöntemdir. Container image’larını tek bir binary haline getirip, izole edilen işletim sistemimizde çalıştırabilmekteyiz.

OpenShift Nedir

Resim-1

Container’lar çalıştırıldığı makine üzerinde çalışan izole proseslerdir. İzole prosesler, native proseslerle aynı performans gösteren sanal makinalara göre çok daha verimli ve daha hızlı ayağa kalkabilen bir servis yapısı sunmaktadır. Platform kendi datacenterınızı sanal ya da fiziksel ortamlarda, public ve private cloud üzerinde çalıştırılabilme imkânı sunmaktadır. Platform pek çok teknoloji ve ürünün bir araya gelmiş hali olarak düşünülebilir.

OpenShift Nedir

Resim-2

OpenShift Container Nedir?

OpenShift pek çok yeteneği beraberinde getirmektedir. Bunlardan bazıları; servislerin yönetilmesi, servislerin discover edilmesi, logların toplanması izlenmesi servislerin birbiri ile konuşması dış dünyadan gelen trafiğin içeriye yük kontrollerinin yapılarak servislere ulaştırılması, çalışan container’ların monitör edilmesi, host güvenliğinin sağlanması container’ların birbirleriyle konuşurken güvenliğin sağlaması gibi. Aynı zamanda uygulama geliştirirken, Container’lar nasıl oluşturulur? Oluşturulan bu Container’lar nasıl yaygınlaştırılır? Nasıl blue/green deployment yapılır? Nasıl continous delivery pipeline oluşturulur? gibi birçok sorunun cevabını kendi içerisinde barındırır.

Aşağıda belirtilen yeteneklerden; dış dünyadan gelen trafiğin yük kontrollerinin yapılarak servislere ulaştırılması örneğini görmekteyiz.

OpenShift Nedir

Resim-3

Uygulama sunucuları, database, diller, application, runtime çeşitli middleware’lar OpenShift içerisinde bulunur.

OpenShift Cluster Nedir?

OpenShift Cluster tek bir sanal makinadan (node) oluşup, yüzlerce sanal makina (node) sayısına arttırılabilmektedir. Node sayısının artması paralelinde yüzbinlerce pod’u beraberinde getirmektedir. Çünkü her bir node kendi içerisinde tek bir pod barındırdığı gibi, birden fazla pod’a da sahip olabilmektedir. Her bir node aynı zamanda belirli bir işletim sistemi üzerinden ayağa kalkmaktadır.

Bu platformda; uygulama servislerimizin bağlı olduğu podlardan biri down olduğu takdirde uygulama çökmeyecektir. Bu platform tarafından servis recovery edilip, yeni bir pod üzerinden yeniden ayağa kalkmaktadır. Ya da herhangi bir node down olduğu durumda podlar içerisindeki servis ve uygulamalar diğer node’lar üzerinden yeniden ayağa kalkmaktır.

OpenShift Nedir

Resim-4

OpenShift Nedir

Resim-5

OpenShift Nedir

Resim-6

Tüm bu cluster yönetimi master makinalar ile sağlanmaktadır. Bu master makinalar tüm cluster yapısının beyni olarak düşünülebilir.

Bu master makinaların görevi; Hangi container nerede çalışıyor? Container’ları çalıştırmak için uygun podları belirlemek ve container çöktüğü zaman eş zamanlı olarak onu yeni bir pod üzerinde ayağa kaldırmak, podları izlemek, hangi node container çalıştırmak için uygun gibi analizleri yapmaktır.

OpenShift Nedir

Resim-7

Developer’lar da master makinalara bağlanarak yönetimsel işlemlerini gerçekleştirebilmektedirler.

OpenShift dış trafigi kendi servislerine ulaştıran teknolojileri içerisinde barındırıyor. Servislerin birbirleri içerisinde konuşurken service discovery, service registry görevlerini üstleniyor. Aynı zamanda container image’larının saklanması, imagel’ların görülmesi ve bu image’ların nodelar üzerine çekilip çalıştırması için gerekli registry sağlamaktadır.

POD Nedir?

Container instance’lar pod’lar olarak düşünülebilir. OpenShift bu container instance’lar için kalıcı verilerin yazılmasını sağlayan Persistent Storage sağlamaktadır.

OpenShift Nedir

Resim-8

Bu platform üzerinde third party language runtimes (PHP, Phyton, java, Ruby…), databases (MySQL,PostgreSQL,MongoDB,Redis..) ,application runtimes (Spring Boot,Jboss Web Server,Jboss EAP,Jboss A-MQ,Jboss Fuse..) ,middleware (3SCALE API mgmt,Jboss BRMS,Jboss BPMS ) olduğu gibi ,kendi katalog yapımızı da oluşturabilme imkanı sunmaktadır. Örneğin; kendi image’larımızı kendi kataloğunuza ekleyebiliriz.

Third party certified image’lar bulabileceğimiz gibi Red Hat’n sağlamış olduğu image’ları da buradan bulabilmekteyiz.

Cloud native yapısı ile uygulamamız container ile birlikte çok kısa sürede ayağa kalkmaktadır.

OpenShift tarafında geleneksel yeni nesil uygulamaların bir arada desteklendiği runtime’lar sağlanmaktadır. Örneğin geleneksel mevcut Java Enterprise uygulamalarını Jbos Enterprise Application platformda çalıştırabiliriz. Ya da Web Container gerektiren uygulamalar için Tomcat çalıştırabileceğimiz applicaion da runtime içerisinde bulunmaktadır.

Red Hat uygulamalarımızı hızlıca geliştirebilmemiz için bize template uygulamalar sağlayıp bu uygulamalarımızı OpenShift Cluster’a deploy edebilme imkânı sunmaktadır.

AutoScaling Nedir?

OpenShift bize Autoscaling özelliği sunmaktadır. Bu özellik container instance sayısının otomatik olarak scale edilebilmesini sağlamaktadır. Scaling işlemi manuel olarakta yapılabilir. Örneğin; ikinci bir sunucuda da uygulamamızın çalışmasını istiyoruz. İkinci pod eş zamanlı olarak bu platform üzerinde ayağa kaldırılabiliyor. Bu ayağa kalkan uygulamanın instance’nın hangi node üzerinde çalışacağını OpenShift kendisi belirlemektedir.

Bu platform üzerinde çalışan makina loglarını görebilir, log arşivlerine erişebilir, metrikler alabilir ya da shell terminal üzerinde makinaya bağlanıp, komut satırı üzerinden makinamızı kontrol edebiliriz.

OpenShift Nedir

Resim-9

Api Gateway, tüm servislere client tarafından arkada çalışan tüm servislere erişebilmemizi sağlamaktadır.

Servislere erişim kesildiğinde ya da bir servis başka bir servis üzerinde çalıştığında yapıda çökme meydana gelebilir.

OpenShift yeni nesil uygulamalara karşın, geleneksel uygulamalarımız; cloud native yapısına uydurularak daha verimli çalıştırılabilir. Geleneksel uygulamalar bu anlamda modernize edilebilir.

Geleneksel yapıdan modern yapıya dönüşümde aşağıdaki 3 temel model esas alınmalıdır.

Rehost; geleneksel uygulamamızı farklı bir container/cloud ortamda çalıştırılması

Reshape; geleneksel uygulamanın yeniden design edilmesi

Rewrite; Geleneksel uygulamanın yeniden yazılması

Uygulamalar Automated olarak farklı bir platforma taşınmak istendiğinde, Cloud native ve container platform yapıya büründürülürken incremental yaklaşım sağlanmalıdır.

Uygulamalar cloud ortama taşınması/çalışması; verimlilik, kârlılık, operasyonda azalma gibi kazanımlar sağlamaktadır.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://redhat-partner.highspot.com/items/5940b430f2167613fe2265c2#38

TAGs: OpenShift, OpenShift Nedir?, Container Platform, Rehost Nedir?, Reshape Nedir?, Rewrite Nedir?, Node nedir?, Pod nedir?, OpenShift Container, Service Recovery, Service Registery, Service Discovery, Persistent Storage, Autoscaling

Bu İçeriğe Tepkin Ne Oldu?
  • 9
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Merve İşler.1993 İstanbul doğumluyum. Beykent Üniversitesi Elektronik ve Haberleşme Mühendisliği mezunuyum. Stajlarımı Türk Hava Yolları ve İstanbul Teknik Üniversitesi’nde tamamladım. Öğrenciliğimin son yılında GATE ELEKTRONİK’te proje bazlı çalıştım ve “Radar Antenna Design” projesinde yer aldım.Mezun olduktan sonra Bilgeadam’da Sistem ve Network eğitimi aldım.Burada; Hyper-V, VMware ESXI 5.0, Windows Server2008, Windows Server 2012 R2, Active Directory Domain yapısının oluşturulması, DHCP ve DNS sunucu, L2TP ve SSTP VPN, FSRM ve DFS, WSUS kurulumu ve yapılandırması, Roaming Profile ve Drive Map oluşturulması vb. alanlarda eğitimimi tamamladım. Eğitimi tamamladıktan sonra TÜRK TELEKOM’da Sunucu Sanallaştırma ve Altyapı Operasyon biriminde Linux/Unix System Engineer pozisyonunda çalıştım.Çalışmakta olduğum birimde; Red Hat Virtualization, Red Hat Satellite, Ansible, CHEF, Linux, Solaris, HPUX OS Management & Support teknolojilerinde uzmanlaştım.Sonrasında şuan çalışmakta olduğum DOĞUŞ TEKNOLOJI’de Middleware Solution Specialist olarak çalışmakta, kendimi AWS, Oracle Cloud, Google Cloud,Azure DevOps, Openshift,Kubernetes,Docker,Zabbix, Riverbed, Grafana ve Rancher teknolojilerinde uzmanlaşmaktayım.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir