Buradasın
AWS Mastery Eğitim Serisi: Cloud Computing ve Otomatik Ölçeklendirme
youtube.com/watch?v=2490NfDfpPIYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, yazılım mühendisi Hüseyin ve bir eğitmen tarafından sunulan AWS (Amazon Web Services) hakkında kapsamlı bir eğitim serisidir. Eğitmen, izleyicilerle etkileşimli bir şekilde konuları anlatmakta ve 6-7 yıllık AWS deneyimine sahip olan Hüseyin'in bilgilerini de içermektedir.
- Video, cloud computing temelleri ile başlayıp, AWS'nin fiyatlandırma modelleri, hizmet kategorileri (IaaS, PaaS, SaaS), bölgeler ve veri merkezleri gibi temel konuları ele almaktadır. Daha sonra Amazon EC2, VPC, subnet, security group gibi cloud mimari bileşenleri anlatılmakta ve son olarak load balancer, otomatik ölçeklendirme (Auto Scaling Group) ve veritabanı yönetimi konularına odaklanılmaktadır. Eğitmen, teorik bilgileri anlatarak başlayıp, ilerleyen bölümlerde daha pratik uygulamalara geçeceğini belirtmektedir.
- Eğitim serisi, AWS'ye yeni başlayanlar için maliyet yönetimi, ölçeklenebilirlik ve güvenilirlik konularını detaylı şekilde ele almaktadır. Ayrıca CAP teorisi, AWS hesap yönetimi, root hesabının güvenliği ve sertifika sınavları hakkında tavsiyeler de içermektedir. Eğitmen, büyük şirketlerde devops görevinin nasıl yönetildiğini ve cloud altyapısının kurulumu hakkında da bilgiler paylaşmaktadır.
- Sunum ve Motivasyon
- Konuşmacı Hüseyin, yazılım mühendisi olup özellikle cloud alanında uygulama geliştiriyor ve açık kaynaklar üzerinde çalıştığı zaman tecrübelerini paylaşmak için yayın açıyor.
- Konuşmacı altı-yedi senedir AWS'yi kullanmış ve çoğunlukla GCP ve Azure gibi multicloud ortamlarında çalışmış.
- Afet harita projesi gibi gönüllü çalışmalar sırasında AWS ile ilgili eksiklikler olduğunu fark ederek bu konuda bir seri hazırlamaya karar vermiş.
- 02:07Cloud Computing Kavramı
- Cloud computing, cloud ortamında hesaplama ve işlemler yapabilme imkanıdır.
- Normalde bir uygulamayı evde veya veri merkezinde çalıştırırken güç, soğutma sistemleri ve veritabanı gibi fiziksel kaynaklar gerekiyorken, cloud'da istediğiniz setup'te, istediğiniz bellek ölçüsünde ve CPU çekirdeğinde makine açabilirsiniz.
- Cloud'da fiziksel bir alan gerektirmiyor, istediğiniz gibi ayarlayabilirsiniz.
- 03:43AWS Fiyatlandırma Yöntemleri
- AWS'de birden fazla fiyatlandırma yöntemi vardır: Pay-As-You-Go (ne kadar kullandınız o kadar öde), Reserved Instance (senelik önden ödeme yaparak daha ucuza alabilirsiniz) ve Spot Instance (açık arttırmalı sistem).
- Spot Instance'ta bir teklif vererek makine satın alabilirsiniz, ancak daha iyi teklif veren biri çıkarsa makineniz otomatik olarak kapatılabilir.
- Spot Instance ile normal fiyatın beş katı kâr edilebilecek daha uygun fiyatlar alınabilir.
- 05:41Hız ve Çeviklik
- Cloud ortamında hız açısından büyük avantajlar vardır, örneğin Amazon'da 2 terabayt hafızası olan bilgisayarlar sunulabilmektedir.
- Agile projelerde, haftalık sprintlerde ölçeklenebilir sistem ihtiyacı duyulduğunda AWS'de kolayca ölçeklenebilir sistemler oluşturulabilir.
- AWS'de Auto Scaling kurulumu yaparak makine sayısını ihtiyaçlara göre otomatik olarak ayarlayabilirsiniz.
- 07:01Maliyet Tasarrufu
- AWS'de maliyet tasarrufu olmasına rağmen, cloud ortamını iyi bilmediğinizde yanlış kullanım maliyetlerin artmasına neden olabilir.
- Yeni başlayanlar maliyet tasarrufu ile başlayabilir ancak ortalama olarak sekiz kat daha fazla para ödemektedir.
- Örneğin, statik makine yerine ihtiyaçlara göre ölçeklenebilen sistemler kullanılarak maliyet tasarrufu sağlanabilir.
- 08:53Cloud Cost Optimization Araçları
- Spot Ins ve Komiser gibi uygulamalar cloud maliyet optimizasyonu için kullanılır.
- Bu araçlar sistemize kurulduğunda, CPU kullanımı gibi performans verilerini analiz ederek daha uygun kaynak önerileri sunar.
- Komiser, CTZ ortamında cloud maliyet grafiğini çıkararak kullanıcıya hangi kaynakları kullanması gerektiği konusunda yorum yapabilir.
- 10:10Cloud Avantajları
- Cloud, uygulamaları farklı bölgelerde hizmet vermeye kolaylık sağlar; Avrupa, Amerika, Afrika gibi bölgelerde sunucular kullanılabilir.
- Multi-region yapılar programatik veya kullanıcı arayüzü üzerinden hızlı bir şekilde oluşturulabilir.
- Cloud hizmetleri, uygulamaların farklı bölgelerdeki müşterilere daha hızlı hizmet vermesini sağlar.
- 11:55AWS Hizmet Kategorileri
- AWS'de üç temel hizmet kategorisi vardır: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) ve Software as a Service (SaaS).
- IaaS, cloud'da en düşük seviye bileşenleri (makine, ağ, firewall, DNS) sunan hizmetlerdir.
- PaaS, kullanıcıların düşük seviye bileşenleri yönetmesine gerek kalmadan uygulama ve dağıtım stratejilerini belirleyebildiği hizmetlerdir.
- 14:18SaaS ve Bölgeler
- SaaS, kullanıcıların neredeyse hiçbir şey yapmadan hazır hizmetleri kullandığı en gelişmiş hizmet kategorisidir (örneğin Gmail, Data Dog, Elastic Cloud).
- AWS'de bölgeler (regions) farklı fiziksel konumlardır (Frankfurt, Paris, Milano gibi).
- Bir bölgede birden fazla veri merkezi (availability zone) bulunabilir, bu da yüksek kullanılabilirlik sağlar.
- 19:34Availability Zones
- Tek bir veri merkezi kullanılması risk oluşturur çünkü tek nokta hata kaynağı (single point of failure) oluşturur.
- Aynı bölgede birden fazla veri merkezi (availability zone) kullanmak, bir veri merkezi çöktüğünde diğerlerinin hizmet vermeyi sürdürmesini sağlar.
- Cloud'da bir kaynak oluştururken, hangi bölge ve hangi kullanılabilirlik bölgesi kullanılacağı belirlenebilir.
- 21:56IP Adresi ve Maskeleme
- CIDR bloğu, IP adresi ve maskeleme içerir, internette hesaplamak için hesap makineleri kullanılabilir.
- Slash 32 maskeleme, IP havuzunda sadece bir IP adresi barındırabilir.
- Slash 24 maskeleme, IP havuzunda 256 IP adresi barındırabilir.
- 26:03VPC ve Subnet Yapılandırması
- VPC (Virtual Private Cloud) ve subnet yapılandırması, kullanacağınız makine kapasitesine göre CIDR blokları ile ayarlanır.
- AWS'de zorunlu olarak VPC oluşturmak gerekmez, default VPC ve subnet kullanılabilir.
- Public VPC içindeki makineler otomatik olarak dışarıdan erişilebilir hale gelir.
- 29:56Güvenlik Grupları ve Firewall
- Security Group, EC2 için virtual firewall (sanal güvenlik duvarı) olarak çalışır.
- Security Group, hem gelen hem de giden istekleri yönetebilir.
- Güvenlik ayarları Amazon arayüzünde, terminalde veya programatik olarak yapılandırılabilir.
- 31:40Otomatik Ölçeklendirme ve Uygulama Yükleme
- AWS'de otomatik ölçeklendirme (Auto Scaling) servisi, belirli parametreler (CPU, kuyruk mesajı sayısı) temelli ölçeklendirme sağlar.
- Java uygulaması (Spring Boot) Amazon'a yüklemek için FTP, SSH veya SCP gibi yöntemler kullanılabilir.
- Uygulamaya erişim için public IP adresi ve gerekli portların security grupta açılması gerekir.
- 35:59Amazon EC2'de Uygulama Dağıtımı
- Uygulama yavaş çalıştığı için müşteri şikayetleri başlamış ve Amazon EC2 kullanarak çözüm aranıyor.
- Uygulama SSH ile sunucuya gönderilip, Java JAR dosyası manuel olarak çalıştırılıyor.
- Amazon EC2'de "user data" özelliği kullanılarak uygulama ayağa kalktığında otomatik olarak çalıştırılabilir ve özel bir imaj olarak kaydedilebilir.
- 37:29Yük Dengeleme Çözümü
- Uygulama performansı için yük dengeleme (load balancing) çözümü uygulanıyor.
- Application Load Balancer kullanılarak trafiğin birden fazla EC2 örneğine dağıtılması sağlanıyor.
- EC2 örneği artık web sunucusu olarak değil, belirli bir porttan hizmet veren bir uygulama olarak düşünülüyor.
- 45:36Otomatik Ölçeklendirme
- Yük dengeleme sonrası maliyetler arttığı için otomatik ölçeklendirme çözümü aranıyor.
- CloudWatch gibi monitörleme servisleri kullanılarak uygulamanın yükü inceleniyor.
- Otomatik Ölçek Grubu (ASG) kullanılarak minimum ve maksimum örnekleme sayısı ayarlanıyor.
- 48:53Yüksek Kullanılabilirlik Sorunu
- Otomatik ölçeklendirme yapıldıktan sonra maliyetler düşüyor ancak site çöküyor.
- Site çökmesinin nedeni, tek bir data center'de bulunan örneklere bağlı kalmak.
- Farklı Availability Zone'lara dağılım yapılması gerektiği anlaşılıyor.
- 51:46AWS'de Ölçeklendirme ve Yük Dengeleme
- AWS'de launch configurations gruplarında ölçeklendirme yapılabiliyor, örneğin üç sabret (EC2 örneği) olduğu için ölçeklendirme 3, 6, 9, 12 şeklinde ilerliyor.
- Yük dengeleyici (load balancer) istekleri farklı sabretlere dağıtmakta ve bu yapı sayesinde uygulama daha stabil hale geliyor.
- Cloud servisleri genellikle saatlik olarak hataları çözebiliyor, günlerce sorun yaşanması beklenmiyor.
- 56:37CAP Teorisi ve AWS Sertifikaları
- CAP teorisi, consistancy (konsistansiyet), availability (erişilebilirlik) ve partition tolerance (bölünme dayanıklılığı) üçünün birlikte bulunamayacağını belirtiyor, her zaman birini feda etmek gerekiyor.
- AWS sertifikaları için Cloud Guru eğitimleri, Linux Foundation ve Brainrain gibi kaynaklar kullanılabilir.
- AWS sertifikalarında teorik sorular yanı sıra senaryo bazlı sorular da bulunuyor, özellikle professional sınavlarında.
- 1:00:17AWS Arayüzünden Yük Dengeleyici Oluşturma
- AWS arayüzünde üst kısımdaki arama kutusundan yük dengeleyici (load balancer) oluşturulabilir.
- Yük dengeleyici oluştururken ağ bağlantısı, internet erişimi, bölge ve zone seçimleri gibi ayarlar yapılabiliyor.
- AWS'de hesap açıldığında root hesabı kullanılmamalı, yerine kendi kullanıcı hesabınız oluşturulmalı.
- 1:04:27AWS Auto Scaling Grupları ve Launch Template
- AWS'de Auto Scaling grubu oluşturmak için öncelikle bir launch template yaratmanız gerekiyor.
- Launch template, işletim sistemi, instance türü, network ayarları ve güvenlik grupları gibi temel ayarları içerir.
- Multizone dağıtım için Auto Scaling grup kendi kendini oluşturacak.
- 1:06:28Load Balancer'ın İşlevi
- Load balancer, arkadaki makinelerin statüsünü tutarak gelen istekleri yönlendirir.
- Load balancer'ın kendisi stateless ve çok fazla iş yapmaz, bu nedenle yüküne çok fazla binmez.
- Load balancer'ları ölçekleyebilir ve birden fazla kullanabilirsiniz, böylece biri çöktüğünde diğeri devam edebilir.
- 1:08:27Auto Scaling ve Load Balancer Entegrasyonu
- Load balancer'ın görevi makineleri ölçeklemek değil, bunu yapan Auto Scaling Group'tur.
- Auto Scaling Group açıldığında veya arttığında, load balancer o artan makinelere de yük dağıtması gerektiğini biliyor.
- Bu iki bileşen birbiriyle entegre çalışır.
- 1:10:28Database Ölçekleme
- Database'ler (RDS) normal HC2'ye göre daha hantal olup, multi-AZ ve replika gibi farklı setup'lar sunar.
- DynamoDB gibi daha gelişmiş ve dinamik database seçenekleri daha yüksek performans sağlar ancak daha pahalıdır.
- Database'ler kendi arasında senkronize olup yükü bölüşebilir.
- 1:13:05ChatGPT ve AI Geliştiricileri
- Dünyada yaklaşık 10 milyon geliştirici varken, ChatGPT gibi AI sistemleri sadece 10-20 bin kişi tarafından çalıştırılıyor.
- Bu durumda, tüm geliştirici iş yükünün tek bir noktaya (single point of failure) bağlı olması potansiyel sorun yaratabilir.
- ChatGPT gibi AI sistemlerin güvenilirliği ve güvenlik açıkları nedeniyle endişe yaratıyor, ancak bunları kullanmaya devam etmek gerekiyor.
- 1:15:15Veritabanı Seçimi ve DynamoDB
- Veritabanı seçiminde uygulamanın tipine göre karar verilir.
- DynamoDB, column-based veritabanlarına benzer ancak mantığı farklıdır ve request başı hesaplama mekanizması kullanır.
- DynamoDB'den zor gelebileceği için dikkat edilmelidir.
- 1:16:48AWS Cloud Mantığı
- AWS'nin cloud mantığını, costaving, global'e hızlı çıkma ve autoscale senaryolarını anlatılmıştır.
- VPC, subnet, data center'lar ve revizyonlar gibi terimler açıklanmıştır.
- Önümüzdeki hafta developer setup'ı yapacaklar ve teoriden sonra kodlama yapacaklar.
- 1:17:31DevOps Görevi
- Büyük şirketlerde AWS işlemleri yazılımcıdan dev ekibi tarafından yapılabilir.
- Otomasyonla ilgili standartlar belirlenmelidir.
- Yeni gelen developer'lar için standart kurallar belirlenmelidir.
- 1:18:24Yayınlama ve Gelecek Planlar
- Konuşmacı, abone olunmasının kendisine motivasyon sağladığını belirtmiştir.
- Önümüzdeki yayınlarda security ile ilgili konular ele alınacaktır.
- Bir sonraki hafta YouTube'a atılacak ve izleyiciler kendi bilgisayarlarında deneyimler edinebileceklerdir.