Programmēšana

10 programmatūras izstrādes prognozes 2018. gadam

Sidharta Agarvala ir Oracle Cloud Platform viceprezidents, produktu vadība un stratēģija.

Izstrādātājiem vajadzētu degt ar sajūsmu par iespējām, kas gaidāmas 2018. gadā, un produktiem un rīkiem, kas saistīti ar tādām tehnoloģijām kā blokķēdes, tērzēšanas roboti, bez servera funkcijas un mašīnmācīšanās, ir jābūt pietiekami nobriedušiem reālās pasaules projektiem. Tajā pašā laikā daudzi izstrādātāji būs noraizējušies par izturēšanu pret spiedienu ātrāk piegādāt kodu un funkcionalitāti, neapdraudot drošību vai veiktspēju. Bet arī šajā frontē ir labas ziņas.

Izstrādātājiem 2018. gadu noteiks šī spriedze starp jaunu pārveidojošu iespēju izmantošanu, vienlaikus tiekot galā ar spiedienu darīt vairāk un kvalitatīvāk. Zemāk ir 10 prognozes, kas saistītas ar to, kā šie spēki darbosies nākamajā gadā.

1. B2B darījumi, izmantojot blokķēdi, nonāk ražošanā

Uzņēmumi ir sākuši saprast drošību, uzticamību un efektivitāti, kas jāiegūst no blokķēdes iespējotiem darījumiem. Izstrādātāji nākamajā gadā īstenos daudzus blokķēdes lietošanas gadījumus finanšu pakalpojumu un ražošanas piegādes ķēdēs. Blockchain ir tehnoloģija, kas nodrošina efektīvus, drošus, nemainīgus, uzticamus darījumus starp organizācijām, kuras, iespējams, pilnībā neuzticas viena otrai, novēršot starpniekus.

Apsveriet uzņēmumu, kas pasūta produktus no ārzonas ražotāja. Šie produkti tiek piegādāti caur kuģniecības uzņēmumu, nāk caur muitu, caur citu kuģniecības uzņēmumu un visbeidzot pie pircēja. Šodien katra soļa pārbaude un saskaņošana galvenokārt notiek, izmantojot e-pastus un izklājlapas, iesaistot daudz cilvēku un procesus. Blockchain novērš manuālos procesus un izlīgumu, neatsaucami ierakstot blokķēdes virsgrāmatas atjauninājumus, kad minimālais pušu skaits saka: "Jā, šī darījuma daļa notika."

Blockchain mākoņpakalpojumi nodrošinās mērogojamību, elastīgumu, drošību un iepriekš izveidotas integrācijas ar uzņēmuma sistēmām, padarot izstrādātājus daudz vieglāk koncentrēties uz uzņēmējdarbības lietām, nevis uz hipergrāmatu auduma ieviešanu.

2. Tērzēšanas robotiem regulāri ir reālas sarunas ar klientiem un darbiniekiem

Cilvēkiem ir apnicis, ka viena un tā paša darba veikšanai ir nepieciešamas vairākas mobilās lietotnes, piemēram, trīs dažādas aviokompāniju lietotnes ar dažādiem reģistrēšanās un iekāpšanas kartes saņemšanas veidiem. Labāks veids ir nodrošināt to pašu funkcionalitāti, bet izmantojot tālrunī vispopulārāko lietotni - ziņojumapmaiņu. Ziņojumapmaiņai ir trīs pievilcīgi elementi, kas pastāvīgi pastāv vidē: tūlītēja, izteiksmīga un sarunvaloda - nav nepieciešama apmācība. Pateicoties mākslīgā intelekta un dabiskās valodas apstrādes attīstībai, cilvēki izmantos Facebook Messenger, Slack, WeChat, WhatsApp vai balss palīgu, piemēram, Amazon Alexa vai Google Home, lai uzdotu jautājumus un saņemtu atbildes no viedajiem robotiem.

Izstrādātāji, izmantojot jaunus inteliģentus robotu veidošanas mākoņpakalpojumus, var ātri izveidot robotprogrammatūras, kas izprot klienta nodomu, uztur sarunu stāvokli un gudri reaģē, vienlaikus atvieglojot integrāciju ar aizmugures sistēmām. Iedomājieties, kā nofotografējat kleitu, kuru redzējāt filmā, un nosūtiet attēlu ar savu iecienītāko apģērbu veikala bot, kas izmanto attēlu atpazīšanu un mākslīgo intelektu, lai ieteiktu līdzīgas kleitas. Darbinieki arī varētu būt ļoti ieguvēji no robotprogrammatūrām, veicot tādus uzdevumus kā jautāšana, cik atvaļinājuma dienu viņiem ir atlikusi, palīdzības dienesta biļetes iesniegšana vai rezerves klēpjdatora pasūtīšana, kur sistēma pat zina, kuri klēpjdatori ir piemēroti darbiniekam, un var sniegt statusa atjauninājumus pēc viņu pasūtījuma. Ņemot vērā to, ka eksperimentēt ar savu darbinieku bāzi ir daudz piedodošāk, izstrādātāji vispirms varētu izmantot savus robotu veidošanas karbonādes, lai izveidotu un pārbaudītu uz robotiem vērstus robotus.

3. Poga pazūd: AI kļūst par lietotnes saskarni

AI kļūst par lietotāja saskarni, tas nozīmē, ka sinhronais lietotņu un pakalpojumu izmantošanas pieprasījuma un atbildes modelis pakāpeniski izzūd. Viedtālruņi joprojām ir “zems IQ”, jo jums tie ir jāuzņem, jāpalaiž lietojumprogramma, jālūdz kaut ko darīt un galu galā jāsaņem atbilde. Jaunās paaudzes viedajās lietotnēs lietotne sāks mijiedarbību, izmantojot informatīvos paziņojumus. Spersim šo soli tālāk, kur lietotne, robots vai virtuāls personīgais asistents, kurš izmanto mākslīgo intelektu, zinās, ko darīt, kad, kāpēc, kur un kā. Un vienkārši dari to. Divi piemēri:

  • Lietotne Izdevumu apstiprinājumi skatās jūsu izdevumu pārskatu apstiprināšanas modeli, sāk automātiski apstiprināt 99 procentus no izdevumu pārskatiem un jūsu uzmanībai pievērš tikai reto pārskatu, kas prasa jūsu uzmanību.
  • Analytics lietotne saprot pamatā esošos datus, biznesa lietotāja līdz šim uzdotos jautājumus, jautājumus, ko citi uzņēmuma lietotāji uzdeva tai pašai datu kopai, un katru dienu sniedz jaunu ieskatu, kuru analītiķis, iespējams, nav iedomājies. Organizācijām vācot vairāk datu, AI var mums palīdzēt uzzināt, kādus jautājumus uzdot par datiem.

Izstrādātājiem ir jānoskaidro, kādi dati ir patiešām svarīgi viņu biznesa lietojumprogrammām, kā skatīties un mācīties no darījumiem, kādus biznesa lēmumus visvairāk gūtu labumu no šāda veida proaktīvā mākslīgā intelekta, un sākt eksperimentēt. Iegultais AI var paredzēt jums nepieciešamo, piegādāt informāciju un funkcionalitāti, izmantojot pareizo datu nesēju īstajā laikā, arī pirms jums tas ir nepieciešams, un automatizēt daudzus uzdevumus, kurus šodien veicat manuāli.

4. Mašīnmācība iegūst praktisku, specifisku lietojumu

Mašīnmācīšanās no neskaidras datu zinātnes sfēras pāriet uz galveno lietojumprogrammu izstrādi gan iepriekš sagatavoto moduļu gatavas pieejamības dēļ populārās platformās, gan tāpēc, ka tā ir tik noderīga, analizējot lielas, vēsturiskas datu kopas. Ar mašīnmācīšanos visvērtīgākais ieskats nāk ar kontekstu - ko jūs esat darījis iepriekš, kādus jautājumus esat uzdevis, ko dara citi cilvēki, kāda ir normāla vai anomāla darbība.

Bet, lai mašīnmācīšanās būtu efektīva, tā ir jāpielāgo un jāapmāca domēna videi, kurā ietilpst gan datu kopas, kuras tā analizēs, gan jautājumi, uz kuriem tā atbildēs. Piemēram, mašīnmācīšanās lietojumprogrammas, kas paredzētas drošības analītiķa anomālas lietotāja uzvedības identificēšanai, ļoti atšķirsies no mašīnmācīšanās lietojumprogrammām, kas paredzētas rūpnīcas robotu darbību optimizēšanai, kas var ļoti atšķirties no tām, kas paredzētas uz mikropakalpojumiem balstītas lietojumprogrammas atkarības kartēšanai.

Izstrādātājiem būs jākļūst zinošākiem par domēnam raksturīgiem lietošanas gadījumiem, lai saprastu, kādus datus apkopot, kādus mašīnmācīšanās algoritmus izmantot un kādus jautājumus uzdot. Izstrādātājiem būs arī jāizvērtē, vai domēna specifiskās SaaS vai iepakotās lietojumprogrammas ir piemērotas konkrētam projektam, ņemot vērā faktu, ka ir nepieciešami lieli apmācības datu apjomi.

Izmantojot mašīnmācīšanos, izstrādātāji var veidot viedas lietojumprogrammas, lai ģenerētu ieteikumus, prognozētu rezultātus vai pieņemtu automatizētus lēmumus.

5. DevOps virzās uz NoOps

Mēs visi esam vienisprātis, ka devops ir kritiski svarīgs, lai palīdzētu izstrādātājiem ātri izveidot jaunas lietojumprogrammas un funkcijas, vienlaikus saglabājot augstu kvalitātes un veiktspējas līmeni. Devops problēma ir tā, ka izstrādātājiem 60% sava laika jāpavada vienādojuma ops pusē, tādējādi samazinot laiku, kas veltīts attīstībai. Izstrādātājiem ir jāintegrē dažādi nepārtrauktas integrācijas un nepārtrauktas piegādes (CICD) rīki, jāuztur šīs integrācijas un pastāvīgi jāatjaunina CI / CD rīku ķēde, kad tiek izlaistas jaunas tehnoloģijas. Visi dara CI, bet ne pārāk daudzi cilvēki dara CD. Izstrādātāji uzstās uz mākoņpakalpojumiem, lai svārsts palīdzētu 2018. gadā atgriezties izstrādātāja pusē. Tam būs nepieciešama lielāka automatizācija reālai CICD.

Docker sniedz jums iepakojumu, pārnesamību un iespēju veikt elastīgas izvietošanas. Jums ir nepieciešams kompaktdisks, lai būtu daļa no šī Docker dzīves cikla. Piemēram, ja izmantojat konteinerus, tiklīdz veicat koda maiņu uz Git, noklusējuma artefaktam jābūt izveidotam Docker attēlam ar jauno koda versiju. Turklāt attēlam automātiski jābūt ievietotam Docker reģistrā un konteineram, kas no attēla izvietots dev-testa vidē. Pēc kvalitātes pārbaudes un izvietošanas ražošanā jums ir jārūpējas par konteineru orķestrēšanu, drošību un mērogošanu. Uzņēmumu vadītāji izdara spiedienu uz izstrādātājiem, lai tie ātrāk ieviestu jaunas inovācijas; Devops modelim jāatbrīvo vairāk laika izstrādātājiem, lai tas būtu iespējams.

6. Atklātais kods kā pakalpojums paātrina atvērtā pirmkoda inovāciju patēriņu

Atvērtā koda modelis joprojām ir viens no labākajiem inovāciju dzinējiem, taču šo inovāciju ieviešana un uzturēšana bieži ir pārāk sarežģīta. Piemēram:

  • Jūs vēlaties straumēšanas datu / notikumu pārvaldības platformu, tāpēc vērsieties pie Kafka. Sākot izmantot Kafka mērogā, jums jāiestata papildu Kafka mezgli un jāielādē lielie Kafka kopas, jāatjaunina šīs kopas, kad parādās jauni Kafka laidieni, un pēc tam šis pakalpojums jāintegrē pārējā vidē.
  • Jūs vēlaties Kubernetes konteineru orķestrēšanai. Tā vietā, lai rūpētos par Kubernetes kopas jaunināšanu, dublēšanu, atjaunošanu un ielāpiem, platformai tas viss ir jādara jūsu vietā. Kubernetes kuģi tiek piegādāti ik pēc sešām nedēļām, tāpēc platformai vajadzētu būt izvietotai un pašārstēties.
  • Jūs vēlaties Cassandra NoSQL datu bāzēm. Jums vajadzētu vēlēties, lai platforma pārvaldītu Kasandras klastera dublējumu (pakāpenisku vai pilnu pēc grafika), lāpīšanu, kopu veidošanu, mērogošanu un augstu pieejamību.

Izstrādātāji arvien vairāk meklēs mākoņpakalpojumus, lai nodrošinātu visu šo ātrgaitas inovāciju no atvērtā koda, vienlaikus rūpējoties par šo tehnoloģiju darbības un pārvaldības aspektiem.

7. Bez servera arhitektūras ražošanā ir lielas

Bez serveriem esošu arhitektūru pievilcība ir skaidra: kad ir pieprasījums, lai mans kods tiktu izpildīts, pamatojoties uz noteiktu notikumu, infrastruktūra tiek saīsināta, kods tiek izvietots un izpildīts, un no manis tiek iekasēta maksa tikai par koda darbības laiku. Pieņemsim, ka vēlaties izveidot ceļojumu rezervēšanas funkciju, lai rezervētu / atceltu lidojumus, viesnīcas un nomas automašīnas. Katru no šīm darbībām var veidot kā bez servera funkciju, kas rakstīta dažādās valodās, piemēram, Java, Ruby, JavaScript un Python. Neviens lietojumprogrammu serveris nedarbojas ar manu kodu; drīzāk funkcijas tiek instantētas un izpildītas infrastruktūrā tikai nepieciešamības gadījumā.

Izstrādātājiem sarežģītu darījumu izpildīšana bez servera funkciju virknē, lai veiktu sarežģītus darījumus, rada jaunas problēmas: aprakstot, kā šīs funkcijas būtu jāsaista kopā, atkļūdojot sadalītos darījumus un nosakot, kā, neveicot vienu ķēdes funkciju, izveidot kompensējošus darījumus, lai atceltu nepiemērotas izmaiņas. Meklējiet mākoņpakalpojumus un atvērtā koda rīkus, piemēram, FN projektu, lai uzplauktu, palīdzot izstrādātājiem viegli pārvaldīt bez servera funkciju programmēšanu, sastādīšanu, atkļūdošanu un dzīves cikla pārvaldību, kā arī izvietot un pārbaudīt tos klēpjdatorā vai on-prem server vai kāds mākonis. Galvenais būs izvēlēties bez servera platformu, kas nodrošina maksimālu pārnesamību.

8. Vienīgais jautājums par konteineriem kļūst par “Kāpēc ne?”

Konteineri kļūs par izveides / testēšanas noklusējumu un parastu ražošanas lietojumprogrammām. Paredzams, ka turpināsies uzlabojumi drošībā, vadāmībā, orķestrēšanā, uzraudzībā un atkļūdošanā, kuru pamatā ir atvērtā koda jauninājumi un nozares standarti. Konteineri nodrošina daudzu mūsdienu attīstību virzošo tendenču pamatu, tostarp mikropakalpojumu arhitektūras, mākoņdatošanas lietotnes, bez servera funkcijas un devops.

Konteineriem nebūs jēgas visur, piemēram, ja jums ir nepieciešama normatīvāka mākoņu platforma, piemēram, integrācijas PaaS vai mobilā PaaS, taču šie augstākā līmeņa mākoņpakalpojumi paši darbosies konteineros, un tie būs izņēmumi, kas pierāda likums.

Turklāt programmatūras licencēšanas modeļiem augstvērtīgai, komerciālai, lokālai programmatūrai būs jāaptver konteineru ieviešanas izplatība. Programmatūras cenu noteikšanas modeļiem būs jāatbalsta licencēšanas ieslēgšana un izslēgšana, jo konteineri tiek eksponēti, palielināti un samazināti.

9. Programmatūra un sistēmas kļūst pašdziedinošas, pašregulējošas un pašpārvaldīgas

Izstrādātāji un ražošanas operāciju komandas slīkst žurnālos, tīmekļa / lietotņu / datu bāzes veiktspējas uzraudzībā un lietotāju pieredzes uzraudzībā un konfigurācijā. Turklāt šie dažāda veida dati tiek izslēgti, tāpēc jums ir jāieved daudzi cilvēki telpā, lai atkļūdotu problēmas. Tad ir jautājums par zināšanu nodošanu: Izstrādātāji daudz laika pavada, stāstot ražošanas lietojumprogrammām savas lietojumprogrammas, kādi sliekšņi jānosaka, kādas servera topoloģijas jāuzrauga darījumam utt.

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