İçeriğe geç

AWS Amplify Nedir?

Anasayfa›

AWS Amplify Nedir?

AWS Amplify, modern web ve mobil uygulamaların AWS üzerinde geliştirilmesini, dağıtılmasını ve ölçeklendirilmesini kolaylaştıran tam yığın bir geliştirme platformudur. Frontend geliştiriciler; kimlik doğrulama, veri yönetimi, dosya depolama, API, sunucusuz fonksiyonlar ve hosting gibi ihtiyaçları Amplify üzerinden tek bir geliştirme deneyimi içinde yönetebilir.

Güncel AWS Amplify Gen 2, uygulamanın backend kaynaklarının TypeScript kullanılarak code-first yaklaşımla tanımlanmasını sağlar. Böylece geliştiriciler, karmaşık bulut altyapısı adımlarının önemli bir bölümünü sadeleştirerek uygulama geliştirmeye odaklanabilir.

Kısaca: AWS Amplify; frontend uygulamalarını AWS servisleriyle buluşturan, tam yığın uygulama geliştirme ve barındırma süreçlerini hızlandıran yönetilen bir platformdur.

AWS Amplify Ne İşe Yarar?

AWS Amplify, bir web veya mobil uygulamanın yalnızca arayüzünü yayınlamak için değil; uygulamanın ihtiyaç duyduğu backend özelliklerini oluşturmak ve AWS üzerinde yönetmek için de kullanılabilir.

AWS Amplify ile temel olarak şu işlemler gerçekleştirilebilir:

  • Web ve mobil uygulamalar AWS üzerinde yayınlanabilir.
  • Kullanıcı kayıt, giriş ve yetkilendirme süreçleri oluşturulabilir.
  • Uygulama verileri için gerçek zamanlı API ve veri modelleri hazırlanabilir.
  • Dosya yükleme ve depolama özellikleri eklenebilir.
  • Sunucusuz fonksiyonlar ve özel iş mantıkları geliştirilebilir.
  • Git tabanlı CI/CD süreçleri kurulabilir.
  • Test, ön izleme ve üretim ortamları yönetilebilir.
  • Uygulama, kullanıcı ve trafik artışına göre ölçeklendirilebilir.

Amplify özellikle React, Next.js, Vue, Nuxt, Angular, React Native ve Flutter gibi teknolojilerle uygulama geliştiren ekipler için AWS servislerine erişimi kolaylaştırır.

AWS Amplify Gen 2 Nedir?

AWS Amplify Gen 2, Amplify’ın TypeScript tabanlı ve code-first geliştirme yaklaşımı sunan güncel neslidir. Gen 2 ile veri modelleri, kimlik doğrulama kuralları, fonksiyonlar ve depolama gibi backend ihtiyaçları TypeScript dosyaları üzerinden tanımlanabilir.

Geliştirici, AWS Management Console üzerinde her kaynağı ayrı ayrı yapılandırmak yerine uygulamanın ihtiyaçlarını kodla ifade eder. Amplify, gerekli AWS kaynaklarının hazırlanmasına ve geliştirme ortamına dağıtılmasına yardımcı olur.

Amplify Gen 2’nin öne çıkan özellikleri şunlardır:

  • TypeScript tabanlı backend: Veri, kimlik doğrulama ve iş mantığı kod üzerinden tanımlanabilir.
  • Code-first yaklaşım: Altyapı gereksinimleri uygulama koduyla birlikte yönetilebilir.
  • Geliştirici başına sandbox: Ekip üyeleri birbirinden bağımsız bulut geliştirme ortamlarında çalışabilir.
  • Tam yığın dallanma: Git dallarına bağlı frontend ve backend ortamları oluşturulabilir.
  • CDK ile genişletilebilirlik: Amplify’ın hazır özelliklerinin dışındaki AWS servisleri projeye eklenebilir.
  • Otomatik oluşturulan istemci kodları: Frontend ile backend arasındaki veri erişimi kolaylaştırılabilir.

AWS Amplify Gen 1 ve Gen 2 Arasındaki Farklar

İnternetteki birçok AWS Amplify rehberi, amplify init, amplify add auth ve amplify push gibi Gen 1 komutlarını temel alır. Bu komutlar eski veya mevcut Gen 1 projelerinde kullanılabilir. Yeni oluşturulacak projelerde ise Gen 2’nin güncel yaklaşımı değerlendirilmelidir.

Özellik AWS Amplify Gen 1 AWS Amplify Gen 2
Geliştirme yaklaşımı CLI ve kategori tabanlı iş akışı TypeScript tabanlı code-first yaklaşım
Backend tanımlama CLI komutları ve yapılandırma dosyaları TypeScript kodu
Yerel geliştirme Paylaşılan veya manuel yönetilen ortamlar Geliştirici başına bulut sandbox ortamı
Altyapıyı genişletme CLI ve özel kaynaklar AWS CDK entegrasyonu
Yeni projeler için kullanım Mevcut Gen 1 projeleri için kullanılabilir Yeni nesil geliştirme deneyimi sunar

Gen 1 kullanılarak hazırlanmış bir projenin doğrudan bozuk veya kullanılamaz olduğu düşünülmemelidir. Ancak yeni bir proje başlatırken, ekip yetkinlikleri ve uygulamanın teknik gereksinimleri doğrultusunda Amplify Gen 2 değerlendirilmelidir.

AWS Amplify’ın Temel Özellikleri Nelerdir?

1. Kimlik Doğrulama ve Yetkilendirme

AWS Amplify, kullanıcı kayıt ve giriş işlemlerinin uygulamaya eklenmesini kolaylaştırır. Bu özelliklerin arka planında çoğunlukla Amazon Cognito kullanılır.

Amplify ile aşağıdaki kimlik doğrulama özellikleri oluşturulabilir:

  • Kullanıcı kaydı ve oturum açma
  • Şifre sıfırlama
  • Çok faktörlü kimlik doğrulama
  • Kullanıcı grupları ve erişim kuralları
  • Sosyal veya kurumsal kimlik sağlayıcılarla giriş
  • Veri ve dosyalara kullanıcı bazlı erişim

2. Veri ve Gerçek Zamanlı API Yönetimi

Amplify, güvenli ve ölçeklenebilir veri modelleri ile gerçek zamanlı API’lerin oluşturulmasını kolaylaştırır. Geliştiriciler veri modelini tanımladıktan sonra uygulamanın veri oluşturma, okuma, güncelleme ve silme işlemleri için gerekli altyapı hazırlanabilir.

Yetkilendirme kuralları kullanılarak bir veriye yalnızca veri sahibi kullanıcının, belirli bir grubun veya herkese açık kullanıcıların erişmesi sağlanabilir. Gerçek zamanlı güncellemeler; sohbet uygulamaları, canlı panolar, rezervasyon sistemleri ve ortak çalışma araçları gibi projelerde kullanılabilir.

3. Dosya Depolama

Amplify Storage, uygulamalardaki görsel, video, belge ve kullanıcı tarafından oluşturulan diğer dosyaların Amazon S3 üzerinde saklanmasına yardımcı olur. Dosyalara erişim; kullanıcı, grup veya uygulama düzeyinde sınırlandırılabilir.

Bu özellik aşağıdaki senaryolarda kullanılabilir:

  • Profil fotoğrafı yükleme
  • Belge yönetim sistemi
  • E-ticaret ürün görselleri
  • Video ve medya uygulamaları
  • Kullanıcıya özel dosya alanları

4. Sunucusuz Fonksiyonlar

Uygulamaya özel iş mantıkları, sunucusuz fonksiyonlar aracılığıyla çalıştırılabilir. Form gönderimi sonrasında işlem yapmak, üçüncü taraf bir API ile bağlantı kurmak, zamanlanmış görev çalıştırmak veya veri üzerinde özel doğrulama yapmak bu kullanım alanlarına örnektir.

Bu yapı çoğunlukla AWS Lambda ve ilgili AWS servisleriyle birlikte çalışır. Lambda hakkında daha ayrıntılı bilgi için AWS Lambda nedir? rehberini inceleyebilirsiniz.

5. AWS Amplify Hosting

AWS Amplify Hosting, modern web uygulamaları için Git tabanlı ve yönetilen bir barındırma hizmetidir. Statik siteler, tek sayfalı uygulamalar ve sunucu tarafında oluşturulan web uygulamaları Amplify Hosting ile dağıtılabilir.

Amplify Hosting’in sunduğu başlıca olanaklar şunlardır:

  • Git deposundan otomatik dağıtım
  • CI/CD iş akışı
  • Özel alan adı ve SSL desteği
  • CloudFront üzerinden küresel içerik dağıtımı
  • Pull request ön izlemeleri
  • Geliştirme ve üretim dalları için ayrı ortamlar
  • Sunucu tarafında oluşturma ve statik site desteği
  • Dağıtım sırasında kesintiyi azaltan atomik yayınlama

6. CI/CD ve Ekip Çalışması

Amplify, GitHub, GitLab, Bitbucket ve desteklenen diğer kaynak kodu yönetim sistemleriyle bağlantı kurarak uygulamanın otomatik biçimde derlenmesini ve yayınlanmasını sağlayabilir.

Kaynak kodda yapılan bir değişiklik ilgili dala gönderildiğinde Amplify belirlenen derleme sürecini çalıştırabilir. Böylece test, ön izleme ve üretim dağıtımları daha tekrarlanabilir hale gelir.

AWS Amplify Hangi Teknolojilerle Kullanılır?

AWS Amplify farklı web ve mobil geliştirme teknolojileriyle kullanılabilir. Destek ve özellik kapsamı kullanılan teknolojiye göre değişebilmekle birlikte yaygın örnekler şunlardır:

  • React
  • Next.js
  • Vue.js
  • Nuxt
  • Angular
  • JavaScript ve TypeScript
  • React Native
  • Flutter
  • Swift
  • Android, Kotlin ve Java

Özellikle JavaScript veya TypeScript tabanlı frontend geliştiren ekipler, Amplify Gen 2’nin code-first yaklaşımından faydalanabilir.

AWS Amplify Nasıl Kullanılır?

AWS Amplify ile yeni bir uygulama geliştirme süreci genel olarak aşağıdaki adımlardan oluşur:

  1. AWS hesabı ve gerekli erişim izinleri hazırlanır.
  2. React, Next.js veya desteklenen başka bir teknolojiyle frontend projesi oluşturulur.
  3. Amplify Gen 2 proje dosyaları uygulamaya eklenir.
  4. Kimlik doğrulama, veri, depolama ve fonksiyon gereksinimleri TypeScript ile tanımlanır.
  5. Geliştirme için bir bulut sandbox ortamı oluşturulur.
  6. Frontend uygulaması oluşturulan backend kaynaklarına bağlanır.
  7. Proje bir Git deposuna gönderilir.
  8. Amplify Hosting üzerinden test veya üretim ortamına dağıtılır.

Amplify Gen 2 Projesi Oluşturma

Mevcut bir frontend projesine güncel Amplify backend yapısını eklemek için Amplify’ın proje oluşturma aracı kullanılabilir:

npm create amplify@latest

Geliştirme aşamasında kişisel bir bulut sandbox ortamı oluşturmak için aşağıdaki komut kullanılabilir:

npx ampx sandbox

Komutlar ve proje yapısı Amplify sürümüne göre değişebileceği için kurulum sırasında AWS’nin güncel resmî dokümantasyonu esas alınmalıdır.

Frontend Uygulamasında Amplify Yapılandırması

Güncel JavaScript paketlerinde Amplify yapılandırması genel olarak named import yaklaşımıyla yapılır:

import { Amplify } from "aws-amplify";
import outputs from "../amplify_outputs.json";

Amplify.configure(outputs);

Dosya yolları ve yapılandırma biçimi kullanılan framework’e ve proje yapısına göre değişebilir.

AWS Amplify Hangi Durumlarda Kullanılmalıdır?

AWS Amplify aşağıdaki ihtiyaçlara sahip projeler için uygun olabilir:

  • AWS üzerinde hızlı biçimde MVP veya prototip geliştirmek
  • Frontend ekibinin backend ve altyapı süreçlerini sadeleştirmek
  • Kullanıcı girişine sahip web veya mobil uygulama oluşturmak
  • Gerçek zamanlı veri kullanan uygulamalar geliştirmek
  • Dosya yükleme ve kullanıcı bazlı erişim özellikleri eklemek
  • Git tabanlı otomatik dağıtım süreci kurmak
  • Sunucusuz ve ölçeklenebilir bir mimari oluşturmak
  • Frontend ve backend ortamlarını aynı geliştirme akışında yönetmek

Amplify; startup projeleri, kurumsal prototipler, müşteri portalları, rezervasyon sistemleri, içerik platformları, e-ticaret uygulamaları ve gerçek zamanlı panolar gibi farklı kullanım senaryolarına uyarlanabilir.

AWS Amplify’ın Avantajları Nelerdir?

  • Hızlı geliştirme: Hazır kimlik doğrulama, veri ve depolama özellikleri geliştirme süresini azaltabilir.
  • AWS entegrasyonu: Cognito, S3, Lambda, AppSync, DynamoDB ve CloudFront gibi AWS hizmetleriyle birlikte çalışabilir.
  • Frontend odaklı deneyim: Frontend geliştiricilerin bulut servislerine erişmesini kolaylaştırır.
  • Code-first backend: Gen 2 ile backend gereksinimleri TypeScript üzerinden tanımlanabilir.
  • Ölçeklenebilirlik: Uygulama kaynakları AWS altyapısı üzerinde ölçeklendirilebilir.
  • Yönetilen hosting: Derleme, dağıtım, CDN ve SSL gibi süreçler tek platformdan yönetilebilir.
  • Ekip çalışması: Sandbox, dal tabanlı ortam ve ön izleme özellikleri ekiplerin paralel çalışmasını destekler.
  • Genişletilebilirlik: AWS CDK aracılığıyla ihtiyaç duyulan diğer AWS servisleri projeye eklenebilir.

AWS Amplify’ın Dezavantajları Nelerdir?

  • AWS bağımlılığı: Uygulama mimarisi zamanla AWS servislerine güçlü biçimde bağlanabilir.
  • Maliyet takibi: Amplify ile birlikte çalışan Cognito, S3, Lambda, AppSync ve diğer servislerin maliyetleri ayrı ayrı izlenmelidir.
  • Öğrenme süreci: Başlangıç kolay olsa da IAM, güvenlik, veri modelleme ve AWS mimarisi hakkında bilgi gerekir.
  • Hata ayıklama: Birden fazla yönetilen servisin birlikte kullanılması, karmaşık projelerde sorun giderme sürecini zorlaştırabilir.
  • Geçiş maliyeti: Başka bir bulut sağlayıcısına veya farklı bir backend mimarisine geçiş ek çalışma gerektirebilir.
  • Sürüm farklılıkları: Gen 1 ve Gen 2 dokümantasyonunun karıştırılması yanlış veya güncelliğini kaybetmiş uygulamalara yol açabilir.

AWS Amplify ve Firebase Arasındaki Farklar

AWS Amplify ve Google Firebase, modern web ve mobil uygulamaların geliştirilmesini hızlandıran platformlardır. Ancak kullandıkları bulut ekosistemi ve geliştirme yaklaşımları farklıdır.

Özellik AWS Amplify Firebase
Bulut sağlayıcısı Amazon Web Services Google Cloud
Kimlik doğrulama Amazon Cognito tabanlı özellikler Firebase Authentication
Veri yaklaşımı AWS servisleriyle entegre veri ve API altyapısı Firestore ve Realtime Database ağırlıklı yapı
Dosya depolama Amazon S3 Cloud Storage for Firebase
Sunucusuz fonksiyonlar AWS Lambda Cloud Functions
Hosting Amplify Hosting ve CloudFront Firebase Hosting
Genişletilebilirlik AWS servisleri ve CDK ile geniş kapsam Google Cloud servisleriyle entegrasyon
Öne çıkan kullanım AWS ekosisteminde geliştirilen tam yığın uygulamalar Hızlı mobil ve web uygulaması geliştirme

AWS altyapısını kullanan, daha geniş servis seçeneklerine ihtiyaç duyan veya kurumsal AWS mimarisiyle entegrasyon kuracak ekipler için Amplify daha uygun olabilir. Firebase ise Google Cloud ekosistemini kullanan ve hızlı başlangıca önem veren projelerde değerlendirilebilir. Doğru seçim; ekip yetkinlikleri, mevcut bulut altyapısı, veri modeli, güvenlik gereksinimleri ve toplam maliyet üzerinden yapılmalıdır.

AWS Amplify, Elastic Beanstalk ve AWS Lambda Arasındaki Fark

AWS Amplify, Elastic Beanstalk ve Lambda aynı amaçla kullanılan hizmetler değildir:

  • AWS Amplify: Frontend ve tam yığın web veya mobil uygulama geliştirme deneyimine odaklanır.
  • AWS Elastic Beanstalk: Web uygulamalarının desteklenen sunucu ortamlarında dağıtılmasını ve yönetilmesini kolaylaştıran bir PaaS hizmetidir.
  • AWS Lambda: Sunucu yönetmeden olay tabanlı kod çalıştırmak için kullanılan sunucusuz işlem hizmetidir.

Amplify tarafından oluşturulan bir uygulama, özel iş mantıkları için Lambda’dan yararlanabilir. Yani bu hizmetler bazı projelerde birbirinin alternatifi olmaktan ziyade birlikte kullanılabilir.

AWS Amplify Fiyatlandırması Nasıl Çalışır?

AWS Amplify’ın maliyeti kullanılan özelliklere ve kaynak miktarına göre değişir. Amplify Hosting tarafında derleme süresi, veri depolama ve veri transferi gibi kalemler oluşabilir. Backend tarafında ise uygulamanın kullandığı AWS servisleri ayrıca ücretlendirilebilir.

Maliyeti etkileyebilecek başlıca unsurlar şunlardır:

  • Hosting için derleme süresi
  • Depolanan dosya ve uygulama verisi
  • CDN üzerinden sunulan veri miktarı
  • Aktif kullanıcı ve kimlik doğrulama sayısı
  • API istekleri ve veri tabanı kullanımı
  • Lambda fonksiyonlarının çağrı ve çalışma süresi
  • Loglama, izleme ve diğer AWS hizmetleri

AWS Free Tier ve varsa hesaba tanımlı krediler başlangıç maliyetlerini azaltabilir. Ancak üretim ortamına geçmeden önce AWS Budgets, maliyet uyarıları ve kaynak etiketleri yapılandırılmalıdır. Güncel ücretler için her zaman AWS’nin resmî fiyatlandırma sayfası kontrol edilmelidir.

AWS Amplify Kullanırken Nelere Dikkat Edilmelidir?

  • Gen 1 ve Gen 2 dokümantasyonu birbirine karıştırılmamalıdır.
  • IAM kullanıcılarına gereğinden fazla yetki verilmemelidir.
  • Kimlik doğrulama ve veri erişim kuralları üretim öncesinde test edilmelidir.
  • Gizli anahtarlar kaynak kod deposuna eklenmemelidir.
  • Geliştirme, test ve üretim ortamları birbirinden ayrılmalıdır.
  • CloudWatch logları ve maliyet uyarıları takip edilmelidir.
  • API ve depolama kaynakları herkese açık bırakılmamalıdır.
  • Framework ve Amplify sürüm uyumluluğu kontrol edilmelidir.
  • Yedekleme, veri saklama ve felaket kurtarma gereksinimleri ayrıca planlanmalıdır.

AWS Amplify Öğrenmek İçin Hangi Konular Bilinmelidir?

AWS Amplify kullanmaya başlamadan önce JavaScript veya TypeScript, temel frontend geliştirme, Git ve API kavramları hakkında bilgi sahibi olmak yararlıdır. Bunun yanında aşağıdaki AWS konularının öğrenilmesi önerilir:

  • AWS Management Console
  • IAM ve erişim yönetimi
  • Amazon S3
  • AWS Lambda
  • Amazon Cognito
  • Amazon DynamoDB
  • AWS AppSync
  • Amazon CloudFront
  • CloudWatch ve maliyet takibi

AWS ekosistemine yeni başlıyorsanız AWS Teknik Temelleri Eğitimi ile temel servisleri, güvenlik yaklaşımını ve AWS terminolojisini öğrenebilirsiniz. Daha ileri programları görmek için AWS eğitimleri sayfasını inceleyebilirsiniz.

Bulut bilişim teknolojilerini AWS, Azure ve Google Cloud perspektifinden değerlendirmek isteyen kurumlar ise Cloud Computing eğitimleri arasından ihtiyaçlarına uygun programları seçebilir.

Sık Sorulan Sorular

AWS Amplify bir programlama dili midir?

Hayır. AWS Amplify bir programlama dili değil, web ve mobil uygulamaların AWS üzerinde geliştirilmesini ve dağıtılmasını kolaylaştıran araçlar ve yönetilen hizmetlerden oluşan bir platformdur. Amplify Gen 2, backend tanımları için TypeScript tabanlı bir geliştirme deneyimi sunar.

AWS Amplify ücretsiz mi?

AWS Amplify’ın bazı özellikleri ve bağlı AWS servisleri belirli ücretsiz kullanım limitlerine sahip olabilir. Ancak hosting, veri transferi, depolama, API istekleri ve kullanılan diğer AWS kaynakları tüketim miktarına göre ücret oluşturabilir.

AWS Amplify backend midir?

AWS Amplify yalnızca bir backend hizmeti değildir. Frontend hosting, backend kaynakları, kimlik doğrulama, veri, depolama, sunucusuz fonksiyonlar ve dağıtım süreçlerini kapsayan tam yığın bir geliştirme platformudur.

AWS Amplify için AWS bilgisi gerekir mi?

Amplify başlangıç adımlarını kolaylaştırsa da güvenli ve sürdürülebilir bir üretim ortamı oluşturmak için IAM, Cognito, S3, Lambda, veri yönetimi, maliyet kontrolü ve temel AWS mimarisi hakkında bilgi gerekir.

AWS Amplify hangi uygulamalar için uygundur?

AWS Amplify; kullanıcı girişi bulunan web ve mobil uygulamalar, müşteri portalları, rezervasyon sistemleri, içerik platformları, gerçek zamanlı panolar, SaaS ürünleri ve hızlı geliştirilecek MVP projeleri için uygundur.

AWS Amplify ile WordPress sitesi kurulabilir mi?

AWS Amplify esas olarak modern frontend framework’leriyle geliştirilen web ve mobil uygulamalara yöneliktir. Klasik PHP ve MySQL tabanlı bir WordPress sitesini standart biçimde barındırmak için tasarlanmış bir WordPress hosting çözümü değildir.

Amplify Gen 1 hâlâ kullanılabilir mi?

Evet. Mevcut Amplify Gen 1 projeleri kullanılmaya devam edebilir. Ancak yeni proje başlatırken Amplify Gen 2’nin TypeScript tabanlı güncel geliştirme yaklaşımı, proje gereksinimleri ve ekip yetkinlikleri doğrultusunda değerlendirilmelidir.

AWS Amplify mı Firebase mi tercih edilmeli?

AWS servisleriyle derin entegrasyon, genişletilebilirlik ve kurumsal AWS altyapısı önemliyse AWS Amplify; Google Cloud ekosistemi ve Firebase servisleri mevcut projeye daha uygunsa Firebase tercih edilebilir. Seçim güvenlik, ölçeklenebilirlik, ekip bilgisi ve toplam maliyete göre yapılmalıdır.

AWS Amplify Eğitimi ve Kurumsal AWS Yetkinlikleri

AWS Amplify ile güvenli ve ölçeklenebilir uygulamalar geliştirmek yalnızca kurulum komutlarını bilmeyi değil; IAM, veri yönetimi, kimlik doğrulama, sunucusuz mimari, depolama, izleme ve maliyet kontrolü gibi AWS konularına hâkim olmayı gerektirir.

BlueMark Academy’nin kurumlara yönelik AWS eğitimleri, ekiplerin AWS servislerini iş gereksinimlerine uygun biçimde değerlendirmesine ve uygulamalı bulut yetkinlikleri geliştirmesine yardımcı olur.

AWS’ye yeni başlayan teknik ekipler, geliştiriciler, sistem yöneticileri ve çözüm mimarları için sunulan AWS Teknik Temelleri Eğitimi hakkında bilgi alabilir; kurumunuza özel eğitim planlaması için BlueMark Academy ile iletişime geçebilirsiniz.

Son güncelleme: Ağustos 2026. AWS Amplify özellikleri ve komutları zaman içinde değişebileceği için uygulama geliştirme sırasında güncel AWS dokümantasyonu kontrol edilmelidir.