Optimoi kestävää kehitystä varten Amazon CodeWhisperer | Amazon Web Services

Optimoi kestävää kehitystä varten Amazon CodeWhisperer | Amazon Web Services

Tämä viesti tutkii kuinka Amazon Code Whisperer voi auttaa koodin optimoinnissa kestävän kehityksen parantamiseksi resurssitehokkuuden parantamisen ansiosta. Laskennallisesti resurssitehokas koodaus on yksi tekniikka, jolla pyritään vähentämään koodirivin käsittelyyn tarvittavan energian määrää ja sen seurauksena auttaa yrityksiä kuluttamaan vähemmän energiaa. Tällä pilvipalveluiden aikakaudella kehittäjät hyödyntävät nyt avoimen lähdekoodin kirjastoja ja saatavilla olevaa edistynyttä prosessointitehoa rakentaakseen laajamittaisia ​​mikropalveluita, joiden on oltava toiminnallisesti tehokkaita, suorituskykyisiä ja joustavia. Nykyaikaiset sovellukset koostuvat kuitenkin usein laaja koodi, joka vaatii merkittäviä laskentaresursseja. Vaikka suorat ympäristövaikutukset eivät ehkä ole ilmeisiä, alioptimoitu koodi lisää nykyaikaisten sovellusten hiilijalanjälkeä esimerkiksi lisääntyneen energiankulutuksen, laitteiston pitkittyneen käytön ja vanhentuneiden algoritmien kautta. Tässä viestissä näemme, kuinka Amazon CodeWhisperer auttaa ratkaisemaan nämä huolenaiheet ja vähentämään koodisi ympäristöjalanjälkeä.

Amazon CodeWhisperer on generatiivinen tekoälykoodauskumppani, joka nopeuttaa ohjelmistokehitystä tekemällä ehdotuksia olemassa olevan koodin ja luonnollisen kielen kommenttien perusteella, vähentäen yleistä kehitystyötä ja vapauttamalla aikaa aivoriihiin, monimutkaisten ongelmien ratkaisemiseen ja erillisen koodin luomiseen. Amazon CodeWhisperer voi auttaa kehittäjiä virtaviivaistamaan työnkulkuaan, parantamaan koodin laatua, rakentamaan vahvempia suojausasentoja, luomaan kestäviä testipaketteja ja kirjoittamaan laskennallisesti resurssiystävällistä koodia, joka voi auttaa sinua optimoimaan ympäristön kestävyyden. Se on saatavana osana Visual Studio Coden työkalupakki, AWS-pilvi9, JupyterLab, Amazon SageMaker Studio, AWS Lambda, AWS-liimaja JetBrains IntelliJ IDEA. Amazon CodeWhisperer tukee tällä hetkellä Python-, Java-, JavaScript-, TypeScript-, C#-, Go-, Rust-, PHP-, Ruby-, Kotlin-, C-, C++-, Shell-komentosarjoja, SQL:ää ja Scalaa.

Optimoimattoman koodin vaikutus pilvilaskentaan ja sovellusten hiilijalanjälkeen

AWS:n infrastruktuuri on 3.6 kertaa energiatehokkaampi kuin tutkittujen yhdysvaltalaisten yrityspalvelinkeskusten mediaani ja jopa 5 kertaa energiatehokkaampi kuin keskimääräinen eurooppalainen yrityspalvelinkeskus. Siksi AWS voi auttaa pienentämään työkuorman hiilijalanjälkeä jopa 96 %. Voit nyt käyttää Amazon CodeWhispereria laadukkaan koodin kirjoittamiseen pienemmällä resurssien ja energiankulutuksella ja saavuttaa skaalautuvuustavoitteet samalla, kun hyödyt AWS-energiatehokkaasta infrastruktuurista.

Lisääntynyt resurssien käyttö

Optimoimaton koodi voi johtaa pilvilaskentaresurssien tehottomaan käyttöön. Tämän seurauksena voidaan tarvita enemmän virtuaalikoneita (VM) tai säiliöitä, mikä lisää resurssien allokointia, energian käyttöä ja siihen liittyvää työmäärän hiilijalanjälkeä. Saatat kohdata lisäyksiä seuraavissa:

  • CPU: n käyttö – Optimoimaton koodi sisältää usein tehottomia algoritmeja tai koodauskäytäntöjä, jotka vaativat liiallisia suoritinjaksoja.
  • Muistin kulutus – Tehoton muistinhallinta optimoimattomassa koodissa voi johtaa tarpeettomaan muistin varaamiseen, purkamiseen tai tietojen kopioimiseen.
  • Levyn I/O-toiminnot – Tehoton koodi voi suorittaa liiallisia tulo/lähtötoimintoja (I/O). Jos esimerkiksi tietoja luetaan tai kirjoitetaan levylle useammin kuin on tarpeen, se voi lisätä levyn I/O-käyttöä ja latenssia.
  • Verkon käyttö – Tehottomien tiedonsiirtotekniikoiden tai päällekkäisen viestinnän vuoksi huonosti optimoitu koodi voi aiheuttaa liikaa verkkoliikennettä. Tämä voi johtaa korkeampaan latenssiin ja lisääntyneeseen verkon kaistanleveyden käyttöön. Verkon lisääntynyt käyttöaste voi johtaa korkeampiin kustannuksiin ja resurssitarpeisiin tilanteissa, joissa verkkoresursseja verotetaan käytön perusteella, kuten pilvipalveluissa.

Suurempi energiankulutus

Infrastruktuuria tukevat sovellukset, joissa on tehoton koodi, käyttävät enemmän prosessointitehoa. Tehottomasta, paisuneesta koodista johtuva laskentaresurssien liikakäyttö voi johtaa korkeampaan energiankulutukseen ja lämmöntuotantoon, mikä myöhemmin vaatii enemmän energiaa jäähdytykseen. Palvelinten ohella energiaa kuluttavat myös jäähdytysjärjestelmät, sähkönjakelun infrastruktuuri ja muut apuelementit.

Skaalautuvuushaasteet

Sovelluskehityksessä skaalautuvuusongelmia voi aiheuttaa optimoimaton koodi. Tällainen koodi ei välttämättä skaalaudu tehokkaasti tehtävän kasvaessa, mikä vaatii enemmän resursseja ja kuluttaa enemmän energiaa. Tämä lisää näiden koodinpätkien kuluttamaa energiaa. Kuten aiemmin mainittiin, tehottomalla tai tuhlaavalla koodilla on mittakaavassa monimutkainen vaikutus.

Asiakkaiden tietyissä palvelinkeskuksissa käyttämän koodin optimoinnin tuomat energiansäästöt lisääntyvät entisestään, kun otamme huomioon, että pilvipalveluntarjoajilla, kuten AWS:llä, on kymmeniä datakeskuksia ympäri maailmaa.

Amazon CodeWhisperer käyttää koneoppimista (ML) ja suuria kielimalleja tarjotakseen koodisuosituksia reaaliajassa alkuperäisen koodin ja luonnollisen kielen kommenttien perusteella sekä koodisuosituksia, jotka voisivat olla tehokkaampia. Ohjelman infrastruktuurin käytön tehokkuutta voidaan lisätä optimoimalla koodi käyttämällä strategioita, joihin kuuluvat algoritmiset edistysaskeleet, tehokas muistinhallinta ja turhien I/O-toimintojen vähentäminen.

Koodin luominen, täydentäminen ja ehdotukset

Tarkastellaan useita tilanteita, joissa Amazon CodeWhisperer voi olla hyödyllinen.

Automatisoimalla toistuvan tai monimutkaisen koodin kehittämisen koodin luontityökalut minimoivat inhimillisten virheiden mahdollisuuden keskittyen alustakohtaisiin optimointiin. Käyttämällä vakiintuneita malleja tai malleja nämä ohjelmat voivat tuottaa koodia, joka noudattaa johdonmukaisemmin kestävän kehityksen parhaita käytäntöjä. Kehittäjät voivat tuottaa koodia, joka noudattaa tiettyjä koodausstandardeja, mikä auttaa toimittamaan johdonmukaisempaa ja luotettavampaa koodia koko projektin ajan. Tuloksena oleva koodi voi olla tehokkaampi ja koska se poistaa ihmisen koodausmuunnelmia, ja voi olla luettavampaa, mikä parantaa kehitysnopeutta. Se voi automaattisesti toteuttaa tapoja pienentää sovellusohjelman kokoa ja pituutta, kuten poistaa tarpeetonta koodia, parantaa muuttujan tallennusta tai käyttää pakkausmenetelmiä. Nämä optimoinnit voivat auttaa muistin kulutuksen optimoinnissa ja parantaa järjestelmän yleistä tehokkuutta pienentämällä paketin kokoa.

Generatiivinen AI on mahdollista tehdä ohjelmoinnista kestävämpää optimoimalla resurssien kohdentamista. On tärkeää tarkastella sovelluksen hiilijalanjälkeä kokonaisvaltaisesti. Työkalut kuten Amazon CodeGuru -profiili voi kerätä suorituskykytietoja komponenttien välisen latenssin optimoimiseksi. Profilointipalvelu tutkii koodin ajot ja tunnistaa mahdolliset parannukset. Kehittäjät voivat sitten manuaalisesti tarkentaa automaattisesti luotua koodia näiden havaintojen perusteella parantaakseen energiatehokkuutta. Generatiivisen tekoälyn, profiloinnin ja ihmisen valvonnan yhdistelmä luo palautesilmukan, joka voi jatkuvasti parantaa koodin tehokkuutta ja vähentää ympäristövaikutuksia.

Seuraavassa kuvakaappauksessa näkyy CodeGuru Profilerista luodut tulokset latenssitilassa, joka sisältää verkon ja levyn I/O:n. Tässä tapauksessa sovellus viettää silti suurimman osan ajastaan ImageProcessor.extractTasks (toinen alarivi), ja melkein koko ajan sisällä joka on ajettava, eli se ei odottanut mitään. Voit tarkastella näitä säiettä vaihtamalla CPU-tilasta latenssitilaan. Tämä voi auttaa sinua saamaan hyvän käsityksen siitä, mikä vaikuttaa sovelluksen seinäkellon aikaan. Lisätietoja on kohdassa Vähennä organisaatiosi hiilijalanjälkeä Amazon CodeGuru Profilerin avulla.

kuva

Luodaan testitapauksia

Amazon Code Whisperer voi auttaa ehdottamaan testitapauksia ja varmistamaan koodin toimivuuden ottamalla huomioon raja-arvot, reunatapaukset ja muut mahdolliset testattavat ongelmat. Amazon CodeWhisperer voi myös yksinkertaistaa toistuvan koodin luomista yksikkötestausta varten. Jos sinun on esimerkiksi luotava näytetietoja INSERT-lauseiden avulla, Amazon CodeWhisperer voi luoda tarvittavat lisäykset kuvion perusteella. Ohjelmistojen testauksen kokonaisresurssivaatimuksia voidaan myös vähentää tunnistamalla ja optimoimalla resurssiintensiivisiä testitapauksia tai poistamalla tarpeettomia. Parannetut testisarjat voivat tehdä sovelluksesta ympäristöystävällisemmän lisäämällä energiatehokkuutta, vähentämällä resurssien kulutusta, minimoimalla jätettä ja vähentämällä työmäärän hiilijalanjälkeä.

Katso käytännönläheisempiä kokemuksia Amazon CodeWhispereristä Optimoi ohjelmistokehitys Amazon CodeWhispererin avulla. Viesti esittelee Amazon CodeWhispererin koodisuosituksia Amazon SageMaker Studio. Se myös näyttää ehdotetun koodin tietojoukon lataamista ja analysointia koskevien kommenttien perusteella.

Yhteenveto

Tässä viestissä opimme, kuinka Amazon CodeWhisperer voi auttaa kehittäjiä kirjoittamaan optimoitua, kestävämpää koodia. Kehittyneiden ML-mallien avulla Amazon CodeWhisperer analysoi koodisi ja tarjoaa henkilökohtaisia ​​suosituksia tehokkuuden parantamiseksi, mikä voi vähentää kustannuksia ja vähentää hiilijalanjälkeä.

Amazon CodeWhispererin avulla kehittäjät voivat vähentää merkittävästi resurssien käyttöä ja päästöjä toiminnallisuudesta tinkimättä ehdottamalla pieniä muutoksia ja vaihtoehtoisia lähestymistapoja. Halusitpa sitten optimoida olemassa olevan koodikannan tai varmistaa, että uudet projektit ovat resurssitehokkaita, Amazon CodeWhisperer voi olla korvaamaton apu. Jos haluat lisätietoja Amazon CodeWhisperer- ja AWS Sustainability -resursseista koodin optimointia varten, harkitse seuraavia ohjeita:


Tietoja kirjoittajista

Optimoi kestävää kehitystä varten Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Isha Dua on vanhempi ratkaisuarkkitehti San Franciscon lahden alueella. Hän auttaa AWS-yritysasiakkaita kasvamaan ymmärtämällä heidän tavoitteensa ja haasteensa, ja opastaa heitä suunnittelemaan sovelluksiaan pilvipohjaisella tavalla varmistaen samalla joustavuuden ja skaalautuvuuden. Hän on intohimoinen koneoppimistekniikoista ja ympäristön kestävyydestä.

Optimoi kestävää kehitystä varten Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Ajjay Govindaram on AWS:n vanhempi ratkaisuarkkitehti. Hän työskentelee strategisten asiakkaiden kanssa, jotka käyttävät tekoälyä/ML:ää monimutkaisten liiketoimintaongelmien ratkaisemiseen. Hänen kokemuksensa on teknisen ohjauksen ja suunnitteluavun tarjoaminen vaatimattomissa ja suurissa AI/ML-sovellusten käyttöönotoissa. Hänen tietämyksensä ulottuu sovellusarkkitehtuurista big dataan, analytiikkaan ja koneoppimiseen. Hän nauttii musiikin kuuntelusta lepääessään, ulkoiluun ja rakkaittensa kanssa viettämiseen.

Optimoi kestävää kehitystä varten Amazon CodeWhisperer | Amazon Web Services PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Erick Irigoyen on Amazon Web Servicesin ratkaisuarkkitehti, joka keskittyy puolijohde- ja elektroniikkateollisuuden asiakkaisiin. Hän työskentelee läheisessä yhteistyössä asiakkaiden kanssa ymmärtääkseen heidän liiketoimintansa haasteita ja selvittääkseen, kuinka AWS:ää voidaan hyödyntää heidän strategisten tavoitteidensa saavuttamisessa. Hänen työnsä on keskittynyt pääasiassa tekoälyyn ja koneoppimiseen (AI/ML) liittyviin projekteihin. Ennen AWS:lle tuloaan hän oli vanhempi konsultti Deloitten Advanced Analytics -käytännössä, jossa hän johti työnkulkuja useissa toimeksiannoissa eri puolilla Yhdysvaltoja keskittyen Analyticsiin ja tekoälyyn/ML:ään. Erickillä on kauppatieteiden kandidaatin tutkinto San Franciscon yliopistosta ja MS-tutkinto Analyticsista North Carolina State Universitystä.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen