Google Cloud NEXT ‘26 Challenge Submission
Bu makale Google Cloud NEXT Yazım Yarışması‘na bir gönderidir.
Doğruyu söylemek gerekirse, bu yıl anahtar teslimlerini neredeyse atlayacaktım.
Kendi e-ticaret platformunuzu inşa ederken, büyük ölçekli duyuruları izlemek, davet edilmediğiniz bir toplantıya katılmak gibidir. Çoğu, 2 milyon dolarlık bulut bütçesi olan CTO’lara hitap ediyor; benim gibi hala Laravel’de servis sınıflarını nasıl yapılandıracağınızı öğrenmeye çalışan geliştiricilere değil.
Ama yine de izledim. Ve bir şey oturdu.
Fark hızlı kapanıyor.
Fark hızlı kapanıyor.
Geliştirici dünyasında “ölçeklenebilir altyapı”nın yalnızca fon sağlamış girişimler veya büyük teknoloji ekipleri için olduğu varsayımı var. Tek geliştiriciler ve küçük ekipler, paylaşımlı hosting, cPanel ile başa çıkıyor ve trafik zirvelerinde şanslarına dua ediyorlar.
NEXT ’26 bu varsayımı sessizce ortadan kaldırdı.
Ben de Laravel’de tam bir e-ticaret sistemi olan Commerzayı inşa ediyorum ve aşağıdaki iki duyuru sizin için farklı bir anlam taşıyor; sadece eğitici içerikler takip etmediğinizde.
1. Cloud Run, altı ay önce sahip olmayı istediğim şey
1. Cloud Run, altı ay önce sahip olmayı istediğim şey
Sunucu yönetimi, odaklanmanıza yapılan bir vergi. Nginx konfigürasyonlarını düzeltmek için VPS’e SSH ile her geçirdiğim saat, özellik yazmak için geçirdiğim saat oluyor.
Google bu yıl Cloud Run için büyük bir yatırım yaptı ve bunun iyi bir sebebi var. Kapsüllenmiş uygulamanızı çalıştıran ve otomatik ölçeklendirmeyi gerçekleştiren, tamamen yönetilen bir platformdur; kimse kullanmadığında sıfıra kadar ölçeklenebilir. Sadece gerçek çalışma süresi için ödeme yaparsınız.
Laravel için bu büyük. Artık sunucuları izlemek yok. Bir Dockerfile yazıyor, GitHub’a yüklüyorsunuz, Cloud Run’a bağlıyorsunuz ve otomatik ölçeklendirme entegre şekilde yayına geçiyorsunuz.
İşte temiz bir başlangıç noktası:
# Dockerfile — Laravel on Cloud Run (Alpine keeps it lean)
FROM php:8.2-fpm-alpine
RUN apk add --no-cache nginx wget \
&& docker-php-ext-install pdo pdo_mysql
WORKDIR /var/www/html
COPY . .
# Cloud Run expects port 8080 — don't forget this
EXPOSE 8080
CMD ["sh", "-c", "nginx && php-fpm"]
Not: Bu minimal bir temeldir. Üretimde storage/ izinlerini yönetmek, composer install --no-dev çalıştırmak ve düzgün bir Nginx yapılandırması sağlamak isteyeceksiniz. Ama bu, hareket etmenizi sağlıyor.
Docker yeni bir konuysa — bu kılavuz gerçekten iyi. Bir hafta sonu deneyin. FTP’den kapsayıcılara geçiş zihniyetindeki değişim her saate değiyor.
2. AI özellikleri oluşturmak için Python’a ihtiyacınız yok
2. AI özellikleri oluşturmak için Python’a ihtiyacınız yok
Bu durumu arka planda PHP geliştiricileri için daha yüksek sesle söylemem gerekiyor.
Vertex AI ve Gemini 1.5 Pro güncellemeleri NEXT ’26’da her yerdeydi ve çoğu bu durumu bir Python hikayesi olarak çerçeveliyor. Ama bu bir API hikayesi.
Eğer arka ucunuz bir HTTP isteği yapabiliyorsa, arka ucunuz Gemini’yi kullanabilir. Bu kadar basit.
Laravel kontrolcüleri içinde AI tarafından üretilmiş ürün tanımlarını doğrudan çekmek için deneyler yapıyorum — Python’a gerek yok, makine öğrenimi bilgisine ihtiyaç yok. Kullandığım desen şöyle:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class GeminiController extends Controller
{
public function generate(Request $request)
{
$projectId = env('GOOGLE_CLOUD_PROJECT');
$token = env('GOOGLE_CLOUD_TOKEN'); // Üretimde bir hizmet hesabı kullanın
$endpoint = "https://us-central1-aiplatform.googleapis.com/v1/projects/"
. "{$projectId}/locations/us-central1/publishers/google/models/"
. "gemini-1.5-pro-preview-0409:generateContent";
$response = Http::withToken($token)->post($endpoint, [
'contents' => [
[
'role' => 'user',
'parts' => [['text' => $request->input('prompt')]],
]
]
]);
if ($response->failed()) {
return response()->json(['error' => 'Gemini isteği başarısız oldu'], 500);
}
return $response->json();
}
}
Anahtarlar .env dosyasında kalır, hiçbir şey istemci tarafında açığa çıkmaz ve tüm süreç mevcut Laravel uygulamanıza dokunmadan entegre olur.
Gerçek üretim kullanımı için, bearer token yerine hizmet hesabı kullanmanızı öneririm — daha istikrarlıdır ve Cloud Run’da kimlik doğrulamanın doğru yolu budur.
Bu benim duruma ne anlama geliyor
Bu benim duruma ne anlama geliyor
Sıklıkla dile getirilen bir alıntı vardır:
“Erken optimizasyon, tüm kötülüklerin kaynağıdır.” — Donald Knuth
Doğru. Ama erken optimizasyon ile daha iyi araçlar hakkında bilinçli cehalet arasındaki fark var.
Cloud Run öğrenmek ve birkaç Gemini API çağrısı yapmak artık erken değil. Bu artık yeni seviyedir. Şimdi bunu çözen geliştiriciler — ilk gerçek projelerini inşa ederken — ileride on yıl boyunca kötü alışkanlıkları unutmaktan kurtulacaklar.
NEXT ’26 çıktığında kişisel hedefim:
- Commerza’yı düzgün şekilde kapsayıcı hale getirmek için önceden hazırlık yapmak
- En az bir manuel yönetim görevini Gemini API çağrısı ile değiştirmek
- “Bulut”u DevOps ekiplerine ait bir şey olarak görmeyi bırakmak
Eğer hala paylaşımlı hostingde olan bir PHP geliştiricisiyseniz — yargılamıyorum, ben de orada bulundum — ama şimdi nelerin mümkün olduğunu öğrenmeye değer. Araçlar gerçekten bizimle eşleşti.
Commerza’yı inşa ediyor ve bu süreçte öğrendiklerimi yazıyorum. Eğer benzer bir şey üzerinde çalışıyorsanız, gerçekten bilmek isterim — bir yorum bırakın ya da benimle iletişime geçin.
Yazar ile İletişime Geçin
Yazar ile İletişime Geçin
Kaynak: Orijinal Makale


