Optimalkan keberlanjutan dengan Amazon CodeWhisperer | Layanan Web Amazon

Optimalkan keberlanjutan dengan Amazon CodeWhisperer | Layanan Web Amazon

Posting ini membahas caranya Pembisik Kode Amazon dapat membantu pengoptimalan kode untuk keberlanjutan melalui peningkatan efisiensi sumber daya. Pengkodean yang hemat sumber daya secara komputasi adalah salah satu teknik yang bertujuan untuk mengurangi jumlah energi yang diperlukan untuk memproses sebaris kode dan, sebagai hasilnya, membantu perusahaan dalam mengonsumsi lebih sedikit energi secara keseluruhan. Di era komputasi awan ini, pengembang kini memanfaatkan perpustakaan sumber terbuka dan kekuatan pemrosesan canggih yang tersedia bagi mereka untuk membangun layanan mikro berskala besar yang harus efisien, berperforma tinggi, dan tangguh secara operasional. Namun, aplikasi modern sering kali terdiri dari kode yang ekstensif, menuntut sumber daya komputasi yang signifikan. Meskipun dampak langsung terhadap lingkungan mungkin tidak terlihat jelas, kode sub-optimasi memperkuat jejak karbon dari aplikasi modern melalui faktor-faktor seperti peningkatan konsumsi energi, penggunaan perangkat keras yang berkepanjangan, dan algoritma yang ketinggalan jaman. Dalam postingan ini, kami menemukan bagaimana Amazon CodeWhisperer membantu mengatasi masalah ini dan mengurangi jejak lingkungan dari kode Anda.

Amazon CodeWhisperer adalah pendamping pengkodean AI generatif yang mempercepat pengembangan perangkat lunak dengan memberikan saran berdasarkan kode yang ada dan komentar bahasa alami, mengurangi upaya pengembangan secara keseluruhan dan meluangkan waktu untuk bertukar pikiran, memecahkan masalah kompleks, dan menulis kode yang berbeda. Amazon CodeWhisperer dapat membantu pengembang menyederhanakan alur kerja mereka, meningkatkan kualitas kode, membangun postur keamanan yang lebih kuat, menghasilkan rangkaian pengujian yang kuat, dan menulis kode ramah sumber daya komputasi, yang dapat membantu Anda mengoptimalkan kelestarian lingkungan. Ini tersedia sebagai bagian dari Perangkat untuk Kode Visual Studio, AWS Cloud9, JupyterLab, Studio Amazon SageMaker, AWS Lambda, Lem AWS, dan IDE IntelliJ JetBrains. Amazon CodeWhisperer saat ini mendukung Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, skrip Shell, SQL, dan Scala.

Dampak kode yang tidak dioptimalkan pada komputasi awan dan jejak karbon aplikasi

Infrastruktur AWS 3.6 kali lebih hemat energi dibandingkan rata-rata pusat data perusahaan Amerika yang disurvei dan hingga 5 kali lebih hemat energi dibandingkan rata-rata pusat data perusahaan di Eropa. Oleh karena itu, AWS dapat membantu menurunkan jejak karbon beban kerja hingga 96%. Anda kini dapat menggunakan Amazon CodeWhisperer untuk menulis kode berkualitas dengan pengurangan penggunaan sumber daya dan konsumsi energi, serta memenuhi tujuan skalabilitas sambil memanfaatkan infrastruktur hemat energi AWS.

Peningkatan penggunaan sumber daya

Kode yang tidak dioptimalkan dapat mengakibatkan penggunaan sumber daya komputasi awan tidak efektif. Akibatnya, lebih banyak mesin virtual (VM) atau kontainer mungkin diperlukan, sehingga meningkatkan alokasi sumber daya, penggunaan energi, dan jejak karbon terkait beban kerja. Anda mungkin mengalami peningkatan sebagai berikut:

  • Utilisasi CPU โ€“ Kode yang tidak dioptimalkan sering kali berisi algoritma atau praktik pengkodean yang tidak efisien yang memerlukan siklus CPU yang berlebihan untuk dijalankan.
  • Konsumsi memori โ€“ Manajemen memori yang tidak efisien dalam kode yang tidak dioptimalkan dapat mengakibatkan alokasi memori yang tidak perlu, deallokasi, atau duplikasi data.
  • Operasi I/O disk โ€“ Kode yang tidak efisien dapat melakukan operasi input/output (I/O) yang berlebihan. Misalnya, jika data dibaca dari atau ditulis ke disk lebih sering dari yang diperlukan, hal ini dapat meningkatkan pemanfaatan dan latensi I/O disk.
  • Penggunaan jaringan โ€“ Karena teknik transmisi data yang tidak efektif atau komunikasi duplikat, kode yang tidak dioptimalkan dengan baik dapat menyebabkan jumlah lalu lintas jaringan yang berlebihan. Hal ini dapat menyebabkan latensi lebih tinggi dan peningkatan pemanfaatan bandwidth jaringan. Peningkatan pemanfaatan jaringan dapat mengakibatkan biaya dan kebutuhan sumber daya yang lebih tinggi dalam situasi di mana sumber daya jaringan dikenai pajak berdasarkan penggunaan, seperti dalam komputasi awan.

Konsumsi energi yang lebih tinggi

Aplikasi pendukung infrastruktur dengan kode yang tidak efisien menggunakan lebih banyak kekuatan pemrosesan. Penggunaan sumber daya komputasi yang berlebihan karena kode yang tidak efisien dan membengkak dapat mengakibatkan konsumsi energi dan produksi panas yang lebih tinggi, yang kemudian memerlukan lebih banyak energi untuk pendinginan. Selain server, sistem pendingin, infrastruktur distribusi daya, dan elemen tambahan lainnya juga mengonsumsi energi.

Tantangan skalabilitas

Dalam pengembangan aplikasi, masalah skalabilitas dapat disebabkan oleh kode yang tidak dioptimalkan. Kode tersebut mungkin tidak dapat diskalakan secara efektif seiring dengan bertambahnya tugas, sehingga memerlukan lebih banyak sumber daya dan menggunakan lebih banyak energi. Hal ini meningkatkan energi yang dikonsumsi oleh fragmen kode ini. Seperti disebutkan sebelumnya, kode yang tidak efisien atau boros mempunyai efek yang berlipat ganda dalam skala besar.

Penghematan energi yang semakin besar dari pengoptimalan kode yang dijalankan pelanggan di pusat data tertentu semakin bertambah ketika kita mempertimbangkan bahwa penyedia cloud seperti AWS memiliki lusinan pusat data di seluruh dunia.

Amazon CodeWhisperer menggunakan pembelajaran mesin (ML) dan model bahasa besar untuk memberikan rekomendasi kode secara real-time berdasarkan kode asli dan komentar bahasa alami, serta memberikan rekomendasi kode yang bisa lebih efisien. Efisiensi penggunaan infrastruktur program dapat ditingkatkan dengan mengoptimalkan kode menggunakan strategi termasuk kemajuan algoritmik, manajemen memori yang efektif, dan pengurangan operasi I/O yang tidak berguna.

Pembuatan kode, penyelesaian, dan saran

Mari kita periksa beberapa situasi di mana Amazon CodeWhisperer dapat berguna.

Dengan mengotomatiskan pengembangan kode yang berulang atau kompleks, alat pembuat kode meminimalkan kemungkinan kesalahan manusia sambil berfokus pada pengoptimalan spesifik platform. Dengan menggunakan pola atau templat yang sudah ada, program-program ini dapat menghasilkan kode yang lebih konsisten dalam mematuhi praktik terbaik keberlanjutan. Pengembang dapat menghasilkan kode yang sesuai dengan standar pengkodean tertentu, membantu memberikan kode yang lebih konsisten dan dapat diandalkan di seluruh proyek. Kode yang dihasilkan mungkin lebih efisien karena menghilangkan variasi pengkodean manusia, dan dapat lebih mudah dibaca, sehingga meningkatkan kecepatan pengembangan. Secara otomatis dapat menerapkan cara untuk mengurangi ukuran dan panjang program aplikasi, seperti menghapus kode yang berlebihan, meningkatkan penyimpanan variabel, atau menggunakan metode kompresi. Pengoptimalan ini dapat membantu pengoptimalan konsumsi memori dan meningkatkan efisiensi sistem secara keseluruhan dengan memperkecil ukuran paket.

AI generatif mempunyai potensi untuk menjadikan program lebih berkelanjutan dengan mengoptimalkan alokasi sumber daya. Penting untuk melihat jejak karbon suatu aplikasi secara holistik. Alat seperti Profiler Amazon CodeGuru dapat mengumpulkan data kinerja untuk mengoptimalkan latensi antar komponen. Layanan pembuatan profil memeriksa eksekusi kode dan mengidentifikasi potensi peningkatan. Pengembang kemudian dapat secara manual menyempurnakan kode yang dihasilkan secara otomatis berdasarkan temuan ini untuk lebih meningkatkan efisiensi energi. Kombinasi AI generatif, pembuatan profil, dan pengawasan manusia menciptakan putaran umpan balik yang dapat terus meningkatkan efisiensi kode dan mengurangi dampak lingkungan.

Tangkapan layar berikut menunjukkan hasil yang dihasilkan dari CodeGuru Profiler dalam mode latensi, yang mencakup I/O jaringan dan disk. Dalam hal ini, aplikasi masih menghabiskan sebagian besar waktunya di dalam ImageProcessor.extractTasks (baris kedua terbawah), dan hampir sepanjang waktu di dalamnya dapat dijalankan, yang berarti tidak menunggu apa pun. Anda dapat melihat status thread ini dengan mengubah ke mode latensi dari mode CPU. Ini dapat membantu Anda mendapatkan gambaran bagus tentang apa yang memengaruhi waktu jam dinding aplikasi. Untuk informasi lebih lanjut, lihat Mengurangi Jejak Karbon Organisasi Anda dengan Amazon CodeGuru Profiler.

gambar

Menghasilkan kasus uji

Pembisik Kode Amazon dapat membantu menyarankan kasus pengujian dan memverifikasi fungsionalitas kode dengan mempertimbangkan nilai batas, kasus tepi, dan potensi masalah lainnya yang mungkin perlu diuji. Selain itu, Amazon CodeWhisperer dapat menyederhanakan pembuatan kode berulang untuk pengujian unit. Misalnya, jika Anda perlu membuat data sampel menggunakan pernyataan INSERT, Amazon CodeWhisperer dapat menghasilkan sisipan yang diperlukan berdasarkan suatu pola. Kebutuhan sumber daya secara keseluruhan untuk pengujian perangkat lunak juga dapat dikurangi dengan mengidentifikasi dan mengoptimalkan kasus pengujian yang intensif sumber daya atau menghapus kasus pengujian yang berlebihan. Ruang pengujian yang ditingkatkan berpotensi membuat aplikasi menjadi lebih ramah lingkungan dengan meningkatkan efisiensi energi, mengurangi konsumsi sumber daya, meminimalkan limbah, dan mengurangi jejak karbon beban kerja.

Untuk pengalaman lebih langsung dengan Amazon CodeWhisperer, lihat Optimalkan pengembangan perangkat lunak dengan Amazon CodeWhisperer. Postingan tersebut menampilkan rekomendasi kode dari Amazon CodeWhisperer di Studio Amazon SageMaker. Ini juga menunjukkan kode yang disarankan berdasarkan komentar untuk memuat dan menganalisis kumpulan data.

Kesimpulan

Dalam postingan ini, kita mempelajari bagaimana Amazon CodeWhisperer dapat membantu pengembang menulis kode yang dioptimalkan dan lebih berkelanjutan. Dengan menggunakan model ML tingkat lanjut, Amazon CodeWhisperer menganalisis kode Anda dan memberikan rekomendasi yang dipersonalisasi untuk meningkatkan efisiensi, yang dapat mengurangi biaya dan membantu mengurangi jejak karbon.

Dengan menyarankan sedikit penyesuaian dan pendekatan alternatif, Amazon CodeWhisperer memungkinkan pengembang mengurangi penggunaan sumber daya dan emisi secara signifikan tanpa mengorbankan fungsionalitas. Baik Anda ingin mengoptimalkan basis kode yang ada atau memastikan proyek baru menggunakan sumber daya yang efisien, Amazon CodeWhisperer dapat menjadi bantuan yang sangat berharga. Untuk mempelajari lebih lanjut tentang Amazon CodeWhisperer dan sumber daya AWS Sustainability untuk optimasi kode, pertimbangkan langkah-langkah berikutnya berikut:


Tentang penulis

Optimalkan keberlanjutan dengan Amazon CodeWhisperer | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Isya Dua adalah Arsitek Solusi Senior yang berbasis di San Francisco Bay Area. Dia membantu pelanggan perusahaan AWS tumbuh dengan memahami tujuan dan tantangan mereka, dan memandu mereka tentang bagaimana mereka dapat merancang aplikasi mereka dengan cara cloud-native sambil memastikan ketahanan dan skalabilitas. Dia sangat tertarik dengan teknologi pembelajaran mesin dan kelestarian lingkungan.

Optimalkan keberlanjutan dengan Amazon CodeWhisperer | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Ajjay Govindaram adalah Arsitek Solusi Senior di AWS. Dia bekerja dengan pelanggan strategis yang menggunakan AI/ML untuk memecahkan masalah bisnis yang kompleks. Pengalamannya terletak pada memberikan arahan teknis serta bantuan desain untuk penyebaran aplikasi AI/ML skala kecil hingga besar. Pengetahuannya berkisar dari arsitektur aplikasi hingga data besar, analitik, dan pembelajaran mesin. Dia menikmati mendengarkan musik sambil beristirahat, menikmati alam bebas, dan menghabiskan waktu bersama orang yang dicintainya.

Optimalkan keberlanjutan dengan Amazon CodeWhisperer | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Erick Irigoyen adalah Arsitek Solusi di Amazon Web Services yang berfokus pada klien di industri Semikonduktor dan Elektronik. Dia bekerja erat dengan pelanggan untuk memahami tantangan bisnis mereka dan mengidentifikasi bagaimana AWS dapat dimanfaatkan untuk mencapai tujuan strategis mereka. Karyanya terutama berfokus pada proyek yang berkaitan dengan Kecerdasan Buatan dan Pembelajaran Mesin (AI/ML). Sebelum bergabung dengan AWS, dia adalah Konsultan Senior di praktik Analisis Lanjutan Deloitte di mana dia memimpin alur kerja di beberapa keterlibatan di seluruh Amerika Serikat dengan fokus pada Analisis dan AI/ML. Erick meraih gelar BS di bidang Bisnis dari University of San Francisco dan gelar MS di bidang Analytics dari North Carolina State University.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS