Zephyrnet Logosu

Amazon CodeWhisperer ile sürdürülebilirliği optimize edin | Amazon Web Hizmetleri

Tarih:

Bu yazı nasıl olduğunu araştırıyor Amazon Kodu Fısıltı artan kaynak verimliliği yoluyla sürdürülebilirlik için kod optimizasyonuna yardımcı olabilir. Hesaplamalı olarak kaynak açısından verimli kodlama, bir kod satırını işlemek için gereken enerji miktarını azaltmayı ve bunun sonucunda şirketlerin genel olarak daha az enerji tüketmesine yardımcı olmayı amaçlayan bir tekniktir. Bulut bilişimin bu çağında, geliştiriciler artık operasyonel açıdan verimli, performanslı ve dayanıklı olması gereken büyük ölçekli mikro hizmetler oluşturmak için açık kaynak kitaplıklardan ve kendilerine sunulan gelişmiş işlem gücünden yararlanıyor. Ancak modern uygulamalar sıklıkla şunlardan oluşur: Önemli bilgi işlem kaynakları gerektiren kapsamlı kod. Doğrudan çevresel etki açık olmasa da, düşük düzeyde optimize edilmiş kod, artan enerji tüketimi, uzun süreli donanım kullanımı ve güncelliğini yitirmiş algoritmalar gibi faktörler yoluyla modern uygulamaların karbon ayak izini artırır. Bu yazıda Amazon CodeWhisperer'ın bu endişeleri gidermeye ve kodunuzun çevresel ayak izini azaltmaya nasıl yardımcı olduğunu keşfedeceğiz.

Amazon CodeWhisperer, mevcut kod ve doğal dil yorumlarına dayalı önerilerde bulunarak yazılım geliştirmeyi hızlandıran, genel geliştirme çabasını azaltan ve beyin fırtınası yapmak, karmaşık sorunları çözmek ve farklılaştırılmış kod yazmak için zaman kazandıran üretken bir yapay zeka kodlama yardımcısıdır. Amazon CodeWhisperer, geliştiricilerin iş akışlarını kolaylaştırmasına, kod kalitesini artırmasına, daha güçlü güvenlik duruşları oluşturmasına, sağlam test paketleri oluşturmasına ve çevresel sürdürülebilirliği optimize etmenize yardımcı olabilecek hesaplama açısından kaynak dostu kod yazmasına yardımcı olabilir. Bir parçası olarak mevcuttur Visual Studio Code için Araç Seti, AWS Bulut9, JüpyterLab, Amazon SageMaker Stüdyosu, AWS Lambda, AWS Tutkalve JetBrains IntelliJ IDEA. Amazon CodeWhisperer şu anda Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell komut dosyası oluşturma, SQL ve Scala'yı desteklemektedir.

Optimize edilmemiş kodun bulut bilişim ve uygulama karbon ayak izi üzerindeki etkisi

AWS'nin altyapısı, ankete katılan ABD kurumsal veri merkezleri ortalamasından 3.6 kat daha fazla enerji verimliliğine sahiptir ve ortalama Avrupa kurumsal veri merkezine göre 5 kata kadar daha fazla enerji verimliliğine sahiptir. Bu nedenle AWS, iş yükü karbon ayak izinin %96'ya kadar azaltılmasına yardımcı olabilir. Artık daha az kaynak kullanımı ve enerji tüketimiyle kaliteli kod yazmak için Amazon CodeWhisperer'ı kullanabilir ve AWS'nin enerji açısından verimli altyapısından yararlanırken ölçeklenebilirlik hedeflerini karşılayabilirsiniz.

Artan kaynak kullanımı

Optimize edilmemiş kod, bulut bilişim kaynaklarının verimsiz kullanılmasına neden olabilir. Sonuç olarak, daha fazla sanal makine (VM) veya kapsayıcı gerekli olabilir; bu da kaynak tahsisini, enerji kullanımını ve iş yükünün ilgili karbon ayak izini artırır. Aşağıdaki artışlarla karşılaşabilirsiniz:

  • CPU kullanımı – Optimize edilmemiş kod genellikle verimsiz algoritmalar veya çalıştırmak için aşırı CPU döngüleri gerektiren kodlama uygulamaları içerir.
  • Bellek tüketimi – Optimize edilmemiş kodda verimsiz bellek yönetimi, gereksiz bellek tahsisine, tahsisin kaldırılmasına veya veri çoğaltılmasına neden olabilir.
  • Disk G/Ç işlemleri – Verimsiz kod, aşırı giriş/çıkış (G/Ç) işlemlerini gerçekleştirebilir. Örneğin, verilerin gereğinden daha sık okunması veya diske yazılması disk G/Ç kullanımını ve gecikmeyi artırabilir.
  • Ağ kullanımı – Etkisiz veri iletim teknikleri veya yinelenen iletişim nedeniyle, kötü optimize edilmiş kod, aşırı miktarda ağ trafiğine neden olabilir. Bu, daha yüksek gecikme süresine ve artan ağ bant genişliği kullanımına yol açabilir. Bulut bilişim gibi ağ kaynaklarının kullanıma göre vergilendirildiği durumlarda ağ kullanımının artması, daha yüksek harcamalara ve kaynak gereksinimlerine yol açabilir.

Daha yüksek enerji tüketimi

Verimsiz koda sahip altyapıyı destekleyen uygulamalar daha fazla işlem gücü kullanır. Verimsiz, şişirilmiş kod nedeniyle bilgi işlem kaynaklarının aşırı kullanılması, daha yüksek enerji tüketimine ve ısı üretimine neden olabilir ve bu da soğutma için daha fazla enerji gerektirir. Sunucuların yanı sıra soğutma sistemleri, enerji dağıtım altyapısı ve diğer yardımcı unsurlar da enerji tüketmektedir.

Ölçeklenebilirlik zorlukları

Uygulama geliştirmede ölçeklenebilirlik sorunları, optimize edilmemiş koddan kaynaklanabilir. Bu tür kod, görev büyüdükçe etkili bir şekilde ölçeklenemeyebilir, daha fazla kaynak gerektirebilir ve daha fazla enerji tüketebilir. Bu, bu kod parçalarının tükettiği enerjiyi artırır. Daha önce de belirtildiği gibi, verimsiz veya israf eden kodun geniş ölçekte bileşik etkisi vardır.

Müşterilerin belirli veri merkezlerinde çalıştırdığı kod optimizasyonundan elde edilen bileşik enerji tasarrufu, AWS gibi bulut sağlayıcılarının dünya çapında düzinelerce veri merkezine sahip olduğu dikkate alındığında daha da artıyor.

Amazon CodeWhisperer, orijinal koda ve doğal dil yorumlarına dayalı olarak gerçek zamanlı kod önerileri sağlamak için makine öğrenimi (ML) ve büyük dil modellerini kullanır ve daha verimli olabilecek kod önerileri sağlar. Programın altyapı kullanım verimliliği, algoritmik ilerlemeler, etkili bellek yönetimi ve anlamsız G/Ç işlemlerinin azaltılması gibi stratejiler kullanılarak kodun optimize edilmesiyle artırılabilir.

Kod oluşturma, tamamlama ve öneriler

Amazon CodeWhisperer'ın faydalı olabileceği çeşitli durumları inceleyelim.

Kod oluşturma araçları, tekrarlanan veya karmaşık kodların geliştirilmesini otomatikleştirerek, platforma özgü optimizasyonlara odaklanırken insan hatası olasılığını en aza indirir. Bu programlar, yerleşik kalıpları veya şablonları kullanarak, sürdürülebilirlik için en iyi uygulamalara daha tutarlı biçimde uyan kodlar üretebilir. Geliştiriciler belirli kodlama standartlarına uygun kod üreterek proje boyunca daha tutarlı ve güvenilir kod sunulmasına yardımcı olabilirler. Ortaya çıkan kod daha verimli olabilir, çünkü insan kodlama varyasyonlarını ortadan kaldırır ve daha okunaklı olabilir, bu da geliştirme hızını artırır. Gereksiz kodun silinmesi, değişken depolamanın iyileştirilmesi veya sıkıştırma yöntemlerinin kullanılması gibi uygulama programının boyutunu ve uzunluğunu azaltmanın yollarını otomatik olarak uygulayabilir. Bu optimizasyonlar bellek tüketimi optimizasyonuna yardımcı olabilir ve paket boyutunu küçülterek genel sistem verimliliğini artırabilir.

üretken yapay zeka kaynak tahsisini optimize ederek programlamayı daha sürdürülebilir hale getirme potansiyeline sahiptir. Bir uygulamanın karbon ayak izine bütünsel olarak bakmak önemlidir. Gibi araçlar Amazon CodeGuru Profil Oluşturucu bileşenler arasındaki gecikmeyi optimize etmek için performans verilerini toplayabilir. Profil oluşturma hizmeti, kod çalıştırmalarını inceler ve potansiyel iyileştirmeleri belirler. Geliştiriciler daha sonra enerji verimliliğini daha da artırmak için bu bulgulara dayanarak otomatik olarak oluşturulan kodu manuel olarak hassaslaştırabilir. Üretken yapay zeka, profil oluşturma ve insan gözetiminin birleşimi, kod verimliliğini sürekli olarak artırabilen ve çevresel etkiyi azaltabilen bir geri bildirim döngüsü oluşturur.

Aşağıdaki ekran görüntüsü, ağ ve disk G/Ç'yi içeren gecikme modunda CodeGuru Profiler'dan oluşturulan sonuçları gösterir. Bu durumda uygulama hala zamanının çoğunu burada geçiriyor. ImageProcessor.extractTasks (ikinci alt sıra) ve içindeki neredeyse her zaman çalıştırılabilir, bu da hiçbir şey beklemediği anlamına gelir. Bu iş parçacığı durumlarını CPU modundan gecikme moduna geçerek görüntüleyebilirsiniz. Bu, uygulamanın duvar saati süresini neyin etkilediğine dair iyi bir fikir edinmenize yardımcı olabilir. Daha fazla bilgi için bkz. Amazon CodeGuru Profiler ile Kuruluşunuzun Karbon Ayak İzini Azaltma.

görüntü

Test senaryoları oluşturma

Amazon Kodu Fısıltı sınır değerlerini, uç durumları ve test edilmesi gerekebilecek diğer olası sorunları dikkate alarak test senaryoları önermeye ve kodun işlevselliğini doğrulamaya yardımcı olabilir. Ayrıca Amazon CodeWhisperer, birim testi için tekrarlanan kod oluşturmayı basitleştirebilir. Örneğin, INSERT ifadelerini kullanarak örnek veriler oluşturmanız gerekiyorsa Amazon CodeWhisperer, bir kalıba dayalı olarak gerekli eklemeleri oluşturabilir. Yazılım testi için genel kaynak gereksinimleri, kaynak yoğun test senaryolarının belirlenmesi ve optimize edilmesi veya gereksiz olanların kaldırılmasıyla da azaltılabilir. İyileştirilmiş test paketleri, enerji verimliliğini artırarak, kaynak tüketimini azaltarak, israfı en aza indirerek ve iş yükü karbon ayak izini azaltarak uygulamayı daha çevre dostu hale getirme potansiyeline sahiptir.

Amazon CodeWhisperer ile daha uygulamalı bir deneyim için bkz. Amazon CodeWhisperer ile yazılım geliştirmeyi optimize edin. Gönderide Amazon CodeWhisperer'ın kod önerileri gösteriliyor Amazon SageMaker Stüdyosu. Ayrıca bir veri kümesinin yüklenmesi ve analiz edilmesine yönelik yorumlara dayalı olarak önerilen kodu da gösterir.

Sonuç

Bu yazıda Amazon CodeWhisperer'ın geliştiricilerin optimize edilmiş, daha sürdürülebilir kod yazmasına nasıl yardımcı olabileceğini öğrendik. Amazon CodeWhisperer, gelişmiş makine öğrenimi modellerini kullanarak kodunuzu analiz eder ve verimliliği artırmak için kişiselleştirilmiş öneriler sunar; bu da maliyetleri düşürebilir ve karbon ayak izini azaltmaya yardımcı olabilir.

Amazon CodeWhisperer, küçük ayarlamalar ve alternatif yaklaşımlar önererek geliştiricilerin işlevsellikten ödün vermeden kaynak kullanımını ve emisyonları önemli ölçüde azaltmasına olanak tanır. İster mevcut kod tabanınızı optimize etmek ister yeni projelerin kaynak açısından verimli olmasını sağlamak istiyor olun, Amazon CodeWhisperer çok değerli bir yardımcı olabilir. Kod optimizasyonuna yönelik Amazon CodeWhisperer ve AWS Sustainability kaynakları hakkında daha fazla bilgi edinmek için aşağıdaki sonraki adımları göz önünde bulundurun:


yazarlar hakkında

yatsı duası San Francisco Körfez Bölgesi'nde yerleşik bir Kıdemli Çözüm Mimarıdır. AWS kurumsal müşterilerinin hedeflerini ve zorluklarını anlayarak büyümelerine yardımcı olur ve esneklik ve ölçeklenebilirliği sağlarken uygulamalarını bulutta yerel bir şekilde nasıl tasarlayabilecekleri konusunda onlara rehberlik eder. Makine öğrenimi teknolojileri ve çevresel sürdürülebilirlik konusunda tutkulu.

Ajjay Govindaram AWS'de Kıdemli Çözüm Mimarıdır. Karmaşık iş sorunlarını çözmek için AI/ML kullanan stratejik müşterilerle çalışıyor. Tecrübesi, orta ila büyük ölçekli AI/ML uygulama devreye alımları için teknik yönlendirme ve tasarım yardımı sağlamada yatmaktadır. Bilgisi, uygulama mimarisinden büyük veriye, analitiğe ve makine öğrenimine kadar uzanıyor. Dinlenirken müzik dinlemekten, dışarıyı deneyimlemekten ve sevdikleriyle vakit geçirmekten hoşlanır.

Erick Irigoyen Amazon Web Services'te Yarı İletkenler ve Elektronik endüstrisindeki müşterilere odaklanan bir Çözüm Mimarıdır. Müşterilerin iş zorluklarını anlamak ve stratejik hedeflerine ulaşmak için AWS'den nasıl yararlanılabileceğini belirlemek için müşterilerle yakın işbirliği içinde çalışıyor. Çalışmaları öncelikle Yapay Zeka ve Makine Öğrenimi (AI/ML) ile ilgili projelere odaklanmıştır. AWS'ye katılmadan önce, Deloitte'un Gelişmiş Analitik uygulamasında Kıdemli Danışman olarak görev yaptı ve Amerika Birleşik Devletleri'nde Analitik ve Yapay Zeka/ML'ye odaklanan çeşitli çalışmalarda iş akışlarını yönetti. Erick, San Francisco Üniversitesi'nden İşletme alanında lisans derecesine ve North Carolina Eyalet Üniversitesi'nden Analitik alanında yüksek lisans derecesine sahiptir.

spot_img

En Son İstihbarat

spot_img