Sut mae Dark yn defnyddio cod mewn 50ms

Sut mae Dark yn defnyddio cod mewn 50ms

Po gyflymaf yw'r broses ddatblygu, y cyflymaf y mae'r cwmni technoleg yn tyfu.

Yn anffodus, mae cymwysiadau modern yn gweithio yn ein herbyn - rhaid diweddaru ein systemau mewn amser real heb darfu ar unrhyw un nac achosi amser segur neu ymyrraeth. Mae defnyddio systemau o'r fath yn dod yn heriol ac mae angen piblinellau cyflenwi parhaus cymhleth hyd yn oed ar gyfer timau bach.

Mae'r piblinellau hyn fel arfer yn gul eu cwmpas, yn araf ac yn annibynadwy. Rhaid i ddatblygwyr eu hadeiladu â llaw yn gyntaf ac yna eu rheoli, ac mae cwmnïau'n aml yn llogi timau DevOps cyfan i wneud hyn.

Mae cyflymder y datblygiad yn dibynnu ar gyflymder y piblinellau hyn. Mae'r timau gorau yn defnyddio mewn 5-10 munud, ond fel arfer mae pethau'n cymryd llawer mwy o amser, sy'n gofyn am sawl awr fesul lleoliad.

Yn y Tywyllwch mae hyn yn cymryd 50ms. Hanner cant. Milieiliadau. Tywyll - mae'n ateb cyflawn gydag iaith raglennu, golygydd a seilwaith, a adeiladwyd yn benodol ar gyfer darpariaeth barhaus, ac mae pob agwedd ar Tywyllwch, gan gynnwys yr iaith ei hun, wedi'i hadeiladu gyda defnydd diogel, sydyn mewn golwg.

Pam mae piblinellau dosbarthu parhaus mor araf?

Gadewch i ni ddweud bod gennym ni raglen we Python ac rydym eisoes wedi creu piblinell gyflenwi barhaus wych a modern. I ddatblygwr sy'n brysur gyda'r prosiect hwn bob dydd, byddai defnyddio un mân newid yn edrych yn rhywbeth fel hyn:

Newidiad

  • Creu cangen newydd mewn git
  • Gwneud newidiadau y tu Ă´l i'r switsh swyddogaeth
  • Profi uned i brofi newidiadau gyda switsh swyddogaeth a hebddo

Tynnu cais

  • Ymrwymo newidiadau
  • Gwthio newidiadau i gadwrfa github o bell
  • Tynnu cais
  • Mae CI yn adeiladu'n awtomatig yn y cefndir
  • Adolygiad cod
  • Ychydig mwy o adolygiadau os oes angen
  • Cyfuno newidiadau i git master.

Mae CI yn rhedeg ar feistr

  • Gosod dibyniaethau blaen blaen trwy npm
  • Cydosod ac optimeiddio adnoddau HTML+ CSS+ JS
  • Uned redeg a phrofion swyddogaethol yn y blaen
  • Gosod dibyniaethau Python o PyPI
  • Uned redeg a phrofion swyddogaethol yn y pen Ă´l
  • Profi integreiddio ar y ddau ben
  • Anfon adnoddau blaen blaen i CDN
  • Adeiladu cynhwysydd ar gyfer rhaglen Python
  • Cyflwyno cynhwysydd i'r gofrestrfa
  • Diweddaru maniffest Kubernetes

Amnewid hen god am un newydd

  • Mae Kubernetes yn troi sawl achos o gynhwysydd newydd
  • Mae Kubernetes yn aros am achosion i ddod yn iach
  • Mae Kubernetes yn ychwanegu enghreifftiau at gydbwysedd llwyth HTTP
  • Mae Kubernetes yn aros nes na fydd achosion hšn yn cael eu defnyddio mwyach
  • Mae Kubernetes yn atal hen achosion
  • Mae Kubernetes yn ailadrodd y gweithrediadau hyn nes bod achosion newydd yn disodli'r holl hen rai

Galluogi switsh nodwedd newydd

  • Dim ond i chi'ch hun y mae'r cod newydd wedi'i gynnwys er mwyn sicrhau bod popeth yn iawn
  • Mae cod newydd wedi'i alluogi ar gyfer 10% o ddefnyddwyr, mae metrigau gweithredol a busnes yn cael eu holrhain
  • Mae cod newydd wedi'i alluogi ar gyfer 50% o ddefnyddwyr, mae metrigau gweithredol a busnes yn cael eu holrhain
  • Mae cod newydd wedi'i alluogi ar gyfer 100% o ddefnyddwyr, mae metrigau gweithredol a busnes yn cael eu holrhain
  • Yn olaf, rydych chi'n ailadrodd y weithdrefn gyfan i gael gwared ar yr hen god a'r switsh

Mae'r broses yn dibynnu ar yr offer, yr iaith, a'r defnydd o saernĂŻaeth sy'n canolbwyntio ar wasanaethau, ond yn gyffredinol mae'n edrych fel hyn. Nid wyf wedi sĂ´n am leoliadau mudo cronfa ddata oherwydd bod angen llawer o gynllunio arnynt, ond byddaf yn dangos i chi sut mae Dark yn trin hyn isod.

Mae yna lawer o gydrannau yma, a gall llawer ohonyn nhw arafu, chwalu, achosi cynnen dros dro, neu chwalu'r system weithio yn hawdd.

A chan fod y piblinellau hyn bron bob amser yn cael eu creu ar gyfer achos arbennig, mae'n anodd dibynnu arnynt. Mae gan lawer o bobl ddyddiau pan na ellir defnyddio'r cod oherwydd bod problemau yn y Dockerfile, mae un o'r dwsinau o wasanaethau wedi cwympo, neu mae'r arbenigwr angenrheidiol ar wyliau.

Yn waeth byth, nid yw llawer o'r camau hyn yn gwneud unrhyw beth defnyddiol o gwbl. Roedd angen y rhain o'r blaen pan wnaethom anfon cod yn uniongyrchol i ddefnyddwyr, ond nawr mae gennym doglau ar gyfer cod newydd ac mae'r prosesau hynny wedi'u gwahanu. O ganlyniad, mae'r cam lle mae'r cod yn cael ei ddefnyddio (mae'r hen un yn cael ei ddisodli gan yr un newydd) bellach wedi dod yn risg ddiangen.

Wrth gwrs, mae hon yn biblinell feddylgar iawn. Ni arbedodd y tĂŽm a'i creodd unrhyw amser nac arian i'w ddefnyddio'n gyflym. Yn nodweddiadol, mae piblinellau lleoli yn llawer arafach ac yn fwy annibynadwy.

Rhoi darpariaeth barhaus ar waith yn y Tywyllwch

Mae darpariaeth barhaus mor bwysig i Dark fel ein bod yn anelu at eiliadau eilwaith o'r dechrau. Aethom drwy holl gamau’r biblinell i gael gwared ar bopeth diangen, a chaboli’r gweddill. Dyma sut y gwnaethom ddileu'r camau.

Jesse Frazel (Jessie Frazelle) fathu gair newydd heb ei ddefnyddio (nad oes angen ei ddefnyddio) yng nghynhadledd Dyfodol Datblygu Meddalwedd yn Reykjavik

Fe wnaethom benderfynu ar unwaith y byddai Dark yn seiliedig ar y cysyniad “di-leoli” (diolch Jesse Frazel am neologiaeth). Mae di-ddefnydd yn golygu bod unrhyw god yn cael ei ddefnyddio ar unwaith ac yn barod i'w ddefnyddio wrth gynhyrchu. Wrth gwrs, ni fyddwn yn caniatáu cod torri neu anghyflawn i basio drwodd (Byddaf yn disgrifio egwyddorion diogelwch isod).

Yn y demo Dark, gofynnwyd yn aml i ni sut yr oeddem yn gallu defnyddio mor gyflym. Cwestiwn rhyfedd. Mae'n debyg bod pobl yn meddwl ein bod wedi creu rhyw fath o uwch dechnoleg sy'n cymharu cod, yn ei lunio, yn ei becynnu i mewn i gynhwysydd, yn cychwyn peiriant rhithwir, yn oer yn cychwyn cynhwysydd, a phopeth felly - i gyd mewn 50 ms. Go brin ei fod yn bosibl. Ond fe wnaethon ni greu injan lleoli arbennig nad oes angen hyn i gyd arno.

Tywyll yn rhedeg dehonglwyr yn y cwmwl. Gadewch i ni ddweud eich bod yn ysgrifennu cod mewn swyddogaeth neu HTTP neu driniwr digwyddiad. Rydym yn anfon y diff i'r goeden cystrawen haniaethol (y gweithredu cod y mae ein golygydd a'n gweinyddwyr yn ei ddefnyddio'n fewnol) i'n gweinyddwyr, ac yna'n rhedeg y cod hwnnw pan ddaw ceisiadau i mewn. Felly mae lleoli yn edrych fel cofnod cymedrol yn unig i'r gronfa ddata - yn syth ac yn elfennol. Mae'r defnydd mor gyflym oherwydd ei fod yn cynnwys y lleiafswm prin.

Yn y dyfodol, rydym yn bwriadu gwneud Dark yn gasglwr seilwaith a fydd yn creu ac yn rhedeg y seilwaith delfrydol ar gyfer perfformiad uchel a dibynadwyedd cymwysiadau. Mae lleoli ar unwaith, wrth gwrs, yma i aros.

Defnydd Diogel

Golygydd strwythuredig

Mae Code in Dark wedi'i ysgrifennu yn y golygydd Tywyll. Nid yw'r golygydd strwythuredig yn caniatåu gwallau cystrawen. Mewn gwirionedd, nid oes gan Dark ddadansoddwr hyd yn oed. Tra'ch bod chi'n teipio, rydyn ni'n gweithio'n uniongyrchol gyda'r Goeden Cystrawen Abstract (AST), fel Paredit, Braslun-n-Sketch, Tofu, Tociwch и MPS.

Mae gan unrhyw god anorffenedig yn Dark semanteg gweithredu dilys, rhywbeth tebyg tyllau teipiedig yn Hazel. Er enghraifft, os byddwch chi'n newid galwad swyddogaeth, rydyn ni'n storio'r hen swyddogaeth nes bod modd defnyddio'r un newydd.

Mae gan bob rhaglen yn Tywyll ei hystyr ei hun, felly nid yw cod anorffenedig yn atal cod gorffenedig rhag gweithio.

Dulliau Golygu

Rydych chi'n ysgrifennu cod yn Tywyll mewn dwy sefyllfa. Yn gyntaf: rydych chi'n ysgrifennu cod newydd a chi yw'r unig ddefnyddiwr. Er enghraifft, mae mewn REPL ac ni fydd defnyddwyr eraill byth yn ei gyrchu, neu mae'n llwybr HTTP newydd nad ydych yn cyfeirio ato yn unman. Yma gallwch chi weithio heb unrhyw ragofalon, a nawr dyma fwy neu lai sut rydych chi'n gweithio yn yr amgylchedd datblygu.

Ail sefyllfa: mae'r cod eisoes yn cael ei ddefnyddio. Os oes traffig yn mynd trwy'ch cod (swyddogaethau, trinwyr digwyddiadau, cronfeydd data, mathau), mae angen i chi fod yn ofalus. I wneud hyn, rydym yn rhwystro pob cod a ddefnyddir ac yn gofyn am ddefnyddio offer mwy strwythuredig i'w olygu. Byddaf yn ymdrin â'r offer strwythurol isod: switshis swyddogaeth ar gyfer HTTP a thrinwyr digwyddiadau, llwyfan mudo pwerus ar gyfer cronfeydd data, a dull fersiwn newydd ar gyfer swyddogaethau a mathau.

Swyddogaeth switshis

Un ffordd cael gwared ar gymhlethdod diangen in Dark - trwsio problemau lluosog gydag un ateb. Mae switshis nodwedd yn cyflawni llawer o wahanol dasgau: disodli'r amgylchedd datblygu lleol, canghennau git, defnyddio cod, ac wrth gwrs rhyddhau cod newydd yn araf ac wedi'i reoli yn draddodiadol.

Mae creu a defnyddio switsh nodwedd yn cael ei wneud mewn un gweithrediad yn ein golygydd. Mae'n creu gofod gwyn ar gyfer cod newydd ac yn darparu rheolaethau mynediad ar gyfer cod hen a newydd, yn ogystal â botymau a gorchmynion ar gyfer cyflwyno cod newydd yn raddol neu ei ddileu.

Mae switshis swyddogaeth wedi'u hymgorffori yn yr iaith Dywyll, ac mae switshis anghyflawn hyd yn oed yn cyflawni eu pwrpas - os na fodlonir y cyflwr yn y switsh, bydd yr hen god sydd wedi'i rwystro yn cael ei weithredu.

Amgylchedd datblygu

Mae switshis nodwedd yn disodli'r amgylchedd datblygu lleol. Heddiw, mae timau'n ei chael hi'n anodd sicrhau bod pawb yn defnyddio'r un fersiynau o offer a llyfrgelloedd (fformatwyr cod, linters, rheolwyr pecynnau, casglwyr, rhagbroseswyr, offer profi, ac ati) Gyda Dark, nid oes angen gosod dibyniaethau yn lleol, rheoli gosodiad Docker lleol, neu gymryd mesurau eraill i sicrhau o leiaf ymddangosiad o gydraddoldeb rhwng yr amgylcheddau datblygu a chynhyrchu. O ystyried bod cydraddoldeb o'r fath yn dal yn amhosibl, ni fyddwn hyd yn oed yn cymryd arnom ein bod yn ymdrechu amdano.

Yn lle creu amgylchedd lleol wedi'i glonio, mae switshis yn Tywyll yn creu blwch tywod newydd wrth gynhyrchu sy'n disodli'r amgylchedd datblygu. Yn y dyfodol rydym hefyd yn bwriadu blwch tywodio rhannau eraill o'r cais (e.e. clonau cronfa ddata ar unwaith), er nad yw hyn yn ymddangos mor bwysig ar hyn o bryd.

Canghennau a Lleoliadau

Bellach mae sawl ffordd o gyflwyno cod newydd i systemau: canghennau git, cyfnod defnyddio, a toglau nodwedd. Maent yn datrys yr un broblem mewn gwahanol rannau o'r llif gwaith: git yn y camau cyn-leoli, defnyddio yn y cyfnod pontio o'r hen god i'r newydd, a switshis nodwedd ar gyfer rhyddhau cod newydd dan reolaeth.

Y ffordd fwyaf effeithiol yw switshis swyddogaeth (ar yr un pryd yr hawsaf i'w ddeall a'i ddefnyddio). Gyda nhw gallwch chi roi'r gorau i'r ddau ddull arall yn llwyr. Mae'n arbennig o ddefnyddiol cael gwared ar y defnydd - os ydym yn defnyddio switshis nodwedd i alluogi cod beth bynnag, yna dim ond risgiau diangen y mae'r cam o fudo gweinyddwyr i'r cod newydd yn eu creu.

Mae Git yn anodd ei ddefnyddio, yn enwedig ar gyfer dechreuwyr, ac mae'n gyfyngol iawn, ond mae ganddo ganghennau cyfleus. Rydym wedi datrys llawer o ddiffygion git. Mae modd golygu Dark mewn amser real ac mae'n galluogi cydweithredu ar ffurf Google Docs fel nad oes rhaid i chi gyflwyno cod a gallwch ail-osod ac uno yn llai aml.

Mae switshis nodwedd wrth wraidd lleoli diogel. Ynghyd â defnyddio ar unwaith, maent yn caniatåu ichi brofi cysyniadau yn gyflym mewn darnau bach, risg isel, yn hytrach nag ymrwymo i un newid mawr a allai ddod â'r system i lawr.

Fersiynu

Rydym yn defnyddio fersiynau i newid swyddogaethau a mathau. Os ydych chi am newid swyddogaeth, mae Dark yn creu fersiwn newydd o'r swyddogaeth honno. Yna gallwch chi ffonio'r fersiwn hon gan ddefnyddio switsh yn y HTTP neu'r triniwr digwyddiad. (Os yw'n ffwythiant yn ddwfn yn y graff galwad, mae fersiwn newydd o bob ffwythiant yn cael ei greu ar hyd y ffordd. Gallai hyn ymddangos fel gorladd, ond nid yw'r ffwythiannau yn mynd yn y ffordd oni bai eich bod yn eu defnyddio, felly ni fyddwch hyd yn oed sylwch.)

Am yr un rhesymau, rydym yn fathau o fersiynau. Buom yn siarad yn fanwl am ein system fath yn y post blaenorol.

Trwy fersiynu swyddogaethau a mathau, gallwch wneud newidiadau i'ch cais yn raddol. Gallwch wirio bod pob triniwr unigol yn gweithio gyda'r fersiwn newydd, heb orfod gwneud yr holl newidiadau i'ch cymwysiadau ar unwaith (ond mae gennym offer i wneud hyn yn gyflym os dymunwch).

Mae hyn yn llawer mwy diogel na defnyddio popeth ar unwaith, fel sy'n digwydd ar hyn o bryd.

Fersiynau pecyn newydd a llyfrgell safonol

Pan fyddwch chi'n diweddaru pecyn yn Tywyll, nid ydym yn disodli'r defnydd o bob swyddogaeth neu fath yn y sylfaen cod cyfan ar unwaith. Nid yw'n ddiogel. Mae'r cod yn parhau i ddefnyddio'r un fersiwn a ddefnyddiodd, ac rydych chi'n diweddaru'r defnydd o swyddogaethau a mathau i'r fersiwn newydd fesul achos gan ddefnyddio switshis.

Sut mae Dark yn defnyddio cod mewn 50ms
Sgrinlun o ran o'r broses awtomatig yn Dark, yn dangos dwy fersiwn o'r swyddogaeth Dict::get. Dychwelodd Dict::get_v0 Unrhyw fath (yr ydym yn ei ddileu), a dychwelodd Dict::get_v1 fath Opsiwn.

Rydym yn aml yn darparu nodwedd newydd o'r llyfrgell safonol ac yn eithrio fersiynau hšn. Bydd defnyddwyr sydd â fersiynau hšn mewn cod yn dal i gael mynediad atynt, ond ni fydd defnyddwyr newydd yn gallu cael mynediad atynt. Rydyn ni'n mynd i ddarparu offer i fudo defnyddwyr o hen fersiynau i rai newydd mewn 1 cam, eto gan ddefnyddio switshis nodwedd.

Mae Dark hefyd yn darparu nodwedd unigryw: gan ein bod yn rhedeg eich cod cynhyrchu, gallwn brofi fersiynau newydd ein hunain, gan gymharu allbwn ymholiadau hen a newydd i roi gwybod i chi am newidiadau. O ganlyniad, mae diweddariadau pecyn sy'n aml yn cael eu gwneud yn ddall (neu sydd angen profion diogelwch helaeth) yn peri llawer llai o risg a gallant ddigwydd yn awtomatig.

Fersiynau newydd o Dark

Roedd y trawsnewidiad o Python 2 i Python 3 yn ymestyn dros ddegawd ac mae'n dal i fod yn her. Gan ein bod yn adeiladu Tywyll ar gyfer darpariaeth barhaus, mae angen i ni ystyried y newidiadau iaith hyn.

Pan rydyn ni'n gwneud newidiadau bach i'r iaith, rydyn ni'n creu fersiwn newydd o Tywyll. Mae'r hen god yn aros yn yr hen fersiwn o Tywyll, a defnyddir y cod newydd yn y fersiwn newydd. Gallwch ddefnyddio switshis neu fersiynau nodwedd i uwchraddio i fersiwn newydd o Dark.

Mae hyn yn arbennig o ddefnyddiol o ystyried mai dim ond yn ddiweddar y cyflwynwyd Dark. Gall llawer o newidiadau i iaith neu lyfrgell fethu. Mae fersiynau iaith cynyddrannol yn ein galluogi i wneud mân ddiweddariadau, sy’n golygu y gallwn gymryd ein hamser a gohirio llawer o benderfyniadau am yr iaith nes bod gennym fwy o ddefnyddwyr, ac felly mwy o wybodaeth.

Mudo cronfeydd data

Ar gyfer mudo cronfa ddata diogel mae fformiwla safonol:

  • Ailysgrifennu cod i gefnogi fformatau hen a newydd
  • Trosi'r holl ddata i fformat newydd
  • Dileu hen fynediad at ddata

O ganlyniad, mae mudo cronfa ddata yn cymryd amser hir ac mae angen llawer o adnoddau. Ac yn y pen draw bydd sgemâu hen ffasiwn yn pentyrru oherwydd nid yw hyd yn oed tasgau syml fel gosod enw bwrdd neu golofn yn werth yr ymdrech.

Mae gan Dark lwyfan mudo cronfa ddata effeithlon a fydd (gobeithiwn) yn gwneud y broses mor hawdd na fyddwch chi'n ei ofni. Mae gan bob storfa ddata yn Dark (storfeydd gwerth allweddol neu dablau stwnsh parhaus) fath. I fudo storfa ddata, rydych yn syml yn aseinio math newydd iddo a swyddogaeth dychwelyd a rholio ymlaen i drosi'r gwerthoedd rhwng y ddau fath.

Ceir mynediad i storfeydd data yn Dark drwy enwau newidyn fersiwn. Er enghraifft, bydd y storfa ddata Users yn cael ei henwi i ddechrau yn Users-v0. Pan fydd fersiwn newydd gyda math gwahanol yn cael ei greu, mae'r enw'n newid i Users-v1. Os caiff data ei arbed trwy Users-v0 a'ch bod yn ei gyrchu trwy Users-v1, cymhwysir y swyddogaeth rholio ymlaen. Os caiff data ei arbed trwy Users-v1 a'ch bod yn ei gyrchu trwy Users-v0, cymhwysir y swyddogaeth dychwelyd.

Sut mae Dark yn defnyddio cod mewn 50ms
Sgrin mudo cronfa ddata yn dangos hen enwau meysydd cronfa ddata, ymadroddion treigl a dychwelyd, a chyfarwyddiadau ar gyfer galluogi mudo.

Defnyddiwch switshis nodwedd i gyfeirio galwadau i Users-v0 i Users-v1. Gellir gwneud hyn un triniwr HTTP ar y tro i leihau risg, ac mae'r switshis yn gweithio fesul defnyddiwr fel y gallwch wirio bod popeth yn gweithio yn Ă´l y disgwyl. Pan nad oes Users-v0 ar Ă´l, bydd Dark yn trosi'r holl ddata sy'n weddill yn y cefndir o'r hen fformat i'r un newydd. Ni fyddwch hyd yn oed yn sylwi arno.

Profi

Tywyll yw iaith raglennu swyddogaethol gyda theipio statig a gwerthoedd na ellir eu cyfnewid, felly mae ei arwyneb profi yn sylweddol llai o'i gymharu ag ieithoedd gwrthrych-ganolog sydd wedi'u teipio'n ddeinamig. Ond mae dal angen i chi brofi.
Yn Tywyll, mae'r golygydd yn rhedeg profion uned yn awtomatig yn y cefndir ar gyfer y cod rydych chi'n ei olygu, ac yn rhedeg y profion hynny ar gyfer pob switsh nodwedd yn ddiofyn. Yn y dyfodol, rydym am ddefnyddio mathau statig i fuzz cod yn awtomatig i ddod o hyd i chwilod.

Yn ogystal, mae Dark yn rhedeg eich seilwaith cynhyrchu, sy'n agor posibiliadau newydd. Rydym yn cadw ceisiadau HTTP yn awtomatig yn y fframwaith Tywyll (rydym yn arbed pob cais am y tro, ond yna rydym am newid i nĂ´l). Rydyn ni'n profi cod newydd yn eu herbyn ac yn cynnal profion uned, ac os ydych chi eisiau, gallwch chi drosi ymholiadau diddorol yn brofion uned yn hawdd.

Beth wnaethon ni gael gwared ohono?

Gan nad oes gennym ddefnydd, ond mae gennym switshis nodwedd, mae tua 60% o'r biblinell lleoli yn cael ei gadael ar Ă´l. Nid oes angen canghennau git arnom na cheisiadau tynnu, adeiladu adnoddau Ă´l-ben a chynwysyddion, gwthio adnoddau a chynwysyddion i gofrestrfeydd, na chamau lleoli i Kubernetes.

Sut mae Dark yn defnyddio cod mewn 50ms
Cymhariaeth o biblinell danfon barhaus safonol (chwith) a danfoniad parhaus tywyll (dde). Mae'r dosbarthiad Tywyll yn cynnwys 6 cham ac un cylch, tra bod y fersiwn draddodiadol yn cynnwys 35 cam a 3 chylch.

Yn Dark, dim ond 6 cham ac 1 cylch sydd gan ddefnydd (camau sy'n cael eu hailadrodd sawl gwaith), tra bod piblinell danfon barhaus fodern yn cynnwys 35 cam a 3 chylch. Yn y Tywyllwch, mae profion yn rhedeg yn awtomatig heb i chi hyd yn oed ei weld; mae dibyniaethau'n cael eu gosod yn awtomatig; nid oes angen popeth sy'n ymwneud â git neu Github mwyach; Nid oes angen adeiladu, profi a llongio cynwysyddion Docker; nid oes angen ei ddefnyddio i Kubernetes mwyach.

Daeth hyd yn oed y camau sy'n weddill yn Tywyll yn haws. Oherwydd y gellir rheoli toglau nodwedd gydag un weithred, nid oes angen mynd trwy'r biblinell lleoli gyfan yr eildro i gael gwared ar hen god.

Gwnaethom symleiddio’r broses o ddarparu cod cystal ag y gallem, gan leihau’r amser a’r risgiau o gyflawni’n barhaus. Rydym hefyd wedi ei gwneud yn llawer haws diweddaru pecynnau, mudo cronfeydd data, profi, rheoli fersiynau, gosod dibyniaeth, cydraddoldeb rhwng amgylcheddau datblygu a chynhyrchu, ac uwchraddio fersiynau iaith cyflym a diogel.

Atebaf gwestiynau am hyn ymlaen Newyddion Haciwr.

I ddysgu mwy am y ddyfais Tywyll, darllenwch erthygl am Tywyll, dilynwch ni ar Twitter (neu yn fi) neu cofrestrwch ar gyfer y beta a chael gwybod am bostiadau sydd ar ddod. Os ydych yn mynd i StrangeLoop ym mis Medi, dewch i'n lansiad.

Ffynhonnell: hab.com

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster