AWS ve Azure: Kapsayıcıları Dağıtma

AWS ve Azure’da kapsayıcı uygulamalarını kullanmaya başlayın

Kapsayıcı teknolojisinin yazılım ekiplerinin uygulamaları buluta dağıtma biçiminde devrim yarattığını söylemek abartı olmaz. Aynı zamanda, konteyner süreçlerine yönelik bir altyapı sağlamak oldukça zor olabilir. Biz geliştiriciler ve IT Ops profesyonelleri için şanslıyız, bulut satıcıları, konteynerleri çalıştırmak için gereken ağır yüklerin çoğunu ortadan kaldıran hizmetler yarattı.

Bu blog gönderisinde, kapsayıcı uygulamalarını AWS ve Azure’a hızlı bir şekilde dağıtmaya başlamak için iki seçeneğe bakacağız. Bu gönderinin sonunda, hem AWS’de hem de Azure’da kapsayıcılarla nasıl çalışılacağını daha iyi anlayacak ve kullanım durumunuz için hangisinin en iyi bulut hizmeti sağlayıcısı olduğuna karar vermenize yardımcı olacak daha fazla bilgiye sahip olacaksınız.

AWS: Elastik Fasulye Sırığı

Konteyner uygulamalarını AWS bulutuna dağıtmanın en basit yollarından biri Elastic Beanstalk kullanmaktır. Bu hizmet, çeşitli çalışma zamanı teknolojilerini destekler. Bu yazı itibariyle aşağıdakiler desteklenmektedir: Python, PHP, Go, Ruby, Java, Windows Server üzerinde .NET, Linux üzerinde .NET Core ve Docker.

Resmi Beanstalk belgeleri, “Docker’ı Elastic Beanstalk ile kullanarak kapasite sağlama, yük dengeleme, ölçeklendirme ve uygulama sağlığı izlemenin tüm ayrıntılarını işleyen bir altyapıya sahip olursunuz.”

Beanstalk’a tek kapsayıcı uygulamaları dağıtmak için tek ihtiyacınız olan bir Dockerfile. Birden çok kapsayıcı içeren daha karmaşık uygulamalar için Beanstalk, bir docker-compose.yml dosyası kullanarak Docker Compose’un özelliklerinden yararlanmamıza olanak tanır.

Her Beanstalk ortamı, Elastic Load Balancer’lar, Auto-Scaling Groups, EC2 bulut sunucuları ve Docker arka plan programları gibi bir dizi temel AWS hizmetini oluşturur ve yönetir.

Hem genel hem de özel kapsayıcı görüntü havuzları için destek mevcuttur. Yakın zamanda ücretsiz hesaplara sınırlamalar getiren popüler Docker Hub’a alternatif olarak, kapsayıcı görüntülerini depolamak ve çekmek için AWS’nin kendi Amazon Elastic Container Registry’sini kullanabiliriz.

Beanstalk’ta Docker’ı kullanmaya başlamanın en hızlı yolu Elastic Beanstalk CLI (EB CLI) kullanmaktır. CLI’yi kullanarak yerel iş istasyonumuzda bir uygulama oluşturup test edebilir ve ardından uygulamayı AWS’de dağıtabilir ve yönetebiliriz.

Dağıtım süreci, AWS Code Pipeline ile bir CI/CD Pipeline kurularak otomatikleştirilebilir (ve yapılmalıdır!). Code Pipeline, kaynak kod deposundaki değişiklikleri algılar ve otomatik olarak Beanstalk’a dağıtımı başlatır.

AWS’de kapsayıcı uygulamalarını hızlı bir şekilde dağıtmaya başlamak için Beanstalk’a göz atın.

Azure: Uygulama Hizmeti

Azure’da web uygulamalarını uygun ölçekte barındırmak ve yönetmek için kullanılan hizmete Uygulama Hizmeti adı verilir. Bu hizmet, hem Windows hem de Linux için çeşitli çalışma zamanı dillerini ve ayrıca kapsayıcı uygulamalarını destekler. AWS için Beanstalk ne ise, App Service Azure için odur.

Resmi App Service belgeleri, “App Service, uygulamanıza yalnızca güvenlik, yük dengeleme, otomatik ölçeklendirme ve otomatik yönetim gibi Microsoft Azure’un gücünü eklemekle kalmaz. Azure DevOps, GitHub, Docker Hub ve diğer kaynaklardan sürekli dağıtım, paket yönetimi, hazırlama ortamları, özel etki alanı ve TLS/SSL sertifikaları gibi DevOps özelliklerinden de yararlanabilirsiniz.”

Bir Uygulama Hizmeti oluşturmak için, Uygulama Hizmeti planını aramak için Marketplace’i kullanırız. Bir Uygulama Hizmeti planı, bir web uygulamasının çalışması için gereken bir dizi işlem kaynağını tanımlar.

Azure’da yalnızca kapsayıcı dağıtımlarını denemek isteyenler için, Uygulama Hizmet Planı için iki temel fiyatlandırma katmanından (Ücretsiz ve Paylaşılan) biri çalışmalıdır. Bunlar ücretsiz katmanlardır ve kaynaklar ölçeklenemez, ancak ödeme yapmadan önce hizmeti denememize olanak tanır.

App Service planı oluşturulduktan sonra, bir Web Uygulaması aramak ve oluşturmak için Marketplace’i kullanırız. Bu, web uygulamalarımızı dağıtmak için kullanılan ve konteyner işlemlerini çalıştırmak için gerekli altyapının sağlanmasıyla ilgili tüm karmaşıklığı ortadan kaldıran hizmettir.

Bir Web Uygulamasında kapsayıcıyı çalıştırmak için kapsayıcı görüntüsünün, Web Uygulamasının dağıtabileceği bir kayıt defterinde barındırılması gerekir. Şu anda desteklenen kayıtlar arasında Azure Container Registry, Docker Hub veya özel, şirket içinde barındırılan bir kayıt defteri bulunur.

Yerinde hizmetler ve eldeki görüntü kayıt defteri ile kapsayıcı uygulaması Azure’a dağıtılmaya hazırdır. Microsoft’un bu öğreticisi, bunun nasıl yapılacağına ilişkin adım adım talimatları gösterir.

Azure’a kapsayıcı uygulamalarını hızlı bir şekilde dağıtmaya başlamak için App Service’e göz atın.

Çözüm

Hem AWS hem de Azure, kapsayıcıların bulut ortamlarında hızla çalıştırılmasına yönelik hizmetler sunar. Bu hizmetler, gerekli altyapının sağlanması, kapsayıcı süreçlerinin dağıtılması ve izlenmesi ile ilgili karmaşıklığı gizlemeye yardımcı olur. AWS bulutuyla daha rahatsanız, Beanstalk’a göz atın. Azure’u daha çok seviyorsanız, o zaman App Service gitmeniz gereken yoldur. Hangi yolu seçerseniz seçin, devlerin omzunda duracaksınız ve kendi çözümünüzü yuvarlamaktan çok daha iyi durumda olacaksınız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.