AWS Elastic Beanstalk ile Web Application Kurulumu 2

Merhaba,

Yazımın ilk bölümünde; relational database servisi olarak MySQL yapılandırmasını,Elastic Beanstalk ile wordpress web uygulamamızın ilk sürümünün kurulumunu tamamlamıştık. Geldiğimiz noktayı aşağıdaki şekilde ifade edebiliriz.

  • Ziyaretçi web adresini Internet Browser ile açmaya çalışır
  • DNS sağlayıcısı, web adresinin ip adresine yönledirme yapar(AWS Elastic IP)
  • Elastic Load Balancer, listener’a gelen talebi içeride çalışan sağlıklı instance’a aktarır
  • Sağlıklı instance’ın kaynakları yetersiz kaldığında üretilecek alarm’dan dolayı auto-scaling devreye girerek VPC içine yeni bir instance açar. Mevcut instance ve yeni açılacak instance’lar Elastic Block Storage’de tutulurlar
  • Sistem yatay olarak(horizontal) genişleme eğilimindedir.(auto-scaling)
  • Horizontal genişleme için web application’ın stateless mimaride çalışması gerekir.

WordPress web uygulaması Elastic Beanstalk ile kurulurken en az bir instance açılır. Yapılan tüm konfigürasyon bu instance üzerinde tutulmaktadır. Auto-scaling’den dolayı ortama yeni instance’lar eklenirse ve/veya yine auto-scaling’den dolayı mevcut instance terminate edilirse yapılandırma kaybolur.

Auto-scaling ile birden çok sunuculu sistemin avantajından faydalanmak için web server’ların stateless mimaride çalışması gerekir. Varsayılan yapılandırması ile wordpress, kullanıcıların upload ettiği veriyi(image vb.) lokal dosya sisteminde saklar. Dolayısıyla bu açıdan stateless değildir. Yazının ilerleyen aşamalarında static content(image,javascript dosyaları,style sheet vb.)’in AWS S3 üzerinde tutulması ve CloudFront ile hizmete açılmasından bahsediyor olacağım.

Veritabanı perspektifinden yaklaştığımızda; veritabanı yükünün yoğun olduğu ortamlar için okuma ağırlıklı iş yükünün optimize edilmesi ve geçikmenin düşmesi için kullanabileceğiniz bir başka servisten, AWS ElastiCache’den, bahsedeceğim.

Continue reading AWS Elastic Beanstalk ile Web Application Kurulumu 2

AWS Elastic Beanstalk ile Web Application Kurulumu 1

Merhaba,

WordPress; php ve mysql tabanlı, açık kaynak kodlu blog ve içerik yönetim sistemidir. Kişisel web sitelerinden yüksek trafik yoğunluklu web sitelerine kadar hemen her türlü içeriğin yayınlanması için kullanılmaktadır. WordPress’in ilk sürümü 2003’de yayınlanmıştı ve elastik, ölçeklenebilir, bulut tabanlı sistemlerde çalışması düşünülerek yapılmamıştı. Zamanla gelişen sürümleri ile bu içerik yönetim sistemi(content management system) ; modern, ölçeklenebilir ve bulut tabanlı sistemlerde çalışabilir hale gelmiştir.Göz atmak isteyenler için wordpress web application’ının dosya ve klasör yapısı hakkında, kaynaklar kısmında, çeşitli adresler paylaştım.

Yazımda, AWS üzerinde ölçeklenebilir(scalable) , stateless mimari ile wordpress web application yapılandırmasından bahsedeceğim. Konunun kapsamı ve kullanacağım servisleri göz önününe aldığımda yazımı iki parçaya bölmeye karar verdim. Bu bölümde , wordpress için gereken relational database servisinin kurulumu,Elastic Beanstalk ile wordpress’in kurulumu ve Elastic Load Balancer konularına değinilecektir. Elastic Beanstalk servisi dışında kalan diğer servislerden önceki yazılarımda bahsetmiştim. Bu konuyu incelemeden önce o yazılara gözatabilirsiniz.

Elastic Beanstalk AWS’nin sunduğu platform as a service ‘dir. Müşteri Elastic Beanstalk ile, web uygulamasını bellirli tanımlar doğrultusunda(ec2,elb,rds vb.) AWS bulutuna kurar ve hizmete açar. Elastic Beanstalk servisinin desteklediği yazılımlardan ve uygulamalardan bazıları aşağıdaki gibidir.

Continue reading AWS Elastic Beanstalk ile Web Application Kurulumu 1

AWS Auto Scaling

Merhaba,

Auto scaling, uygulamanızın performansını koruyabilmek için yeterli sayıda sanal sunucunun otomatik olarak açılmasını veya kapatılmasını sağlayan AWS servisidir. Uygulamanın performansına bağlı olarak belirli zamanlarda fazla sayıda EC2(sanal sunucusu) instance’ının çalışması gerekebilir,yoğunluk düştüğünde de, açılan EC2 instance’larını kapatmak gerekir. Bu şekilde, AWS bulutunda çalıştırdığınız uygulamanın performansını koruyarak masrafı optimize etmiş olursunuz.

Auto scaling servisinin bileşenleri aşağıdaki gibidir:

Groups: EC2 instance’ları gruplandırılır ve böylece auto scaling içinde performansa bağlı sahip olmanız gereken minimum,maksimum ve hedeflenen instance sayısını belirlemiş olursunuz.

Launch Configuration: EC2 instance’ları için bir şablon olarak düşünülmelidir. Bu yapılandırma ile, otomatik olarak oluşturulacak Amazon Machine Image,Instance type (t,m vb. size’lar),erişim için kullanılacak key pair’lar,security group bilgisi,block device’ların atanması detaylarını belirlersiniz. Uygulamanın performansından dolayı yeni EC2 instance’ı açılacağı zaman, burada belirlenen detaylar ile açılır.

Scaling Plan : Auto scaling için zamanlama seçeneğidir.Bir şarta göre veya belirli zamana göre işlem yapmak şeklinde yapılandırılabilir.

Auto Scaling servisini tek başına kullanabileceğiniz gibi Elastic Load Balancer servisi ile birlikte de kullanabilirsiniz. Production ortamınız için,uygun şartlar sağlanıyorsa, Auto Scaling ile Elastic Load Balancer servislerinin birlikte kullanılması gerektiğini düşünüyorum.

Auto scaling servisi ile genel olarak aşağıdaki kazanımları sağlarsınız:

Continue reading AWS Auto Scaling

AWS ELB – Elastic Load Balancer

Merhaba,

Elastic Load Balancer(ELB) servisi gelen trafiği AWS EC2 instance’ları arasında dağıtan amazon web servisidir.Uygulamalarınız için hata toleransı sağlar. ELB, yaptığı kontrollerle sağlıksız instance’ları belirleyerek gelen trafiğin sağlıklı EC2 instance’ına yönlendirilmesini sağlar.Yazımda genel olarak ELB servisinin nasıl yapılandırılacağından bahsedeceğim.

Kullandığınız servislere ve ya aldığınız hizmetlere bağlı olarak ELB’nin tasarımı/mimarisi farklılaşabilir. Test ortamımda, AWS’de çalışan iki adet EC2 instance’ını ELB arkasına alarak çalıştıracağım. EC2 instance’larımda çalışan servis Internet Information Service’tir. EC2 instance’larım Windows Server 2012 R2’lerden oluşmaktadır.Test labımda Auto-Scaling veya Route 53 servislerini kullanmadım. Onlar da başka bir yazının konusu olacak.Instance’lar aşağıda görülüyor.

clip_image002

Load Balancer kısmından yeni bir LB oluşturmaya başlıyoruz.

Continue reading AWS ELB – Elastic Load Balancer

AWS – VMware vCenter Management Portal

Merhaba,

AWS Management Portal for vCenter AWS bulutundaki kaynaklarınızı VMware vCenter yazılımını kullanarak yönetmenizi sağlar.Portal, mevcut vCenter ortamınıza plug-in şeklinde yüklenerek vCenter ile yönettiğiniz sanal sunucularınızı AWS EC2 ortamına aktarmanızı ve AWS kaynaklarını vCenter management console ile yönetmenizi sağlar.Kurumsal müşteri odaklı düşünülen portal, sso desteğini de sunmaktadır. Aşağıdaki ekran görüntüsünde portal hakkında genel bilgiler gösterilmektedir.

clip_image002

Üstte de görüldüğü üzere portal ile AWS bulutunda yapabilecekleriniz aşağıdaki gibidir.

– VPC oluşturma

– Security Group oluşturma

– Subnet oluşturma

– EC2 instance’larını yönetme

– VM’leri EC2 üzerine göç ettirme

– EC2 üzerindeki VM’leri yönetme

– Ek maliyet yok

– VM migration sırasında kullanılan S3 ve EBS ayrıca faturalandırılmaktadır

– VM migration sırasında kullanılan bant genişliği kullanımı ayrıca faturalandırılmaktadır

Genel olarak yapının mimarisi ve gereksinimleri aşağıdaki gibidir.

– AWS hesabı gerekir

– VMware vCenter Server 5.1 veya üzeri gerekir

– Internet Explorer 10 veya üzeri gerekir(ilginç bir gereksinim:))

– AWS web konsolundaki tüm işlemler vCenter üzerinden yapılamıyor

– AWS ile local datacenter’ınız arasındaki bağlantıyı AWS Connector for vCenter isimli virtual appliance üzerinden sağlıyorsunuz. OVA biçimindedir. Download&Deploy ederek yapılandırıyorsunuz.

– Virtual appliance ile AWS arasındaki iletişim ,AWS Identity & Access Management servisi ile yönetiliyor.

Continue reading AWS – VMware vCenter Management Portal

Microsoft , Symantec , Cisco , HP , ….