CaaS – Hizmet Olarak Konteynerler nedir?
Bu makalede, Hizmet Olarak Konteynerler (CaaS) hakkında konuşacağız. Yeni ama güçlü bulut modellerinden biri. Temel işlevleri, artıları ve eksileri, diğer bulut modelleriyle nasıl karşılaştırıldığı ve konteynerleri kullanarak basit bir uygulamanın nasıl dağıtılacağı hakkında bilgi edineceksiniz.
Contents
- 1 Önemli Çıkarımlar
- 2 Hizmet Olarak Konteynerler Nedir?
- 3 Container as a Service’in temel işlevleri nelerdir?
- 4 Containers as a Service’in avantajları nelerdir?
- 5 Containers as a Service’in sınırlamaları nelerdir?
- 6 Docker ve Kubernetes bir CaaS platformunda nasıl bir rol oynar?
- 7 Containers as a Service diğer modellere kıyasla nasıldır?
- 8 En iyi Containers as a Service sağlayıcıları hangileridir?
- 9 Konteyner kullanarak basit bir uygulama nasıl barındırılır?
- 10 Sonuç
- 11 SSS
- 12 Containers as a Service nedir?
- 13 Containers as a Service’in avantajları nelerdir?
- 14 Containers as a Service’in dezavantajları nelerdir?
- 15 En iyi Containers as a Service sağlayıcıları nelerdir?
- 16 Konteyner kullanarak bir uygulama nasıl dağıtılır?
Önemli Çıkarımlar
- CaaS, yerleşik işlevlerle sorunsuz geliştirme ve dağıtımı kolaylaştırır.
- CaaS, satıcı kilitlenmesini azaltarak yüksek ölçeklenebilirlik ve taşınabilirlik sunar.
- CaaS sınırlamaları arasında potansiyel güvenlik riskleri ve dik öğrenme eğrisi bulunmaktadır.
Hizmet Olarak Konteynerler Nedir?
CaaS tanımı, Containers as a Service, geliştiricilerin konteynerleri yüklemesine, oluşturmasına, ölçeklendirmesine ve yönetmesine olanak tanıyan bir bulut bilişim modelidir.
DevOps konteynerleri, bir uygulamayı çalıştırmak için gereken her şeyi içeren hafif, bağımsız yürütülebilir paketlerdir. Bunlar çalışma zamanı, kod, kütüphaneler, yapılandırma dosyaları ve daha fazlasını içerir. Konteynerler son derece taşınabilir, küçük boyutlu ve verimlidir.
CaaS kullanarak, geliştiriciler ve BT operasyon ekipleri altta yatan altyapı hakkında endişelenmek zorunda kalmazlar. Bunun yerine, çok daha yüksek bir seviyede düşünebilirler.
Tek yapmaları gereken uygulamayı kodlamak, dockerize etmek ve buluta aktarmaktır. Bulut sağlayıcısı daha sonra ölçeklendirme, yük dengeleme ve izleme gibi diğer her şeyle ilgilenecektir!
Bunun da ötesinde, CaaS çevik geliştirmeyi teşvik ettiği, mikro hizmet mimarisini desteklediği ve hızla ölçeklenebilir uygulamalar oluşturmak için son derece yararlı olduğu için mükemmeldir.
Container as a Service’in temel işlevleri nelerdir?
Bir CaaS’ın hangi özellikleri içermesi gerektiğini tanımlayan resmi bir şartname yoktur. Bunlar satıcıdan satıcıya farklılık gösterir. Bununla birlikte, Hizmet Olarak Konteynerlerin en temel işlevleri şunlardır:
- Konteyner çalışma zamanı (konteynerli uygulamalarınızı çalıştırmaktan sorumludur)
- Konteyner kayıt defteri (önceden oluşturulmuş Docker görüntülerini depolamanıza ve dağıtmanıza olanak tanır)
- Otomatik ölçeklendirme (trafiğe bağlı olarak konteyner sayısını artırır veya azaltır)
- Yerleşik CI/CD sistemi (kodunuzu GitHub veya GitLab gibi bir VCS sisteminden çeker)
- Yük dengeleme (daha iyi performans için trafiği birden fazla konteyner arasında böler)
- İzleme ve günlük kaydı (gelişmiş konteyner izleme yetenekleri sağlar)
Containers as a Service’in avantajları nelerdir?
Daha Hızlı Geliştirme ve Dağıtım
CaaS kullanarak yazılım geliştirme ve dağıtım sürecinizi önemli ölçüde hızlandırabilirsiniz. Konteynerler, işe yeni başlayan geliştiricilerin yerel geliştirme ortamlarını kurmalarını kolaylaştırır. Tek yapmaları gereken, bir sürü bağımlılık yüklemek veya işletim sistemi ayarlarıyla uğraşmak yerine bir veya iki komut çalıştırmaktır.
Ayrıca, projeniz konteynerleştirildikten sonra herhangi bir CaaS sağlayıcısına kolayca dağıtılabilir.
Kaynak Verimliliği
Konteynerler kaynak dostu bir yapıya sahiptir. CPU, bellek ve depolama gibi sistem kaynaklarını verimli bir şekilde kullanmak üzere tasarlanmışlardır. Konteynerler ile genellikle daha az sistem kaynağı ile daha fazla uygulama çalıştırabilirsiniz. VM’lere kıyasla konteynerler daha fazla kaynak optimizasyonuna sahiptir.
Taşınabilirlik
Konteynerli uygulamalar, işletim sistemine veya altta yatan donanıma bağımlı olmadıkları için son derece taşınabilirdir. CaaS’ı kullanarak bir daha asla “benim makinemde çalışıyor” sorunu yaşamayacaksınız.
Bunun da ötesinde, konteynerler tedarikçi kilitlenmesi riskini ortadan kaldırır. Mevcut tedarikçinizden memnun değilseniz, kodunuzu fazla değiştirmeden bir tedarikçiden diğerine kolayca geçebilirsiniz.
Ölçeklenebilirlik
Kubernetes gibi orkestrasyon yazılımlarıyla birlikte kullanılan konteynerler son derece ölçeklenebilirdir. Çoğu CaaS satıcısının yerleşik otomatik ölçeklendirme yetenekleri, yük dengeleme ve daha fazlası vardır. Bu, herhangi bir trafiği karşılamalarını ve trafik artışı sona erdiğinde hızla ölçeklendirmelerini sağlar.
Basitleştirilmiş Operasyon
CaaS, geliştirme ve üretim ortamı arasındaki boşluğu doldurur. Bunun da ötesinde, VCS sisteminizle entegre olan yerleşik bir CI/CD sistemi sunarak DevOps sürecini basitleştirir.
Hepsinden iyisi, CaaS, herhangi bir SysAdmins veya DevOps mühendisine ihtiyaç duymayacağınız için önemli maliyetleri azaltmanızı sağlayacaktır.
Containers as a Service’in sınırlamaları nelerdir?
Güvenlik Sorunları
Konteynerler, aynı sistem çekirdeğini paylaştıkları için VM’lere göre daha düşük izolasyon ve güvenlik sunar. Bu potansiyel bir güvenlik riski olabilir. Docker konteyner işlemlerinizi root olarak çalıştırıyorsanız, bir bilgisayar korsanı konteynerden çıkıp ana bilgisayar sisteminin kontrolünü ele geçirebilir.
Kontrol Eksikliği
CaaS platformları genellikle diğer bulut modellerine kıyasla daha düşük bir kontrol seviyesi sunar. Müşteriler, kapsayıcılarının üzerinde çalıştığı makinelerde ince ayar yapamaz veya uygulamalarının nasıl ölçekleneceğini yapılandıramaz.
Öğrenme Eğrisi
Containers as a Service modeli PaaS veya BaaS’a göre daha zordur. Programlama, konteynerizasyon teknolojisi, Docker vb. hakkında çok fazla teknik bilgi gerektirir. Daha dik bir öğrenme eğrisine sahiptir, ancak bu konuda uzmanlaşmak çok fazla zaman ve para tasarrufu yapmanıza yardımcı olabilir.
Veri Kalıcılığı
Konteynerler durumsuz olacak şekilde tasarlanmıştır. Dosyaların, veritabanlarının ya da veri sürekliliği gerektiren herhangi bir şeyin depolanması için kullanılmamalıdırlar. CaaS kullanarak, AWS S3, Google Cloud Storage gibi dosyaları barındırmak için 3. taraf bir hizmet kullanmanız gerekecektir. Veritabanı ile ilgili olarak, yönetilen bir veritabanı çözümü ile gidebilirsiniz.
Docker ve Kubernetes bir CaaS platformunda nasıl bir rol oynar?
Docker ve Kubernetes çoğu CaaS platformunda önemli bir rol oynamaktadır.
Docker, konteyner oluşturmak, dağıtmak, çalıştırmak ve yönetmek için ücretsiz ve açık kaynaklı bir platformdur. 2013 yılında piyasaya sürülmüş ve konteynerli yazılımların paketlenmesi için fiili standart haline gelmiştir.
Kubernetes (bazen K8s olarak da anılır) bir orkestrasyon yazılımıdır. Docker’dan daha yüksek bir seviyede çalışır. Kubernetes’in amacı konteyner kümelerinin birlikte güzelce çalışmasını sağlamaktır. Ölçeklendirme, yük dengeleme, bozuk konteynerlerin değiştirilmesi ve benzeri işlemlerle ilgilenir.
Containers as a Service diğer modellere kıyasla nasıldır?
Bu bölümde CaaS’ı IaaS, PaaS ve BaaS gibi diğer bulut bilişim hizmetleriyle karşılaştıracağız. Hepsinin projenizi dağıtırken göz önünde bulundurmanız gereken artıları ve eksileri vardır.
Soyutlama katmanlarına göre CaaS, IaaS ve PaaS arasında bir yere düşmektedir (aşağıdaki resimde gösterildiği gibi).
CaaS vs IaaS
Hizmet Olarak Altyapı (IaaS), bir bulut sağlayıcısının temel altyapıyı sanallaştırılmış bir ortamda sunduğu esnek bir bulut bilişim modelidir. Buna sunucular, depolama, işletim sistemleri ve ağ iletişimi dahildir. IaaS en az soyutlanmış seçenektir ve müşterilere altyapıları üzerinde tam kontrol sağlar.
CaaS daha az esnektir ve IaaS’a göre daha düşük bir kontrol seviyesi sunar. Ancak diğer yandan, yönetilmesi çok daha kolaydır ve daha fazla ölçeklenebilirlik ve taşınabilirlik sağlar. Genel bir kural olarak, üst düzey kontrole ihtiyacınız varsa IaaS’ı, ölçeklenebilir konteynerli uygulamaları dağıtmak için hızlı bir yola ihtiyacınız varsa CaaS’ı kullanın.
CaaS vs PaaS
Hizmet Olarak Platform (PaaS), geliştiricilere uygulamalarını oluşturmaları ve dağıtmaları için araçlar sağlayan bir bulut bilişim hizmetidir. PaaS, kullanıcıların altta yatan altyapı hakkında endişelenmek yerine uygulamalarına odaklanmalarını sağlar. Çoğu PaaS sağlayıcısı, uygulamanızı bir veya iki tıklamayla çalıştırmanızı sağlar!
CaaS, PaaS’a kıyasla daha esnek ve ölçeklenebilirdir. PaaS sağlayıcıları genellikle birkaç programlama diliyle sınırlıyken, CaaS pratik olarak her şeyi dağıtmanıza olanak tanır. Yazılım geliştirme araçları ve özellikleri açısından PaaS daha gelişmiştir. PaaS monolitik uygulamalar için daha uygunken, CaaS mikro hizmet mimarisinde üstündür.
Hizmet Olarak Platform hakkında daha fazla bilgi edinmek için Paas Nedir?
CaaS vs BaaS
Backend as a Service (BaaS), bir projenin arka uç tarafını tamamen soyutlayan bir bulut bilişim modelidir. Veritabanı, dosya depolama, kullanıcı yönetimi, API’ler, SDK’lar, anlık bildirimler ve kimlik doğrulama bunlardan birkaçıdır. BaaS, tekrarlayan programlama görevlerine zaman ve para harcamak yerine ön uç ve iş mantığınıza odaklanmanızı sağlar.
CaaS arka uçları ve ön uçları dağıtmak için kullanılabilirken, BaaS çoğunlukla arka uçları dağıtmak içindir. BaaS’ın kullanımı son derece kolaydır ve bazen herhangi bir kod gerektirmez. CaaS ise programlama, dockerization ve DevOps konularında yeterli miktarda teknik bilgi gerektirir.
Hizmet Olarak Arka Uç hakkında daha fazla bilgi edinmek için BaaS Nedir?
En iyi Containers as a Service sağlayıcıları hangileridir?
Back4app Containers
Back4app Containers, uygulamaları küresel olarak dağıtılmış konteynerlere dağıtmak ve ölçeklendirmek için bir CaaS platformu sunan güçlü bir bulut hizmetidir.
Geliştiricilerin DevOps hakkında endişelenmeden yazılımlarına ve dockerizasyon süreçlerine odaklanmalarını sağlar. Platform yerleşik bir CI/CD sistemine, GitHub entegrasyonuna sahiptir ve kesintisiz dağıtımları destekler.
Hepsinden iyisi, ücretsiz bir plan sunar ve uygulamanızı birkaç dakika içinde çalıştırmanıza olanak tanır!
Amazon Elastic Container Service
Amazon Elastic Container Service (ECS), konteynerleştirilmiş yazılımların yönetimini ve dağıtımını basitleştiren, tam olarak yönetilen bir konteyner düzenleme hizmetidir. Tek yapmanız gereken uygulamanızı ve gerekli kaynakları tanımlamaktır, gerisini AWS halledecektir.
ECS arka planda diğer AWS hizmetlerini kullandığından ECS için özel bir ücret alınmaz. ECS’yi etkin bir şekilde kullanmak için AWS ekosistemine aşina olmanız gerekir. AWS ayrıca yeni müşteriler için ücretsiz bir katman sunuyor.
Google Cloud Kubernetes
Google Cloud Kubernetes (GKE), Google’ın Kubernetes tabanlı orkestrasyon platformudur. Düğümleri yönetme ihtiyacını ortadan kaldırarak kapsayıcılarınızı otomatik pilota almanızı sağlar. Önceden oluşturulmuş Kubernetes uygulamaları ve şablonları, otomatik ölçeklendirme yetenekleri, çoklu küme yönetimi ve daha fazlası ile birlikte gelir!
GKE son derece performanslı ve esnektir ancak oldukça fazla başlangıç yapılandırması gerektirir. Bu da onu yeni başlayanlar için uygun kılmıyor. Diğer iki seçenek gibi Google da yeni kullanıcılar için ücretsiz kredi sunuyor.
Konteyner kullanarak basit bir uygulama nasıl barındırılır?
Bu bölümde, basit bir Python web uygulamasının nasıl oluşturulacağını, dockerize edileceğini ve dağıtılacağını inceleyeceğiz. Bu kılavuz özellikle Back4app Containers için tasarlanmıştır, ancak benzer adımlar diğer CaaS sağlayıcılarına da uygulanabilir.
Hedefler
- Uygulamayı kodlayın.
- Uygulamayı Dockerize edin ve test edin.
- Kaynak kodunu GitHub’a gönderin.
- Uygulamayı CaaS’a dağıtın.
Kod Uygulaması
Dağıtım sürecini göstermek için, üretime hazır API’ler oluşturmaya yönelik modern, yüksek performanslı bir Python çerçevesi olan FastAPI ‘yi kullanarak basit bir RESTful API oluşturacağız.
Proje Kurulumu
Proje için özel bir klasör ve sanal bir ortam oluşturarak başlayın:
$ mkdir fastapi-example && cd fastapi-example
$ python3.9 -m venv env && source env/bin/activate
Ardından, FastAPI’yi tüm bağımlılıklarıyla birlikte yükleyin:
$ pip install "fastapi[all]"
Ekstra belirticiyi kullanmak, Uvicorn sunucusu, Jinja2 şablonlama motoru ve benzeri gibi bazı isteğe bağlı bağımlılıkları yükler. En azını istiyorsanız, ekstrayı dahil etmeyin.
Aşağıdaki içeriğe sahip bir main.py dosyası oluşturun:
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Back4app Containers rocks!"}
Bu, yazabileceğiniz en temel FastAPI uygulamasıdır. FastAPI
‘yi içe aktarmamız, başlatmamız ve kök uç noktasını kaydetmemiz gerekiyordu. Ziyaret /
Back4app Containers rocks!
mesajını döndürmelidir.
Çalıştırın ve test edin
Web uygulamasını çalıştırmak için yerleşik Uvicorn ASGI sunucusunu kullanabilirsiniz:
$ uvicorn main:app --reload
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [9528] using WatchFiles
INFO: Started server process [26308]
INFO: Waiting for application startup.
INFO: Application startup complete.
Kaynak kodda herhangi bir değişiklik yaptığımızda sunucunun yeniden yüklenmesini istediğimiz için --reload
bayrağını ekledik.
API köküne bir GET
isteği göndermek için cURL kullanın:
$ curl http://localhost:8000/
{
"message": "Back4app Containers rocks!"
}
gereksinimler.txt
Yapmamız gereken bir başka şey de tüm gereksinimleri bir requirements.txt dosyasına dondurmaktır. Bunu yapmak, başkalarının projemiz için gerekli tüm bağımlılıkları hızlı bir şekilde yüklemesini sağlar.
$ pip freeze > requirements.txt
fastapi==0.97.0
pydantic==1.10.9
python-dotenv==1.0.0
...
Bu dosyayı Docker imaj oluşturma sürecinde Python bağımlılıklarını yüklemek için kullanacağız.
Dockerize Uygulaması
Devam etmeden önce, yerel makinenizde Docker olduğundan emin olun. Bunu kontrol etmenin en iyi yolu terminalinizde
docker --version
komutunu çalıştırmaktır.
Dockerfile
Projemizi dockerize etmek için bir Dockerfile kullanacağız. Dockerfile, bir kullanıcının bir görüntüyü bir araya getirmek için çalıştırabileceği tüm komutları içeren bir metin dosyasıdır.
Proje kök dizininde aşağıdaki gibi bir Dockerfile oluşturun:
# Dockerfile
# Use Alpine Linux as the base image
# we're using it since it's tiny in size (~5 MB)
FROM python:3.9.6-alpine
# Set the working directory
WORKDIR /app
# Set environmental variables
ENV PYTHONDONTWRITEBYTECODE 1 # Prevents Python from writing out .pyc files
ENV PYTHONUNBUFFERED 1 # Keeps Python from buffering stdin/stdout
# Copy over the requirements file and install the dependencies
COPY ./requirements.txt .
RUN pip install --no-cache-dir --upgrade -r ./requirements.txt
# Copy over the source code
COPY . .
# Expose the port
EXPOSE 80
# Run the server
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
Farklı talimatların nasıl çalıştığını anlamak için yorumlara göz atın.
Endişelenmeyin; tüm talimatları ezberlemek zorunda değilsiniz. Eğer takılırsanız, her zaman Docker belgelerine bakabilirsiniz. Ayrıca, çoğu dil ve çerçeve için Docker dosyaları çevrimiçi olarak bulunabilir. Tek yapmanız gereken bunları kopyalamak ve ihtiyaçlarınıza göre uyarlamaktır.
.dockerignore
Projemiz Docker görüntüsüne dahil edilmesini istemediğimiz dosya ve dizinler içerir. Bunları yok saymak için bir .dockerignore dosyası kullanabiliriz.
Proje kök dizininde bir .dockerignore dosyası oluşturun:
# .dockerignore
.git/
.idea/
venv/
Ek dosya ve dizinler eklemekten çekinmeyin.
Oluşturun, çalıştırın ve test edin
Kodunuzu CaaS’a dağıtmadan önce, projenizin makinenizde başarıyla derlendiğinden ve çalıştığından emin olun.
Docker görüntüsünü oluşturarak başlayın:
$ docker build -t fastapi-example:1.0 .
Argümanların özeti:
-t fastapi-example:1.0
görüntüyü etiketler/adlandırır..
derleme bağlamını tanımlar.
Ardından, görüntünün başarıyla oluşturulup oluşturulmadığını kontrol edin:
$ docker images
REPOSITORY TAG ID CREATED AT SIZE
fastapi-example 1.0 33feac11707d 4 seconds ago 72.8MB
Bundan sonra yeni bir konteyneri döndürmek için yeni oluşturulan imajı kullanın:
$ docker run -p 80:80 --name fastapi-example -d fastapi-example:1.0
Argümanların özeti:
-p 80:80
80
numaralı bağlantı noktasını gösterir.--name fastapi-example
kapsayıcıyı adlandırır.-d
konteyneri müstakil modda (terminali işgal etmeden) çalıştırır.fastapi-example:1.0
hangi görüntünün kullanılacağını belirtir.
Çalışan konteynerleri kontrol edin:
$ docker ps
ID IMAGE COMMAND CREATED PORTS
e67fdeg fastapi-example:1.0 "uvicorn main:app.." 9s ago 0.0.0.0:80->80/tcp
Son olarak, mesajı alıp almadığınızı görmek için API dizinine bir GET
isteği gönderin:
$ curl http://localhost/
{
"message": "Back4app Containers rocks!"
}
Konteyneri durdurmak için aşağıdaki komutu kullanabilirsiniz:
$ docker kill fastapi-example
GitHub’a itin
Sonraki adımlar bir GitHub hesabınızın olmasını gerektirecektir. Eğer hesabınız yoksa, devam edin ve kaydolun. Ayrıca, makinenizde Git’in kurulu ve yapılandırılmış olduğundan emin olun.
Depo Oluştur
GitHub hesabınıza giriş yaptığınızda kontrol panelinize yönlendirileceksiniz. Depo oluşturma formunu görmek için ekranın sağ üst köşesindeki ekle düğmesini kullanın.
Ardından, deponuza açıklayıcı bir ad verin ve “Depo oluştur” düğmesine tıklayın.
GitHub’ın depoyu oluşturması birkaç dakika sürecektir. Depo oluşturulduktan sonra, ona yönlendirileceksiniz. “Uzak depo URL’sine” dikkat edin.
Kaynak Kodunu İtin
İlerlerken, yerel projenize geri dönün.
Kodunuzun sürüm kontrolünü yapmadan önce bir .gitignore dosyası oluşturmak akıllıca olacaktır. Bir .gitignore dosyası, hangi dosya ve dizinlerin sürüm kontrol sistemine eklenmemesi gerektiğini tanımlamanıza olanak tanır. Bu dosya .dockerignore dosyası ile aynı şekilde çalışır.
Proje kök dizininde aşağıdaki içeriğe sahip bir .gitignore dosyası oluşturun:
# .gitignore
.idea/
venv/
.env
build/
Dosyayı ihtiyaçlarınıza göre değiştirmekten çekinmeyin.
Ardından, terminali açın ve yerel Git deposunu başlatmak için aşağıdaki komutu çalıştırın:
$ git init
Ardından tüm dosyaları VCS’ye ekleyin ve ilk commit’i oluşturun:
$ git add .
$ git commit -m "my initial commit"
Son olarak, uzak GitHub kaynağını ekleyin ve kaynak kodunu buraya gönderin:
$ git remote add origin <remote_url>
$ git push origin master
Değiştirdiğinizden emin olun ile önceki adımdaki uzak URL’yi girin.
Bu kadar olmalı. Şimdi GitHub depo sayfasını kontrol ederseniz, tüm dosyaların başarıyla eklendiğini görmelisiniz.
Uygulama Dağıtma
Back4app Containers ‘a bir uygulama dağıtmak için bir Back4app hesabına ihtiyacınız olacak. Henüz bir hesabınız yoksa, devam edin ve kaydolun.
Oturum açtığınızda, uygulamalarınızın listesini göreceksiniz. Uygulama oluşturma sürecini başlatmak için “Yeni uygulama oluştur” düğmesine tıklayın.
Back4app iki tür uygulama dağıtmanıza izin verir – Hizmet Olarak Arka Uç (BaaS) veya Hizmet Olarak Kapsayıcılar (CaaS). Konteynerli bir uygulama dağıttığımız için “Hizmet Olarak Konteynerler” seçeneğini tercih edin.
Hala GitHub profilinizi bağlamanız ve depoyu içe aktarmanız gerekiyorsa, önceki adımda oluşturduk. Ardından, seçin.
Back4app Containers, dağıtımı son derece özelleştirmenize olanak tanır. Dağıtım dalını, kök dizini ayarlayabilir, otomatik dağıtımı açıp kapatabilir ve çevresel değişkenleri ayarlayabilirsiniz.
Basit bir uygulama dağıttığımız için bu seçeneklerin hiçbirine ihtiyacımız yok. Yalnızca “Uygulama Adı “nı ayarlamanız ve ardından “Uygulama Oluştur” düğmesine tıklamanız yeterlidir.
Back4app Containers’ın GitHub’dan kaynak kodunu çekmesi, imajı oluşturması ve yeni bir konteyner oluşturması birkaç dakika sürecektir. Uygulamanız hazır olduğunda, durum “Hazır” olarak değişecektir.
Bu gerçekleştiğinde, uygulamanızı tarayıcıda açmak için ekranın sol tarafındaki yeşil bağlantıya tıklayabilirsiniz. Back4app Containers’ın uygulamanız için ücretsiz bir SSL sertifikası yayınladığını da fark edebilirsiniz.
İyi iş, işte bu!
Sonuç
Sonuç olarak, mikro hizmet mimarisi için en iyi bulut yerel modellerinden biri olan CaaS hakkında bilgi edindiniz. Artık temel özelliklerini, faydalarını, sınırlamalarını ve en iyi CaaS sağlayıcılarını biliyorsunuz. Bunun da ötesinde, basit bir docker uygulamasını Back4app Containers‘a nasıl dağıtacağınızı öğrendiniz.
Proje kaynak kodu back4app-containers-fastapi deposunda mevcuttur.
Diğer adımlar
- Docker dosyalarınızı iyileştirmek ve bakımını kolaylaştırmak için Çok aşamalı derlemeleri inceleyin.
- Docker Container işlemlerinizi root olmayan bir kullanıcı ile çalıştırmak iyi bir güvenlik uygulamasıdır.
- Diğer programlama dillerini ve çerçevelerini nasıl dağıtacağınızı öğrenmek için Back4app Containers dokümanlarına göz atın.
SSS
Containers as a Service nedir?
Containers as a Service (CaaS), geliştiricilerin konteynerları yüklemesine, oluşturmasına, ölçeklendirmesine ve yönetmesine olanak tanıyan bir bulut bilişim modelidir. Konteynerlar, her yerde kolayca dağıtılabilen küçük çalıştırılabilir uygulama paketleridir. CaaS kullanarak, geliştirici ve BT operasyon ekipleri altyapı ile ilgilenmek zorunda kalmaz. Bunun yerine, çok daha üst düzeyde düşünebilirler.
Containers as a Service’in avantajları nelerdir?
– Daha hızlı geliştirme ve dağıtım
– Kaynak verimliliği
– Taşınabilirlik
– Ölçeklenebilirlik
– Basitleştirilmiş operasyon
Containers as a Service’in dezavantajları nelerdir?
– Güvenlik sorunları
– Kontrol eksikliği
– Öğrenme eğrisi
– Veri kalıcılığı
En iyi Containers as a Service sağlayıcıları nelerdir?
– Back4app Containers
– Amazon Elastic Container Service (ECS)
– Google Cloud Kubernetes (GKE)
Konteyner kullanarak bir uygulama nasıl dağıtılır?
1. Uygulamayı kodlayın.
2. Uygulamayı docker ile paketleyin ve yerel makinenizde test edin.
3. Kaynak kodu GitHub‘a gönderin.
4. Uygulamayı Back4app Containers‘a dağıtın.