Google Cloud'da HA Ortamımızı Nasıl Yönetiyoruz?
Published on 01 Jan 2020
· Around 2 minutes to read
Yüksek Kullanılabilirlik Yüksek Ölçeklenebilirlik Sağlamak özellikle SaaS altyapısı üzerinden çözüm sunan ürünler için önemlidir. Müşteri sayısındaki artış bizim için daha fazla iş anlamına geliyor ve işi kaldıracak bir altyapı oluşturmazsak kaynaklarımızı boşa harcamış oluyoruz.
Şirket içi vs Bulut
Öncelikle şirket içi ve bulut çözümlerimizde kullanabileceğimiz güçlü bir altyapı çözümü aradık. Bunun için önce Docker Swarm ile devam etmeye karar verdik.
Teknolojik altyapıdaki değişim ve daha sonra ürünün tam olarak yerleştirilmesi Cloud çözümü sunan hizmetlerde yapacağımız seçimlerde bir esneklik sağladı.
AWS vs Google Cloud vs Microsoft Azure
İlk tercihimiz, bir altyapı seçimindeki esneklikti ve DevOps aracılığıyla bize kolaylık sağlanacaktı. AWS deneyimi çok iyi olmasına rağmen, kullanmak için ciddi uzmanlık gerektiriyordu. Testlerde kendimizi 'evimizde' gibi hissetmediğimiz açıktı. Aynı zamanda tahmin edemediğimiz pek çok şey için ekstra ödemeler olması bizim için rahatsız ediciydi.
Microsoft ürünlerinin çoğunu kullandığımızdan dolayı Azure ortamına diğer ortamlardan daha aşinaydık. Yaptığımız testlerde, kısa sürede istediğimiz ortamı yaratabilirdik. Ama bu sefer satıcı kilitlenmelerine (vendor lock-in) girmeye başladık. Ortama hazırlıklı olsak da, biraz esnekliğimizi bıraktık. Fiyatlar daha net ama diğer satıcılara göre daha pahalıydı.
Son olarak, Google Cloud'u denedik. Çevrenin basitliğine ve esnekliğine hızlı bir şekilde aşina olmak mümkün değildi. Talepler çok açık. Maliyet hesaplarınızı ayın ortasında bile kolayca yapabilirsiniz. İstediğiniz yere müdahale edebilirsiniz. İstediğin yere müdahale edebilirsin. Ortamımızı çabucak kurduk, yayınladık ve testlerimizi yaptık.
Kazanan?
Tabii ki Google Cloud oldu. Şu anda tüm bulut sistemimiz Google Cloud'da coğrafi olarak konumlandırıldı. Yüksek Kullanılabilirlik ve Yüksek Ölçeklenebilirlik.
Hangi teknolojileri kullanıyoruz? Geliştirme dili olarak DotNet Core (C#) & NodeJS.
Framework olarak Asp.net Core & VueJS.
Veritabanı olarak Postgresql & MSSQL.
Containerization için Docker
Containerization ortamı olarak Kubernetes & Docker Swarm.
Hangi teknolojileri kullanıyoruz?
Google Cloud, uygulamaya ve sisteme özel tüm altyapıyı izlememize olanak tanır. Uygulama İzleme, Sistem İzleme, İstisnalar ve Kayıtta mükemmel bir görünürlük sağlar.
Uygulamaların çalıştığı containerlere bağlanma ve istediğimiz zaman ayrıntılı denetimler yapma fırsatımız var.
Sistem tarafında veya uygulama tarafında bir uyarı oluşturarak, uygulamanızda ve sisteminizde sağlık kontrollerinizi çok kolay bir şekilde yapabilirsiniz.
Artıları
– Yüksek kullanılabilirlik – Yüksek Ölçeklenebilirlik – Tamamen Özelleştirilebilir – Kullandığın kadar öde – Coğrafi konum
Eksileri
– Düşünme şeklinizi değiştirmeniz gerekir 🙂 (Çok profesyonel olabilir) – Lokal yığınınızı olduğu gibi getiremezsiniz. – Profesyonel bir danışmanlık gerekli olacak.
Peki, ya şirket içinde?
Konteynerleştirme teknolojisi ve seçtiğimiz altyapı çözümü hem şirket içi hem de bulut modelleri için uygun olduğundan, Kubernetes ve Docker Swarm (bir ihtiyaca göre kullanılabilir) de şirket içi ortamda sorunsuz çalışabiliyor.
Maliyet
Kullandığımız model 'Kullandıkça Öde' modeli olduğundan fiyatlandırma değişken olabilir. Ancak kullandığınız altyapı için sabit bir fiyat vardır.Bu bölüm de çok basit ve sadece makine ücretini ödüyorsunuz. Google Cloud'da yönetim için herhangi bir ücret ödemeniz gerekmez.
Minimum Altyapı
3x 4GB, 2 CPU Clustered = 12 GB Bellek, 6 CPU 3 VM 1 konum (Avrupa, US ya da Asya)
ya da
1 VM (her bir konum için) 3 konum
Optimum Altyapı
3x 3 Geolocated 4GB, 2 CPU Clustered = 36 GB Bellek, 18 CPU 9 VM, 3 konum