Devops Başlangıç Serisi -1 (Teorik)

Cyber"ClocK"

Yazılım Ekibi DevOps
26 Eyl 2022
10
27
p0qbke2.png


// Konu Serisi //

|| İçindekiler ||

1- Devops Nedir ? Devops Özellikleri
2- Docker Nedir ? Docker Özellikleri
3- Kubernetes Nedir ? Kubernetes Özellikleri
4- NOT : Devops alanında etkili bir seri olacaktır. Bu alanda kendini geliştirmek isteyen ve daha önce hiç adım atmamış arkadaşlara ön ayak bir seri olacak. Kubernetes konusunda çok fazla durmadım durmamamın sebebi teorikte fazla etkili olmamasıdır. Kubernetes , Docker gibi hizmetleri uygulamalı olarak daha iyi anlayacağız. Bir sonraki serimizde Docker ve Kubernetes kurulumlarıyla devam edeceğiz.

a7yw9d0.png

1 - DEVOPS

im0r5tq.png


Devops nedir diye başlamadan DEVOPS hakkında size en hızlı bilgiyi aktaracağım. Kısaca Developers and Operations yani Yazılım Geliştiriciler ve Sistem inşa edenlere DEVOPS diyoruz.
NOT : DEVOPS için Türkiye şartlarında açık bir bölüm veya Üniversite bulunmamaktadır. Bu nedenle Devops mühendisleri kendi çabaları ile aldığı farklı eğitimlerle DEVOPS ünvanını almaktadır.


Devops ların başlıca görevleri;
  1. -Uygulama geliştirmeden önce uygulama bize lazım mı ? neye göre lazım ? lazım ise hangi sistemleri kullanmalıyız ? gibi geliştirilecek uygulamanın alt tarafta gereksinimlerini tamamlamakla görevlidir.
  2. -Uygulamayı geliştirmekte yazılım ekibiyle çalışır ve yazılan kodların güvenliğinden de Devops sorumludur.
  3. -Uygulamayı canlı aktif sisteme taşıma yani yayınlama işlemleri.
  4. -Uygulamada gerekli güncellemeri Devops yapar (Backup almayı unutmaz :) ).
  5. -Uygulama pentest süreçlerini kontrol eder.
  6. -Uygulamanın barınacağı alan (Datacenter , sistem odası , Ofis ortamı) aynı şekilde Devops ların yönetiminde olur.
  7. -Uygulama siber tehditlere açık ise kullanıcağı ağ yapısına uygun firewall sistemlerini entegre eder.
  8. -Uygulamanın loglarına göre veya kullanımlarına göre monitör sistemi düzenler ve izler.



Yukarıda söz ettiğim maddelerin tamamına yapana DEVOPS denir. Bir Devops yapıcağı veya hazırlayacağı sistemi ve sistemleri baştan düşünmeli ve ön görebilmelidir.
Genel olarak bakıcak olursanız aslında DEVOPS dediğimiz kavram hem yazılımcı , hem tüm sunucu işlemlerine hakim , hem Network bilgisine hakim , hem siber güvenlikçi .
Devopsların bu alanlarla bilgisi ve yetkisi olduğu için genelde arkadaş ve müşteri ilişkileri çok iyi olur . Tecrübe ile sabittir.
Devopslar oluşturduğu sistemin sağlık durumlarını ve sürekliliğini devam ettirecek geliştirmelerde yapar.
Süreklilik mevzu bahis olduğu için yaptığı işte süreklilik oluşur. Ayrıca Devopsların yönetiminde yapılan işlerin hızlandırması ve hızlı olması beklenir. Bu nedenle Devopsların kullandığı yapıların başında.
DOCKER , KUBERNETES gelir.


a7yw9d0.png

2- DOCKER


Direk konuya gircek olarsak DOCKER bir sanallaştırma sistemidir örnek olarak Vmware , HyperV gibi bir sistemdir fakat ara katman olarak hypervisor sistemini kullanmamaktadır. Contenier dediğimiz kavramı kullanan DOCKER temel bileşeni aslında Linux çekirdeğidir. İşlemlerin tamamı DOCKER içerisinde birbirinden bağımsız olarak çalışmaktadır. Daha basit olarak nitelendirecek olursak Contenier lar birer sanal sunucudur. DOCKER ise Contenier'leri kontrol eden sanallaştırma sistemidir. Contenierler direk uygulama olarak çalışabilir örnek : redis , mysql , postgresql , nginx yada Ubuntu , Debian , Centos gibi işletim sistemleri içerisinde barındırabilir. Bunun nedeni ise
DOCKER yapısında açılan herbir Contenier bir işlem olarak gözüktüğünden ötürüdür.

79ihpcb.png


DOCKER açık kaynak bir sistemdir. github gibi kendi contenierlerinizi oluşturup kullanabilirsiniz. Bir bilgisayar içerisinde DOCKERI istediğiniz kadar kullanabilirsiniz fakat kullandığınız bilgisayarın
fiziksel özellikleride önemlidir , RAM , CPU , DİSK yapıları yeteri miktarda olması gerektir. Peki neden DOCKER kullanmalıyız ?
DOCKER SİSTEMİNİN SİZE FAYDALARI;
  1. -DOCKER Hızlıdır. (Örnek : bir ubuntu sunucuyu çalıştırmak minimum 10 saniye alıyorsa DOCKER yapısındaki ubuntu 1 saniyede açılır. :) )
  2. -DOCKER CLI olduğu için basit ve kolay yönetimi mevcuttur.
  3. -DOCKER kaynak kullanımı çok iyi ve verimli kullanır.
  4. -Localde yaptığınız her değişiklik DOCKER da problem çıkartmadan yayınlanabilir. Github gibi projenizi yükleyip yayınladığınızda ekstra bir ayarlama yapmadan DOCKER yayınlayabilir.
  5. -DOCKER farklı işletim sistemlerinde bulunur ve popüler cloud sistemlerine entegresi mevcuttur.

DOCKER'IN mikro servisler için çok önemlidir. Tek bir sunucu içerisinde yapınızı çok rahat bir şekilde dağıtmanıza yani yük dengelemenize olanak tanır.
(DOCKER için anlaşılmayan bir konu varsa iletişim kurabilirsiniz.)

a7yw9d0.png

3- Kubernetes


Açık konuşmak gerekirse Kubernetes sistemi çok fazla detayı olan bir sistem olduğu için teorikte anlamakta zorluk çekilebilecek bir konudur. Tecrübe edinerek Kubernetesi daha iyi anlayacağız fakat sizin için anlayabileceğimiz şekilde ileticem. KUBERNETES contenier'ı Vmware ve cloud sistemlerin hepsinde çalıştırabilirsiniz. Kubernetes DOCKER ile beraber senkron şeklinde çalışır yani birbirini destekleyerek çalışır. Kubernetes contenier'ı açık kaynak olarak karşımıza sunulmuştur ve google tarafından
geliştirilmiştir. Kubernetesin yaptığı mantık esasen yük dağılımı yapmaktır. 1 adet veya daha fazla MASTER(seri olucağı için daha sonra MASTERIN ne olduğunu kavrıyacaksınız.) vardır MASTERI bir Vcenter daki clustera benzetebilirsiniz. Bu MASTER NODE'lara dağılım yapar aralarında bir api sistemi mevcuttur. MASTER ve NODE lerimiz aslında contenier sistemlerimizi HOST edebilmek için bir araçtır.
NODE lerimiz altına contenier'lerimizi ekleyebiliriz buna PODS denmektedir. PODS larımız içinde artık sql , nginx veya aklınıza gelen contenierı ekleyerek sistemi düzenlemiş oluyoruz. PODS içine birden fzla contenier ekleyebiliyoruz.

d91y1k5.png


Kısaca açıklayacak olursak KUBERNETES;
-Docker ile senkron şeklde çalışan , MASTER Cluster yapısı ve MASTER altında NODElar bulunmakta NODLARIN altında ise PODS'larımız var bu PODS'larımızda da çalıştıracağımız contenier yani programlarımız çalışmakta.
MASTER NODE'LARI HOST edebilmek için vardır. NODE ler ise PODS altında çalışan contenier'ları HOST edebilmek için hizmet eder. PODS ise contenier'ları barındırmak için vardır.


NOT : Label ve Service alanları bulunmakta fakat bunları size aktararak kafanızın karışmasını istemem serimizin devamında artık teorik değil uygulayarak devam ediceğiz


a7yw9d0.png


4- NOT
Bir sonraki serimizin devamında uygulamalı bir şekilde Docker , Kubernetes kurulum ve yapılandırmalarını yapıcaz. Bu serimizin devamında sadece Dokcer ve Kubernetes ile bitirmeyeceğiz.
Devops mühendislerinin yaptığı teknikleri kullandıkları araçları ve yapılandırmalarınıda ufak ufak anlatıp kendimizi geliştireceğiz.​


ctf0sk9.png
 

Kruvazör

Yazılım Ekibi Lideri
28 Mar 2020
1,697
2,424
Wrong Side Of Heaven
1000. mesajımı bu konuya bırakıyorum.
elinize sağlık.

Merak ettiğim sorulara cevap bulduğum ve tonlarca yazı okumak zorunda kalmadığım keyifli bir yazı olmuş.
Devamını da merakla beklemekteyim.
 

Cyber"ClocK"

Yazılım Ekibi DevOps
26 Eyl 2022
10
27
1000. mesajımı bu konuya bırakıyorum.
elinize sağlık.

Merak ettiğim sorulara cevap bulduğum ve tonlarca yazı okumak zorunda kalmadığım keyifli bir yazı olmuş.
Devamını da merakla beklemekteyim.
Ellerinize sağlık :)
Eline , emeğine sağlık. Başarıların daim olsun. Seriyi takibe aldım :)
Teşekkür eder , iyi okumalar dilerim.
 

JohnWick51

Uzman üye
20 Mar 2022
1,865
770
28
p0qbke2.png


// Konu Serisi //

|| İçindekiler ||

1- Devops Nedir ? Devops Özellikleri
2- Docker Nedir ? Docker Özellikleri
3- Kubernetes Nedir ? Kubernetes Özellikleri
4- NOT : Devops alanında etkili bir seri olacaktır. Bu alanda kendini geliştirmek isteyen ve daha önce hiç adım atmamış arkadaşlara ön ayak bir seri olacak. Kubernetes konusunda çok fazla durmadım durmamamın sebebi teorikte fazla etkili olmamasıdır. Kubernetes , Docker gibi hizmetleri uygulamalı olarak daha iyi anlayacağız. Bir sonraki serimizde Docker ve Kubernetes kurulumlarıyla devam edeceğiz.

a7yw9d0.png

1 - DEVOPS

im0r5tq.png


Devops nedir diye başlamadan DEVOPS hakkında size en hızlı bilgiyi aktaracağım. Kısaca Developers and Operations yani Yazılım Geliştiriciler ve Sistem inşa edenlere DEVOPS diyoruz.
NOT : DEVOPS için Türkiye şartlarında açık bir bölüm veya Üniversite bulunmamaktadır. Bu nedenle Devops mühendisleri kendi çabaları ile aldığı farklı eğitimlerle DEVOPS ünvanını almaktadır.


Devops ların başlıca görevleri;
  1. -Uygulama geliştirmeden önce uygulama bize lazım mı ? neye göre lazım ? lazım ise hangi sistemleri kullanmalıyız ? gibi geliştirilecek uygulamanın alt tarafta gereksinimlerini tamamlamakla görevlidir.
  2. -Uygulamayı geliştirmekte yazılım ekibiyle çalışır ve yazılan kodların güvenliğinden de Devops sorumludur.
  3. -Uygulamayı canlı aktif sisteme taşıma yani yayınlama işlemleri.
  4. -Uygulamada gerekli güncellemeri Devops yapar (Backup almayı unutmaz :) ).
  5. -Uygulama pentest süreçlerini kontrol eder.
  6. -Uygulamanın barınacağı alan (Datacenter , sistem odası , Ofis ortamı) aynı şekilde Devops ların yönetiminde olur.
  7. -Uygulama siber tehditlere açık ise kullanıcağı ağ yapısına uygun firewall sistemlerini entegre eder.
  8. -Uygulamanın loglarına göre veya kullanımlarına göre monitör sistemi düzenler ve izler.



Yukarıda söz ettiğim maddelerin tamamına yapana DEVOPS denir. Bir Devops yapıcağı veya hazırlayacağı sistemi ve sistemleri baştan düşünmeli ve ön görebilmelidir.
Genel olarak bakıcak olursanız aslında DEVOPS dediğimiz kavram hem yazılımcı , hem tüm sunucu işlemlerine hakim , hem Network bilgisine hakim , hem siber güvenlikçi .
Devopsların bu alanlarla bilgisi ve yetkisi olduğu için genelde arkadaş ve müşteri ilişkileri çok iyi olur . Tecrübe ile sabittir.
Devopslar oluşturduğu sistemin sağlık durumlarını ve sürekliliğini devam ettirecek geliştirmelerde yapar.
Süreklilik mevzu bahis olduğu için yaptığı işte süreklilik oluşur. Ayrıca Devopsların yönetiminde yapılan işlerin hızlandırması ve hızlı olması beklenir. Bu nedenle Devopsların kullandığı yapıların başında.
DOCKER , KUBERNETES gelir.


a7yw9d0.png

2- DOCKER


Direk konuya gircek olarsak DOCKER bir sanallaştırma sistemidir örnek olarak Vmware , HyperV gibi bir sistemdir fakat ara katman olarak hypervisor sistemini kullanmamaktadır. Contenier dediğimiz kavramı kullanan DOCKER temel bileşeni aslında Linux çekirdeğidir. İşlemlerin tamamı DOCKER içerisinde birbirinden bağımsız olarak çalışmaktadır. Daha basit olarak nitelendirecek olursak Contenier lar birer sanal sunucudur. DOCKER ise Contenier'leri kontrol eden sanallaştırma sistemidir. Contenierler direk uygulama olarak çalışabilir örnek : redis , mysql , postgresql , nginx yada Ubuntu , Debian , Centos gibi işletim sistemleri içerisinde barındırabilir. Bunun nedeni ise
DOCKER yapısında açılan herbir Contenier bir işlem olarak gözüktüğünden ötürüdür.

79ihpcb.png


DOCKER açık kaynak bir sistemdir. github gibi kendi contenierlerinizi oluşturup kullanabilirsiniz. Bir bilgisayar içerisinde DOCKERI istediğiniz kadar kullanabilirsiniz fakat kullandığınız bilgisayarın
fiziksel özellikleride önemlidir , RAM , CPU , DİSK yapıları yeteri miktarda olması gerektir. Peki neden DOCKER kullanmalıyız ?
DOCKER SİSTEMİNİN SİZE FAYDALARI;
  1. -DOCKER Hızlıdır. (Örnek : bir ubuntu sunucuyu çalıştırmak minimum 10 saniye alıyorsa DOCKER yapısındaki ubuntu 1 saniyede açılır. :) )
  2. -DOCKER CLI olduğu için basit ve kolay yönetimi mevcuttur.
  3. -DOCKER kaynak kullanımı çok iyi ve verimli kullanır.
  4. -Localde yaptığınız her değişiklik DOCKER da problem çıkartmadan yayınlanabilir. Github gibi projenizi yükleyip yayınladığınızda ekstra bir ayarlama yapmadan DOCKER yayınlayabilir.
  5. -DOCKER farklı işletim sistemlerinde bulunur ve popüler cloud sistemlerine entegresi mevcuttur.

DOCKER'IN mikro servisler için çok önemlidir. Tek bir sunucu içerisinde yapınızı çok rahat bir şekilde dağıtmanıza yani yük dengelemenize olanak tanır.
(DOCKER için anlaşılmayan bir konu varsa iletişim kurabilirsiniz.)

a7yw9d0.png

3- Kubernetes


Açık konuşmak gerekirse Kubernetes sistemi çok fazla detayı olan bir sistem olduğu için teorikte anlamakta zorluk çekilebilecek bir konudur. Tecrübe edinerek Kubernetesi daha iyi anlayacağız fakat sizin için anlayabileceğimiz şekilde ileticem. KUBERNETES contenier'ı Vmware ve cloud sistemlerin hepsinde çalıştırabilirsiniz. Kubernetes DOCKER ile beraber senkron şeklinde çalışır yani birbirini destekleyerek çalışır. Kubernetes contenier'ı açık kaynak olarak karşımıza sunulmuştur ve google tarafından
geliştirilmiştir. Kubernetesin yaptığı mantık esasen yük dağılımı yapmaktır. 1 adet veya daha fazla MASTER(seri olucağı için daha sonra MASTERIN ne olduğunu kavrıyacaksınız.) vardır MASTERI bir Vcenter daki clustera benzetebilirsiniz. Bu MASTER NODE'lara dağılım yapar aralarında bir api sistemi mevcuttur. MASTER ve NODE lerimiz aslında contenier sistemlerimizi HOST edebilmek için bir araçtır.
NODE lerimiz altına contenier'lerimizi ekleyebiliriz buna PODS denmektedir. PODS larımız içinde artık sql , nginx veya aklınıza gelen contenierı ekleyerek sistemi düzenlemiş oluyoruz. PODS içine birden fzla contenier ekleyebiliyoruz.

d91y1k5.png


Kısaca açıklayacak olursak KUBERNETES;
-Docker ile senkron şeklde çalışan , MASTER Cluster yapısı ve MASTER altında NODElar bulunmakta NODLARIN altında ise PODS'larımız var bu PODS'larımızda da çalıştıracağımız contenier yani programlarımız çalışmakta.
MASTER NODE'LARI HOST edebilmek için vardır. NODE ler ise PODS altında çalışan contenier'ları HOST edebilmek için hizmet eder. PODS ise contenier'ları barındırmak için vardır.


NOT : Label ve Service alanları bulunmakta fakat bunları size aktararak kafanızın karışmasını istemem serimizin devamında artık teorik değil uygulayarak devam ediceğiz


a7yw9d0.png


4- NOT
Bir sonraki serimizin devamında uygulamalı bir şekilde Docker , Kubernetes kurulum ve yapılandırmalarını yapıcaz. Bu serimizin devamında sadece Dokcer ve Kubernetes ile bitirmeyeceğiz.
Devops mühendislerinin yaptığı teknikleri kullandıkları araçları ve yapılandırmalarınıda ufak ufak anlatıp kendimizi geliştireceğiz.​


ctf0sk9.png
Ellerine saglik
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.