AWS, Salı günü re:Invent konferansında bir dizi güncelleme duyurdu. Q GeliştiriciGitHub Copilot gibi platformlarla rekabet eden kodlama asistanı platformu. Buradaki odak noktası, kod tamamlamanın ötesine geçmek ve geliştiricilere, uçtan uca yazılım yaşam döngüsünde yer alan daha geniş yelpazedeki rutin görevlerde yardımcı olmaktır.
Önceki adı olan “CodeWhisperer” ile hatırlayabileceğiniz hizmet, AWS’nin Q Business’ı da içeren (ve bugün de çok sayıda güncelleme alan) genel Amazon Q üretken yapay zeka platformunun bir parçasıdır.
AWS’nin Yapay Zeka ve Veriden Sorumlu Başkan Yardımcısı Swaminathan ‘Swami’ Sivasubramanian bana şunları söyledi: “Geliştiricilerin ihtiyaç duyduğu şey, yenilik yapma konusunda daha fazla özgürlüğe sahip olabilmeleri için, Q’nun farklılaşmamış bazı ağır yükleri çözecek arkadaş olmasını istemeleri.” . “İşte bu yüzden işleri daha hızlı ve daha düzenli yapmalarına yardımcı olacak bir asistana veya arkadaşa sahip olmak çok önemli ve biz de bu yüzden buna büyük ölçüde odaklandık.”
Uçtan uca yazılım yaşam döngüsünü yönetmek
Sivasubramanian bana, Q Developer’ı rakip platformlardan ayıran şeyin, yazılım geliştirme yaşam döngüsünün tamamına odaklandığına inandığını söyledi. Şimdiye kadar bu, geliştiricilerin sorunları gidermelerine ve bunları düzeltmek (veya tamamen yeni uygulamalar oluşturmak) için çok adımlı görevleri gerçekleştirmelerine ve ayrıca kodu güvenlik açıklarına karşı taramalarına yardımcı olmak anlamına geliyordu.
re:Invent’te şirket bunu bir adım daha ileri taşıyor. Q artık örneğin otomatik olarak birim testleri oluşturabiliyor. Ancak belki daha da önemli olan şey, artık birçok geliştiricinin en çok nefret ettiği şeyi yapabiliyor olmasıdır: o kodun belgelerini yazmak ve sürdürmek. Bu döngüyü tamamlamak için Q artık geliştiriciler kodlarını teslim ettiğinde ilk kod incelemesini oluşturabilir.
Sivasubramanian, “Amazon’da, kod incelemesi yapılmadan hiçbir kodun teslim edilmemesi yönünde bir kuralımız var” dedi. “Yani eğer bir kod incelemesi yapmazsanız, kodu teslim edemezsiniz. Ancak pek çok işletmede inceleme yapacak yeterli sayıda kıdemli mühendis bulunmuyor veya kıdemli mühendis şöyle diyor: ‘Bu kadar çok incelemeyle başa çıkamıyorum. Bunu yapmadan önce birileri bunu inceleyebilir mi?’ Q, ilk inceleme hattı olarak kod inceleme sürecini kolaylaştıracak ve kod kalitesini, güvenlik açıklarını vb. otomatik olarak kontrol edecek.”
Ardından, kod üretime girdikten sonra Q için yeni bir operasyon temsilcisi artık şirketin izleme hizmeti olan AWS CloudWatch’tan verileri otomatik olarak alabiliyor ve bir alarm çaldığında hemen araştırmaya başlayabiliyor. “Şunu kullanır: [knowledge it has about an] kuruluşun AWS kaynaklarını kullanır ve ardından CloudWatch’ta bulunan çeşitli kaynaklardaki yüzlerce veri noktasını inceler. Ardından, analiz ettikten sonra Q, temel nedene yönelik potansiyel bir hipotez ortaya koyuyor ve ardından kullanıcılara bunu nasıl düzeltebilecekleri konusunda rehberlik ediyor,” diye açıkladı Sivasubramanian.
Noel’de tek istediğiniz Cobol ve .NET geçişlerinizde yardım almaktı, değil mi?
Daha eski kod tabanlarına sahip kuruluşlar için buluta geçiş genellikle mevcut kodların çoğunun yeniden yazılmasını gerektirir. Amazon Q Developer’ın en eski ayırt edici özelliklerinden biri, kod dönüştürme aracısıydı. O zamanlar bu ajanın odak noktası şuydu: eski Java uygulamalarını modernleştirme. Bugün ekip, geliştiricilerin eski .NET tabanlı uygulamalarını Windows’tan Linux’a güncellemesine yardımcı olarak bunu genişletiyor.
Bu ilk bakışta merak konusu gibi görünse de AWS aynı zamanda COBOL ana bilgisayar uygulamalarını modernize etmeye yönelik bir aracıyı da piyasaya sürüyor. Sonuçta pek çok büyük kuruluş hâlâ bu eski koda güveniyor ve bugün çok az geliştirici bununla çalışmayı biliyor. Bunların çok karmaşık göçler olduğunu vurguladı Sivasubramanian, dolayısıyla buradaki amaç sadece mevcut kodu 1:1’e çevirmek değil.
“Amacımız aslında COBOL projesini tam anlamıyla kodlamak değil,” dedi. “Gerçek şu ki, bu projeler doğası gereği son derece karmaşık. Bundan yararlanmak için döngüde bir insanın olması gerekiyor, ancak müşterilerin şöyle dediğini duydum: ‘Hey, bu birkaç yıl sürüyor ve müşteriler bize bunun oyunun kurallarını değiştireceğini ve zaman çizelgesini önemli ölçüde düşüreceğini açıkça söylediler.”
Sivasubramanian, kod geçişini otomatikleştirecek modelleri eğitmek için daha az COBOL kodu olmasına rağmen ekibin, AWS’nin ana bilgisayar uygulamalarını modernleştirme konusundaki genel deneyiminin yanı sıra kod çevirisi için daha geleneksel yöntemlerden yararlanabildiğini belirtti.
“Kodu bir dilden diğerine almak tartışmasız işin kolay kısmı” dedi. “Fakat işin daha zor kısmı şu: Doğru yaptığınızı nasıl anlarsınız? Peki kodun ne yaptığını nereden biliyorsun? Ve sonra bunlardaki zorluk [codebases] genellikle yetersiz bir şekilde belgelenmiş olmaları ve bağımlılıkların iyi anlaşılmamasıdır. Yani bizim inşa ettiğimiz şey gerçekten son derece yenilikçi ve [the system] ayrıca proje düzeyinde her bir modülün hedeflerinin neler olduğunu anlar ve ardından kodu gerçekten oluşturmak ve ardından testi oluşturmak için bir geçiş planlama zaman çizelgesi planlayıp oluşturur ve insanları da döngüye dahil ederek nasıl işlem yaptığınızı görür. doğrulayın.”