Yüksek kullanılabilirlik ve 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 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 tercih kriterimiz, altyapı seçimindeki esneklik ve DevOps süreçlerinde bize sağlayacağı kolaylıktı. 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. Ortamın basitliğine ve esnekliğine kısa sürede aşina olmamak mümkün değildi. Her şey çok açık; maliyet hesaplarınızı ayın ortasında bile kolayca yapabilir, istediğiniz yere müdahale edebilirsiniz. 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ılmış durumda; yüksek kullanılabilirlik ve yüksek ölçeklenebilirlik ile çalışıyor.
Hangi Teknolojileri Kullanıyoruz?
Geliştirme dili olarak .NET Core (C#) ve Node.js.
Framework olarak ASP.NET Core ve Vue.js.
Veritabanı olarak PostgreSQL ve MSSQL.
Containerization için Docker.
Containerization ortamı olarak Kubernetes ve Docker Swarm.
İzleme ve Görünürlük
Google Cloud, uygulamaya ve sisteme özel tüm altyapıyı izlememize olanak tanır. Uygulama izleme, sistem izleme, istisnalar ve kayıtlar konusunda mükemmel bir görünürlük sağlar.
Uygulamaların çalıştığı container'lara 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 gelebilir) – Lokal yığınınızı olduğu gibi taşıyamazsınız. – Profesyonel bir danışmanlık gerekli olabilir.
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; 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



