Ohjelmointi

10 ohjelmistokehitysennustetta vuodelle 2018

Siddhartha Agarwal on Oracle Cloud Platformin johtaja, tuotehallinta ja strategia.

Kehittäjien pitäisi palaa innostuneina vuoden 2018 tulevista mahdollisuuksista, ja tuotteiden ja työkalujen, kuten blockchain, chatbotit, palvelimettomat toiminnot ja koneoppiminen, ympärille tulee riittävän kypsät todellisissa projekteissa. Samaan aikaan monet kehittäjät ovat huolissaan siitä, että pystyvät pitämään kiinni painostuksesta toimittaa koodi ja toiminnot nopeammin vaarantamatta tietoturvaa tai suorituskykyä. Mutta myös tällä alalla on hyviä uutisia.

Kehittäjille vuosi 2018 määräytyy tämän jännitteen välillä muuttuvien uusien mahdollisuuksien hyödyntämisessä ja samalla paineessa tehdä enemmän, laadukkaammin. Alla on 10 ennustetta, jotka liittyvät näiden joukkojen toimintaan tulevana vuonna.

1. Blockchainia hyödyntävät B2B-liiketoimet menevät tuotantoon

Yritykset ovat alkaneet ymmärtää blockchain-yhteensopivilla tapahtumilla saavutettavaa turvallisuutta, luotettavuutta ja tehokkuutta. Kehittäjät toteuttavat monia blockchain-käyttötapauksia rahoituspalveluissa ja valmistustoimitusketjuissa tulevana vuonna. Blockchain on tekniikka, joka mahdollistaa tehokkaat, turvalliset, muuttumattomat ja luotettavat tapahtumat organisaatioiden välillä, jotka eivät välttämättä luota täysin toisiinsa, eliminoiden välittäjät.

Harkitse yritystä, joka tilaa tuotteita offshore-valmistajalta. Nämä tuotteet lähetetään kuljetusyhtiön kautta, tulli, toisen varustamon kautta ja lopulta ostajalle. Nykyään kunkin vaiheen tarkistus ja täsmäytys tapahtuu enimmäkseen sähköpostien ja laskentataulukoiden kautta, ja mukana on paljon ihmisiä ja prosesseja. Blockchain eliminoi manuaaliset prosessit ja sovituksen tallentamalla peruuttamattomasti päivityksiä blockchain-pääkirjaan, kun vähimmäismäärä osapuolia sanoo: "Kyllä, tämä tapahtuman osa tapahtui."

Blockchain-pilvipalvelut tuovat skaalautuvuuden, joustavuuden, tietoturvan ja valmiiksi integroidut integraatiot yritysjärjestelmien kanssa, mikä helpottaa kehittäjien keskittymistä liiketoiminnan käyttötapauksiin toisin kuin taustalla oleva hyperkirjakudoksen toteutus.

2. Chatbotit käyvät säännöllisesti todellisia keskusteluja asiakkaiden ja työntekijöiden kanssa

Ihmiset ovat kyllästyneet tarvitsemaan useita mobiilisovelluksia saman työn tekemiseksi - kuten kolme eri lentoyhtiön sovellusta, joilla on eri tapoja kirjautua sisään ja saada lennolle pääsylippu. Parempi tapa on tarjota sama toiminto, mutta puhelimesi suosituimman sovelluksen - viestien - välityksellä. Viestinnässä on kolme houkuttelevaa elementtiä, jotka ovat yhdenmukaisia ​​kaikkialla mediassa: välitön, ilmeikäs ja keskusteleva - koulutusta ei tarvita. Keinotekoisen älykkyyden ja luonnollisen kielenkäsittelyn edistymisen ansiosta ihmiset käyttävät Facebook Messengeriä, Slackia, WeChatia, WhatsAppia tai ääniavustajaa, kuten Amazon Alexa tai Google Home, kysyäksesi kysymyksiä ja saadakseen vastauksia älykkäiltä robotteilta.

Kehittäjät voivat käyttää uusia älykkäitä robottirakentamisen pilvipalveluja nopeasti laatia robotteja, jotka ymmärtävät asiakkaan aikomuksen, ylläpitävät keskustelutilaa ja vastaavat älykkäästi samalla, kun integrointi taustajärjestelmien kanssa on helppoa. Kuvittele, että otat kuvan elokuvassa näkemästäsi mekosta ja lähetät kuvan suosikkivaatekauppasi botille, joka käyttää kuvan tunnistusta ja tekoälyä suositellakseen vastaavia mekkoja. Työntekijät voivat myös saada valtavia etuja botteista tehtäviin, kuten kysyä, kuinka monta lomapäivää heillä on vielä jäljellä, pyytää asiakaspalvelulippua tai tilata korvaavan kannettavan tietokoneen, jossa järjestelmä jopa tietää, mihin kannettaviin tietokoneisiin työntekijä on oikeutettu, ja voi tarjota tilapäivityksiä heidän tilauksestaan. Ottaen huomioon, että on paljon anteeksiantavampaa kokeilla omaa henkilöstöpohjaasi, kehittäjät saattavat ensin hyödyntää botinrakennusleikkureitaan rakentamaan ja testaamaan työntekijöille suunnattuja botteja.

3. Painike katoaa: tekoälystä tulee sovelluksen käyttöliittymä

Tekoälystä tulee käyttöliittymä, mikä tarkoittaa, että sovellusten ja palvelujen käytön synkroninen kysely-vastausmalli katoaa vähitellen. Älypuhelimet ovat edelleen "matalan älykkyysosamäärän", koska sinun täytyy noutaa ne, käynnistää sovellus, pyytää jotain tekemistä ja lopulta saada vastaus. Uuden sukupolven älykkäissä sovelluksissa sovellus aloittaa vuorovaikutuksen push-ilmoitusten avulla. Otetaan tämä askel pidemmälle, kun tekoälyä käyttävä sovellus, botti tai virtuaalinen henkilökohtainen avustaja tietää, mitä tehdä milloin, miksi, missä ja miten. Ja vain tee se. Kaksi esimerkkiä:

  • Kulujen hyväksyntä -sovellus seuraa kuluraporttien hyväksymismallia, alkaa automaattisesti hyväksyä 99 prosenttia kuluraporteista ja tuo vain huomiosi harvinaisen raportin, joka vaatii huomiota.
  • Analytics-sovellus ymmärtää taustalla olevat tiedot, yrityskäyttäjän tähän mennessä esittämät kysymykset, yrityksen muiden käyttäjien saman tietojoukon kysymykset ja antaa joka päivä uuden oivalluksen, jota analyytikko ei ehkä ole ajatellut. Kun organisaatiot keräävät enemmän tietoja, tekoäly voi auttaa meitä oppimaan, mitä kysymyksiä tiedoille tulee esittää.

Kehittäjien on selvitettävä, mitkä tiedot ovat todella tärkeitä heidän liiketoimintasovelluksilleen, kuinka seurata tapahtumia ja oppia niistä, mitkä liiketoimintapäätökset hyötyisivät eniten tällaisesta ennakoivasta tekoälystä, ja aloittaa kokeilun. Sulautettu tekoäly voi ennustaa tarvitsemasi, toimittaa tietoja ja toimintoja oikean median kautta oikeaan aikaan, myös ennen kuin tarvitset sitä, ja automatisoida monia manuaalisesti tekemiäsi tehtäviä tänään.

4. Koneoppimiseen liittyy käytännön, aluekohtaisia ​​käyttötarkoituksia

Koneoppiminen on siirtymässä hämärän tietojenkäsittelyn alueelta valtavirran sovelluskehitykseen sekä ennalta rakennettujen moduulien helpon saatavuuden vuoksi suosituilla alustoilla että siksi, että se on niin hyödyllistä käsiteltäessä analyysejä suurissa, historiallisissa aineistoissa. Koneoppimisen yhteydessä arvokkain näkemys tulee kontekstista - mitä olet tehnyt aiemmin, mitä kysymyksiä olet kysynyt, mitä muut ihmiset tekevät, mikä on normaalia verrattuna poikkeavaan toimintaan.

Mutta jotta koneoppiminen olisi tehokasta, se on viritettävä ja koulutettava toimialakohtaisessa ympäristössä, joka sisältää sekä analysoitavat aineistot että kysymykset, joihin se vastaa. Esimerkiksi koneoppimissovellukset, jotka on suunniteltu tunnistamaan poikkeava käyttäjäkäyttäytyminen tietoturva-analyytikoille, eroavat suuresti koneoppimissovelluksista, jotka on suunniteltu optimoimaan tehtaan robottioperaatiot, mikä saattaa olla hyvin erilainen kuin mikropalvelupohjaisen sovelluksen riippuvuuskartoitus.

Kehittäjien on oltava perehtyneempiä toimialakohtaisiin käyttötapauksiin ymmärtääkseen, mitä tietoja kerätään, millaisia ​​koneoppimisalgoritmeja käytetään ja mitä kysymyksiä tulee esittää. Kehittäjien on myös arvioitava, soveltuvatko toimialakohtaiset SaaS- tai pakatut sovellukset tiettyyn projektiin, koska tarvitaan suuria määriä koulutustietoja.

Koneoppimisen avulla kehittäjät voivat rakentaa älykkäitä sovelluksia suositusten luomiseksi, tulosten ennustamiseksi tai automatisoitujen päätösten tekemiseksi.

5. DevOps liikkuu kohti NoOpsia

Olemme kaikki yhtä mieltä siitä, että devops on kriittisen tärkeä, jotta kehittäjät voivat rakentaa uusia sovelluksia ja ominaisuuksia nopeasti samalla kun säilytetään korkea laatu ja suorituskyky. Devops-ongelmana on, että kehittäjien on käytettävä 60 prosenttia ajastaan ​​yhtälön ops-puolella leikkaamalla kehitykseen käytetty aika. Kehittäjien on integroitava erilaisia ​​jatkuvan integroinnin ja jatkuvan toimituksen (CICD) työkaluja, ylläpidettävä näitä integraatioita ja päivitettävä jatkuvasti CI / CD-työkaluketjua uusien tekniikoiden julkaisemisen myötä. Kaikki tekevät CI: tä, mutta ei liian monet ihmiset tekevät CD: tä. Kehittäjät vaativat pilvipalveluita, jotta heiluri kääntyisi takaisin kehityspuolelle vuonna 2018. Se vaatii enemmän automaatiota todelliselle CICD: lle.

Docker tarjoaa sinulle pakkaamisen, siirrettävyyden ja kyvyn toteuttaa ketteriä käyttöönottoja. Tarvitset CD-levyn, jotta voit olla osa tätä Docker-elinkaarta. Jos esimerkiksi käytät säilöjä, heti kun teet koodin muutoksen Gitiin, oletusartefaktin tulisi olla Docker-kuva, jossa on uusi koodiversio. Lisäksi kuvan pitäisi automaattisesti työntyä Docker-rekisteriin ja kontti käyttöön kuvasta dev-testiympäristöön. Laadunvalvontatestien ja tuotantoon käyttöönoton jälkeen konttien orkesterointi, turvallisuus ja skaalaus tulee huolehtia puolestasi. Yritysjohtajat painostavat kehittäjiä toimittamaan uusia innovaatioita nopeammin; devops-mallin on vapautettava enemmän aikaa kehittäjille tämän mahdollistamiseksi.

6. Avoin lähdekoodi palveluna nopeuttaa avoimen lähdekoodin innovaatioiden kulutusta

Avoimen lähdekoodin malli on edelleen yksi parhaista innovaatioiden moottoreista, mutta sen toteuttaminen ja ylläpitäminen on usein liian monimutkaista. Esimerkiksi:

  • Haluat suoratoistodatan / tapahtumienhallinta-alustan, joten käänny Kafkan puoleen. Kun aloitat Kafkan hyödyntämisen mittakaavassa, sinun on määritettävä lisää Kafka-solmuja ja kuormitettava suuret Kafka-klusterit, päivitettävä nämä klusterit, kun uusia Kafkan julkaisuja tulee ulos, ja integroitava tämä palvelu sitten muuhun ympäristöön.
  • Haluat Kubernetesin konttiorkesterointiin. Sen sijaan, että huolehdit Kubernetes-klusterin päivityksistä, varmuuskopioista, palautuksista ja korjauksista, alustan tulisi tehdä kaikki puolestasi. Kubernetes toimittaa kuuden viikon välein, joten alustalla tulisi olla liikkuvia käyttöönottoja ja itsensä parantumista.
  • Haluat Cassandran NoSQL-tietokannoille. Haluat, että Cassandra-klusterin varmuuskopiointi (inkrementaalinen tai täysi aikataulun mukaan), korjaus, klusterointi, skaalaus ja korkea saatavuus ovat alustan hallinnassa.

Kehittäjät etsivät yhä enemmän pilvipalveluja, jotta kaikki nämä nopeat innovaatiot voidaan toimittaa avoimen lähdekoodin kautta, samalla kun he huolehtivat näiden tekniikoiden toiminnallisista ja hallinnoinnista.

7. Palvelimettomat arkkitehtuurit ovat suuria tuotannossa

Palvelimettomien arkkitehtuureiden vetovoima on selvä: Kun on kysyttävää, että koodini suoritetaan tietyn tapahtuman perusteella, infrastruktuuri on instantioitu, koodi asennetaan ja suoritetaan, ja minua veloitetaan vain koodin suorittamisajasta. Oletetaan, että haluat rakentaa matkavaraustoiminnon lentojen, hotellien ja vuokra-autojen varaamiseen / peruuttamiseen. Jokainen näistä toiminnoista voidaan rakentaa palvelimettomaksi toiminnoksi, joka on kirjoitettu eri kielillä, kuten Java, Ruby, JavaScript ja Python. Mikään sovelluspalvelin ei ole käynnissä koodini kanssa; pikemminkin toiminnot instantisoidaan ja suoritetaan infrastruktuurissa vain tarvittaessa.

Kehittäjille palvelimettomien toimintojen merkitseminen yhdessä monimutkaisten tapahtumien suorittamiseksi luo uusia haasteita: kuvailee, kuinka nämä toiminnot tulisi ketjuttaa yhteen, hajautettujen tapahtumien virheenkorjaus ja määritetään, miten ketjun yhden toiminnon epäonnistumisen yhteydessä voidaan luoda korvaavia tapahtumia sopimattomien muutosten peruuttamiseksi. Etsi pilvipalveluja ja avoimen lähdekoodin työkaluja, kuten FN-projekti, kukoistamaan auttamalla kehittäjiä hallitsemaan palvelimettomien toimintojen ohjelmointia, kokoonpanoa, virheenkorjausta ja elinkaaren hallintaa sekä asentamaan ja testaamaan niitä kannettavalla tai paikallisella palvelimella tai mikä tahansa pilvi. Tärkeintä on valita palvelimeton alusta, joka tarjoaa maksimaalisen siirrettävyyden.

8. Ainoa kysymys kontteista tulee "miksi ei?"

Säiliöistä tulee oletusarvo dev / testityötä varten ja tavallista tuotantosovelluksissa. Odota jatkuvaa parannusta tietoturvaan, hallittavuuteen, orkestrointiin, seurantaan ja virheenkorjaukseen avoimen lähdekoodin innovaatioiden ja alan standardien pohjalta. Säiliöt tarjoavat rakennuspalikoita monille nykyaikaista kehitystä ohjaaville trendeille, mukaan lukien mikropalveluarkkitehtuurit, pilvipohjaiset sovellukset, palvelimettomat toiminnot ja devops.

Säiliöillä ei ole järkeä kaikkialla - esimerkiksi kun tarvitset määrättävämpää pilvialustaa, kuten integroitavaa PaaS: ää tai mobiilia PaaS: ää - mutta nämä korkeamman tason pilvipalvelut toimivat itse kontteissa, ja ne ovat poikkeuksia, jotka todistavat sääntö.

Lisäksi arvokkaiden, kaupallisten, paikallisten ohjelmistojen ohjelmistolisenssimallien on katettava konttien käyttöönoton leviäminen. Ohjelmistojen hinnoittelumallien on tuettava lisenssien käyttöönottoa ja sammuttamista, kun kontteja pikaviestitään, laajennetaan ja pienennetään.

9. Ohjelmistoista ja järjestelmistä tulee itsensä parantavia, itsensä virittäviä ja itsehallitsevia

Kehittäjät ja tuotantotoimintatiimit hukkuvat lokitietoihin, verkko- / sovellus / tietokanta -suorituskyvyn seurantaan, käyttökokemuksen seurantaan ja kokoonpanoon. Lisäksi nämä erityyppiset tiedot hiljennetään, joten sinun on tuotava monet ihmiset huoneeseen virheenkorjausongelmia varten. Sitten on kysymys tiedonsiirrosta: Kehittäjät viettävät paljon aikaa kertoakseen tuotannon op-sovelluksille, mitkä kynnysarvot on asetettava, mitä palvelimen topologioita seurataan tapahtumalle ja niin edelleen.

$config[zx-auto] not found$config[zx-overlay] not found