[MIZIK jwe] DAVID Malan: Tout dwa. Mèsi anpil pou vini. Sa a se CS50 seminè sou Koupre, se yon teknoloji ke nou tèt nou ak CS50 lè l sèvi avèk yo te kòmanse pou kèk tan kounye a. Se konsa, non mwen se David Malan, mwen anseye Entwodiksyon Harvard la Syans enfòmatik. Pou kèk ane sa yo, nou ve yo te bay elèv yo Downloadable kliyan-kòt machin vityèl ki sou bagay yo fè pwoblèm kouche yo. Ke nou te kounye a favorize tranzisyon nan yon anviwònman Cloud ki aktyèlman sèvi ak teknoloji sa a rele Koupre, tankou ke tout CS50 nan elèv yo kounye a gen yo pwòp resipyan Koupre ke ou pral byento tande tout sou. Anplis, sou sèvè CS50 nan bò gwoup, pou anpil ane nou te lè l sèvi avèk Cloud sèvè Amazon nan. Nou te kouri endividyèl machin vityèl. Sa tou, nou te fèk kòmanse fè tranzisyon nan bagay sa yo rele resipyan Koupre pou ke tout nan aplikasyon nou an yo kounye a se parfe izole nan youn ak lòt. Se konsa, pou ki ak plis ankò, pèmèt mwen prezante zanmi nou an, Nico ak Mano, soti nan Koupre tèt li. Nicola KABAR: Mèsi, David. Bonjou tout moun. Non mwen se Nico ak sa a se Mano. Nou soti nan Koupre. Nou pral yo dwe pale sou- bay ou nèg yon Entwodiksyon nan Koupre, ak èspere ke, nan direksyon pou fen a nan pale sa a ou ka reyalize konbyen lajan ou ka itilize doktè oksalat devlopman aplikasyon w lan ak deplwaman. Se konsa, nou ap ale nan kòmanse koupe reyèl rapid ak kèk enfòmasyon background. Dekri ki sa Koupre se tout sou. Ki jan li travay? Kouman se li architected? Mwen pral fè kèk Demonstrasyon. Apre sa, Mano a pwal dekri ki jan ou ka sèvi ak Koupre ak ban nou etap espesifik ki jan ou ka jwenn te kòmanse. Mwen ta apresye si ou nèg ka kenbe konje pou kesyon ou yo rive sou fen a. Nan fason sa a, mwen ta ka adrese moun kesyon nan tout prezantasyon an. Se konsa, nou pral kite kèk tan rive sou fen a pou kesyon. Se konsa, jis reyèl rapid, ki gen aktyèlman tout tan te travay sou Koupre, tankou te jwe ak li? Pè. Fre. Great. Se konsa, mwen pral kòmanse ak kèk istwa. Se konsa, tounen nan '90s yo, epi 2000s bonè, fondamantalman kòm devlopè entènèt, devlopè app, lè yo te ale nan deplwaye yon aplikasyon li te mare nan fè metal. Li te youn sèvè. Li te youn aplikasyon. Tradisyonèlman, yon egzanp ta dwe tankou yon pil LAMP, kote ou aktyèlman te gen nan pote yo moute pisin lan nan resous. CPU, memwa, ki gen kapasite, rezo a, enstale sistèm opere sou tèt sa. Si w ap sèvi yon bagay, si w ap aktyèlman gen sèvè wèb, ou bezwen yon bagay tankou Apache yo sèvi l '. Si aplikasyon w lan bezwen baz done, tournwa, ou ta enstale yon bagay tankou miskl, ak sou sa. Men, si ou bezwen tan nan kouri, PHPs ak PHP Piton travay te gen. Se konsa, nou te gen nan aktyèlman pran sa yo etap yo nan lòd jwenn leve aplikasyon w lan ak kouri. Si ou bezwen plis pouvwa compute, ou fondamantalman te gen nan rele nèg opération ou oswa Gal yo ale ak etajè moute yon nouvo moso nan pyès ki nan konpitè, konekte li, epi ou gen yo repete sa yo pwosesis ankò e ankò. Se konsa, pwosesis sa a te relativman chè. Te definitivman trè dousman. Li te rezèvwa. Apre sa, nan yon anpil nan ka yo, ou te pyès ki nan konpitè itilize ase. Se konsa, nan 90s yo an reta 'ak 2000s bonè, Virtualization pyès ki nan konpitè te vini atravè. Ak jan ou ka wè isit la nan la foto, fondamantalman sa yo te fè se distrè pisin lan nan resous kenkayri gratis ak kalite te sèvi moun kouch yo anwo kay la, nan ka sa a, yon envite opere sistèm. Ak lide an antye nan machin vityèl te vin atravè e ke se vre wi: te ede Cloud informatique kòm nou konnen li jodi a. Se konsa, sa sa vle di se ou ka kouri miltip virtuèl, ki vle di miltip pil, plizyè aplikasyon sou yon machin menm fizik. Sa a definitivman te ede ak nan vitès nan aplikasyon deplwaman. Definitivman ak depans. Ou pa gen yo ale ak depanse enèji, tan, ak resous yo etajè plis serveurs pou li ale nan plis compute. Apre sa, vitès la nan aktyèlman pote resous moun moute se pi pi vit. Great. Se konsa, nou rezoud grangou nan lemonn, dwa? Non, pa vrèman. Se konsa, Virtualization otan ke li nan aktyèlman te ede, adrese pwoblèm nan, li aktyèlman prezante yon anpil nan defi yo. Ipèrvizeur la definitivman prezante yon anpil nan konpleksite, manyen moun kache pisin nan resous. Li nan pi lou nan sans ke anvan ou te gen yon sistèm opere sèl ki se tankou twa, kat jig sou ki gen kapasite. Koulye a, si ou gen 10 machin sou yon pyès ki nan konpitè sèl ou gen anpil anpil pitit ki pa kantite machin. Li nan definitivman plis chè nan yon sans ou toujou gen jwenn lisans pou teknoloji a Virtualization si li pa sous louvri. Men,, se pou yo pa pran nan tout kredi nan Virtualization. Paske sa ki te pase ki gen la a yon anpil nan pil ak anpil nan lojisyèl teknoloji ki te pèmèt pa ki jan vit ou te kapab jwenn nan resous ak boom nan Cloud. Se konsa, jodi a yon app oswa sèvis sèl kapab lè l sèvi avèk nenpòt nan sa yo runtimes oswa de. PHP, Piton, miskl, Redis, etajèr. Se konsa, gen nan yon anpil nan konpleksite sou sa a kantite pil ki aktyèlman pote moute yon sèl sèvis. Ak ansanm ak sa, ou te gen yon anpil nan resous kache oswa enfrastrikti kalite li teste deplwaye ak fondamantalman pran nan pwodiksyon aplikasyon pou moun ke w ap devlope yo. Espesyalman kòm ekip ou a gen grandi ap travay sou sa yo apps, gen nan yon anpil nan konpleksite ak defi ki te mennen l 'bay asire ke cycle-- nan fondamantalman aplikasyon sik devlopman, se aktyèlman siksè. Se konsa, lefèt ke aplikasyon w lan ap travay lokalman sou VM lokal ou a pa garanti ke kolèg ou ki pral atann rezilta yo menm. Lè ekip la operasyon se patisipe nan pran sa ou genyen ak deplwaye li nan pwodiksyon echèl, tou gen nan pa gen garanti ki ki nan aktyèlman pral rive. Se konsa, sa kite nou ak yon reyèlman big-- yon anpil nan mak kesyon, yon anpil nan defi aktyèlman te fè fas menm tounen nan jou yo. Epi sa raple nou nan anbake endistri an. Se konsa, endistri a anbake te gen yon anpil nan machandiz, jan ou ka wè sou bò men gòch. Yo, epi sou bò nan men dwat, gen nan yon anpil nan, fondamantalman, fason yon bato moun machandiz yo. Ak sa ki k ap pase kòm yon koup jan yo sanble, li di: nou bezwen estandadize ki jan nou aktyèlman bato moun machandiz yo. Apre sa, boom, ou gen la Intermodal anbake veso. Se konsa, yo te dakò sou pi plis nan gwosè komen pou veso a. Ki jan okipe yo. Ki sa ki egzak metòd ou bezwen chaj yo e yo dechaje yo. Se poutèt sa, ki vrèman te ede endistri a anbake. Koulye a, plis pase 90% konsantre transpòte globalman ap itilize resipyan sa yo. Epi sa definitivman diminye depans sa yo ki osi byen ke domaj yo akòz anbake. Se konsa, nou pran modèl la menm epi nou aplike lojisyèl an devlopman de app achitekti, nan sans ki kontnerizasyon pran Virtualization a moute yon nivo. Se konsa, olye pou yo fè sa nan nivo a pyès ki nan konpitè, li te vin plis nan yon opere nivo sistèm Virtualization. Apre sa, nou fè sa lè yo bay chak aplikasyon nan pwòp ki lejè li yo, izole, ègzekutabl, ak pòtab, ki pi enpòtan, yon fason yo aktyèlman package tout bagay ki li bezwen yo kouri. Nenpòt kote li kapab kouri. Se konsa, kèlkeswa si w ap kouri l 'sou anviwònman dev lokal yo, pwodiksyon ou anviwònman, Platfòm ou oswa egzamen an. Pa gen pwoblèm sa kache enfrastrikti ki gen la, ou te gen yon fonksyonèl app ap travay. Se konsa, sa a, se ekzakteman ki sa fondamantalman resipyan fè pwoblèm sa a. Yo adrese li pa anbalaj l 'nan fason sa yo ke li ka garanti ke li nan deplwaye avèk siksè pa gen pwoblèm kote li ap viv. Se konsa, si w ap ale tankou, Bob li la toujou OK. Si w ap konfonn ak sa m ap di: Mwen pral yo dwe élaborer sou sa. Se konsa, kouman fè Koupre tèt li anfòm nan foto sa a? Se konsa, Koupre se yon platfòm louvri fasil, mete aksan sou fasil, yo bati kannòt la, kouri, ki lejè pòtab pwòp tèt ou ase resipyan app nenpòt kote. Se konsa, si ou pran yon bagay nan men sa a pale, tanpri pran sa ki annapre yo. Si ou gen kouri app ou lokalman epi ou devlope li nan lè l sèvi avèk platfòm la Koupre, atann li yo dwe avèk siksè deplwaye. Pa gen pwoblèm ki sa ki nan kache enfrastrikti. Se konsa, si ou gen yon Koupre veso ak li a ap travay, lè sa a osi lontan ke gen nan yon Koupre motè sou lòt side-- nan si enfrastrikti operasyon ou ap itilize ap itilize nenpòt Cloud, si li se AWS, oswa Google la, oswa Microsoft, oswa nenpòt nan nyaj yo piblik, oswa Cloud pwòp ou a, oswa chemine louvri ou Cloud, oswa anviwònman lokal ou a. Si ou gen yon motè kouri, sa vle di li nan pral fè avèk siksè deplwaye a. Li k ap pase yo dwe kouri egzakteman konpòtman an menm jan ou architected li nan dwe. Se konsa, si nou gade at-- mwen pral yo ale nan sa ki aktyèlman se nan eleman prensipal yo nan Koupre. Se konsa, Engine se nan nwayo a nan Koupre. Li se nan la nan sèvo. Li orkèstr bilding, anbake, ak deplwaye ak jere resipyan yo tèt yo. Mwen pral fouye nan sa ki fè sa ki Engine nan plis detay nan yon dezyèm fwa. Fondamantalman, paske Doktè te bati alantou architectures yo sèvè kliyan, se konsa yo nan lòd yo kominike avèk la Engine ou bezwen kèk sòt de yon kliyan. Imaj yo modèl yo nan ki resipyan yo bati soti nan. Se konsa, imaj yo fondamantalman dosye jis estatik. Templates ak kontenè se aktyèlman sa ki nan ap kouri nan ègzekutabl ki la ap ofri sèvis aplikasyon w lan oubyen w ap fè yon bagay ki gen done yo. Se Rejis adrese kòm yon pwoblèm nan ki jan ou aktyèlman distribye imaj. Se konsa, si ou bezwen yo pataje yon imaj ki ou te travay sou li nan yon kolèg ou oswa nan ekip la OPS, ou sèvi ak li lè l sèvi avèk Rejis. Ou ka telechaje yon sous louvri vèsyon nan li ki te travay sou Koupre ak louvri souse. Oswa ou ka sèvi ak Koupre èd, ki se vèsyon an Cloud pouse e ki rale imaj yo deyò. Sa se yon bagay gwo. Paske gen nan yon gwo ekosistèm alantou Koupre ak li a reyèlman lou itilize mwaye a. Se konsa, yo rezime isit la, sa a se ki jan nan minimalist Koupre workflow kliyan. Ou interagir ak lame a, nan ka sa a li nan processus yo Koupre. Li nan menm bagay la kòm Engine. Ou fè kòmandman tankou Koupre bati, rale, kouri. Ak motè a li menm ale ak fè bagay sa yo. Se konsa, swa li reyaji ak Rejis ki rale imaj moun ak kouch yo nan imaj yo. Si si ou vle deplwaye, kouri resipyan, touye yo, jete yo desann, etajèr. Se konsa, sa rezime workflow la nan tout nan eleman sa yo. Se konsa, si ou pran chak eleman pou kont li. Se konsa, Engine, li nan jis yon saten. Li pral kalite jwe li sipòte l 'sou Linux paske li fè sa mande pou sèten karakteristik Linux Kernel. Men, Windows ap travay sou fè menm bagay la. Li nan sipoze ap sipòte pa Windows Server 2016. Se konsa, ankò, responsablite yo ak nan motè se, oswa yo dwe, bati imaj. Rale imaj ki soti nan Koupre nan Hub oswa Rejis pwòp ou yo. Si w ap fè ak imaj sa yo oswa ou kreye yon imaj nouvo, ou ka pouse moun tounen nan rejis yo distribye yo nan lòt ekip. Ak ap eseye gen li lokalman ak jere sik la lavi resipyan lokalman. Li se bati toutotou HTTP REST API. Se konsa, teknikman ou kapab ekri kliyan pwòp ou a osi lontan ke li sèvi ak HTTP, ki se yon trè estanda mekanis pou pale ak Engine ak yon anpil nan lòt sèvis. Epi ou ka wè ki soti nan isit la ke kèlkeswa nan sa ki enfrastrikti nan se, osi lontan ke ou can-- tout sa ou bezwen se yon opere sistèm, Linux espesyalman. Apre sa, ou ka enstale Koupre Engine Sou tèt de sa epi yo gen li kouri epi li orkèstr, fondamantalman, tout bagay sa yo app yon sèl, de, ak twa yo se resipyan vrè. Se konsa, sa a, se Engine. Kòm mwen mansyone pi bonè paske ou bezwen kominike avèk Engine, gen nan kliyan an. Men, aktyèlman lè ou enstale Koupre, li bato ak li. Se konsa, li vin enstale, se konsa li nan yon binè sèl. Epi ou ka fè apèl lokal Koupre Engine ou yo. Ou apèl a distans nan Engines aleka. Li sèvi ak HTTP, kòm Mwen mansyone pi bonè. Genyen yon kliyan entèfas rele Kitematic soti nan Koupre. Apre sa, yo definitivman yon anpil nan lòt jan ki ap bati yon anpil nan GUIs ki fondamantalman aplike kèk HTTP rele pou pale ak Engine. Jis kèk echantiyon kòmandman. Si ou fè sa Koupre vèsyon, li ta montre w vèsyon an kliyan osi byen ke vèsyon an sèvè. Si ou fè sa Koupre info li pral di ou tout enfòmasyon ki sou jan anpil kontenè ap kouri oswa kreye, konbyen imaj ou genyen, ak sou sa ak sou sa. Men mwen gen, nan pwochen an bwat dènye a, Mwen gen Doktè kouri. Se konsa, lè sa a jan mwen se aktyèlman kreye veso. Apre sa, mwen bay li repete Alo Mondyal ak dòmi pou yon dezyèm ak etajèr. Epi ou ka wè nan rezilta. Se konsa, li san rete. Apre sa, menm jan ak Linux ps, ou ka wè tout pwosesis yo, epi, nan ka sa a, tout resipyan yo kouri. Refere li tounen yon sèl sa a nan veso a mwen jis kreye. Se konsa, sa a se vrèman enpòtan paske, tankou, li kapab yon ti jan konfizyon. Se konsa, imaj yo li-sèlman nan koleksyon nan dosye, dwa? Yo se sa ki veso nou an ki baze sou. Men, yo ap sèlman li-sèlman. Se konsa, ou kòmanse koupe ak yon imaj baz. Li gen tandans fè mime OS-tankou, se konsa Ubuntu, CentOS, imaj baz etajèr. Lè sa a, ou kòmanse bati sou tèt sa, sèten kouch, ki pral fè moute imaj fen ou, nan fen rezilta isit la. Epitou, chak nan sa yo kouch ta dwe gen yon imaj paran ke li referans lè li aktyèlman vle kreye. Yo se imuiabl, nan sans ke paske yo ap Read-Only, ou pa kapab aktyèlman fè chanjman nan yo. Ou ka sèvi ak yo yo kreye yon veso soti nan yon imaj, ki pral rele tout ki vin apre a imaj obligatwa anba li. Ou ka fè chanjman nan yon kouch diferan, li nan yon kouch reyekri mwen pral pale sou nan yon dezyèm fwa. Men, chak nan sa yo kouch pa janm yo chanje. Fondamantalman imaj sèvi ak yon bagay rele Inyon File System, uf. E genyen anpil diferan depo backends ki itilize teknoloji sa a. Ak sa ki sa vle di se ke li pote ansanm sistèm dosye distenk fè yo gade tankou yon sèl. Se konsa, ou kapab aktyèlman, ki soti nan yon pèspektiv aplikasyon an, ou gen yon tèt yon View ki montre tout sistèm nan dosye diferan bezwen pou sa aplikasyon nan kouri. Men, yo ap aktyèlman, sou sa a, yo ap aktyèlman nan tout tanp zidòl ki apa a epi yo te itilize pa lòt resipyan kòm byen. Se konsa, kòm ou ka wè nan isit la ke si nou kòmanse ak imaj saten kòm yon imaj baz, ak Lè sa a n 'al jwenn an epi ajoute [? emacs?] ak Lè sa a sa a, se yon lòt kouch. Lè sa a, ajoute Apache. Sa a yon lòt kouch. Lè sa a, nou depanse nan veso soti nan sa. Chak nan imaj sa yo, chak nan sa yo kouch, se distenk epi yo ka reyitilize pa lòt resipyan. Si ou gade nan resipyan tèt yo, yo ap yon jan kanmenm tankou VM-tankou, men se pa trete menm tan an. Se konsa, yo pa gen, teknikman, nan sistèm opere plen anba yo. Yo sèvi ak Kernel nan yon sèl nan sistèm nan fonksyone lame. Apre sa, yo bati sou tèt de sa. Yo imite nan ki jan yo gade. Yo imite dosye rasin yo sistèm nan sistèm nan fonksyone. Men, yo aktyèlman yo pa repwodui. Se konsa, olye pou yo gen kouch imuiabl, kouch ki sot pase a, ki se veso a tèt li, li nan yon kouch Read-ekri. Sa tou kouri pwosesis yo a aplikasyon w lan. Apre sa, li depann de kouch yo kache. Chak veso se kreye nan yon imaj. Epi sa imaj kapab yon sèl kouch oswa imaj multi. Apre sa, mwen vle sonje isit la ki Koupre lou itilize, oswa se ki baze sou Kopi-On-Ekri mekanis. Se konsa, ki, aktyèlman, si ou pa fè chanjman nan veso a, li pa pral pran espas siplemantè. Se konsa, sa a, se fondamantalman ki jan ou rezime yon Kopi-On-ekri. Li k ap pase yo definitivman pi vit tan an bòt pou veso a. Paske si ou pa ap fè chanjman nan veso a, li nan itilize sa ki nan deja la. Se konsa, li montre kouman li aktyèlman ap travay. Pati nan li a tankou, kounye a, li itilize omwen de kle Kernel karakteristik. Apre sa se fondamantalman sa kreye nivo sa a nan izolasyon pou resipyan yo tèt yo. Moun sa yo se karakteristik namèspas ak cgroups. Se konsa, namèspas se yon fason yo kreye resous izole, se konsa ke nan veso a tèt li, sèlman ou ka wè sèten resous. Tankou koòdone nan rezo oswa itilizatè yo sèten oswa etajèr. Ak moun ki yo, se sèlman vizib ak sèlman aksesib nan veso a. Cgroup sou limit yo bò lòt ki jan ou sèvi ak resous sa yo. CPU, memwa, ak ki gen kapasite. Lè ou ka ale nan, mwen vle di sa yo se aktyèlman karakteristik ki te devlope by-- yo ap yon pati nan Kernel a Linux. Se konsa, yo pa te reenvante pa oswa rkre pa Koupre. Koupre sèvi ak yo. Ki sa ki Doktè reyèlman te fè isit la se aktyèlman li Worcester Kreye namèspas pou chak veso ak kreye cgroups yo pou ke li nan ridikil fasil yo kreye resipyan lè l sèvi avèk karakteristik sa yo. Natirèlman, jan mwen dekri pi bonè, Inyon File Sistèm ak Kopi-On-Ekri se vre wi: ede vitès la ak ki gen kapasite a itilizasyon nan resipyan. Apre sa, yon fwa ou jwenn ou men alantou Koupre, w ap ale nan wè ki jan vit li se yo aktyèlman vire moute resipyan ak lans yo desann. Se konsa, si ou ta ka mande, ki jan yo kapab ou aktyèlman bati imaj? Nou bati imaj pa yon pwosesis pou kreye resipyan ak fè chanjman, chanje yo, li komèt yo an vin yon imaj. Se konsa, li nan yon poul ak referans ze isit la, paske tout resipyan vini soti nan imaj ak imaj vini soti nan komèt resipyan, pou pati ki pi. Gen twa opsyon yo kreye imaj. Mwen pral dekri premye a ak dènye. Ou kapab swa manyèlman ale epi kouri veso a ak fè chanjman sa yo, tankou ou ta fè sou nenpòt ki VM oswa nenpòt sistèm opere, tankou kòm enstale nouvo binèr, ajoute sistèm dosye, ak etajèr. Lè sa a, ou sòti, kòm ou ka wè moute a. Mwen kap sòti veso m 'yo. Lè sa a, m ap fè Koupre peche tou. Apre sa, mwen komèt sa. Ou ka wè ke nimewo a isit la se jis yon uwi, oswa 12 nan premye Bits nan uwi la. Ou bytes nan uwi la. Lè sa a, m ap rele li imaj m 'yo. Se konsa, kounye Koupre pran swen de anrejistreman tout bagay mwen te fè li ak kreye nouvo a imaj ki baze sou sa. Mwen pa pwal pale osijè tar, men gen nan yon fason ou kapab jwenn yon sèl, kreye yon sèl, oswa fè yon sèl kouch imaj lè l sèvi avèk tarballs. Ki sa ki mwen pral pale sou sa a ak sa k ap sitou itilize jodi a, se Dockerfile. Ki se teknikman premye a etap otomatik pa Koupre tèt li. Se konsa, yo se bagay Dockerfiles ke w ap pral wè nan yon anpil nan GitHub repos jodi a. Li nan fondamantalman jis yon dosye tèks dekri egzakteman ki jan yo bati yon imaj. Se pou chak liy, li aktyèlman kreye veso a, ègzekutra ki liy, komèt ki veso nan yon imaj nouvo, epi ou, fondamantalman, sèvi ak li pou tout operasyon ki vin apre jiskaske w jwenn nan imaj an dènye. Ki se fondamantalman an fini objektif isit la, nan fen an. Apre yo te fin ou exec-- apre ou ekri Dockerfile ou a, ki se piman nan tèks, ou fè yon Koupre konstwi e pou non an nan imaj la. Epi ou pwen nan ki se sa ki kote Dockerfile a se nan. Epi ou ka espere wè imaj mwen kòm yon imaj ke ou gen lokalman. Se konsa, sa a, se jis yon vizyèl egzanp nan sa ki ale sou. Ou kòmanse ak yon imaj baz. Ou kouri ki nan yon veso ki pa chanje imaj la baz tèt li. Men, olye pou kreye yon reyekri kouch sou tèt li kote ou fè chanjman yo, nan ki ou komèt epi ou repete pwosesis la jiskaske ou jwenn nan imaj final ou a. Ak nan fè sa, tout lòt bati pwosesis ka sèvi ak kouch yo menm ak same-- nan fondamantalman Koupre kachèt moun kouch. Se konsa, ke si m ap fè menm bagay la tou egzak pwosesis, men olye pou yo enstale PHP, Mwen enstale Piton. Li nan ale nan sèvi ak Apache ak Ubuntu. Se konsa, fason sa a ou ap itilize ki gen kapasite ou yo. Li nan itilize kachèt a ak imaj ki disponib la. Moso nan final la se Rejis, ki ki jan pou ou distribye imaj ou. Epi, menm jan mwen mansyone pi bonè, gen nan yon vèsyon Cloud nan li, ki se Koupre Hub. Ou ka ale ak eksplore yon anpil nan, fondamantalman li nan yon SAS piblik pwodwi ki ou ka toujou gen imaj prive, men gen nan yon anpil nan imaj piblik. Li nan aktyèlman san limit, ou kapab pouse imaj piblik san limit la. Lè sa a se ki jan ou kapab kolabore ak ekip ou. Ou ka jis pwen yo nan ou repo epi yo ka telechaje li oswa imaj ou epi yo ka telechaje li. Se konsa, ase ak pale la. Ki moun ki vle wè kèk Demonstrasyon reyèl rapid? Tout dwa. Se konsa, isit m 'genyen. Ca ou nèg wè ekran mwen an? Tout dwa. Se konsa, mwen gen Koupre kouri isit la, se konsa mwen ka tcheke it's-- Sa a se vèsyon an a Koupre ki nan kouri. Kapab fè Koupre enfòmasyon. Tcheke tout enfòmasyon sou ki jan anpil imaj yo gen, ak sou sa ak sou sa. Koupre PS, pa gen anyen kouri. Anchene sa yo. Se konsa, premye bagay la mwen vle fè se montre w kouman ou ka fasilman kouri nan yon veso. Se konsa, bote a sou Doktè kouri, si li aktyèlman pa jwenn yon imaj lokalman, pa default li pale ak Doktè Hub epi eseye jwenn li gen ak downloads li pou ou. Se konsa, li gen ladan yon Koupre rale lòd, natirèlman. Se konsa, mwen fè yon Koupre kouri, alo-mond si. Se konsa, premye li pral pou yo eseye jwenn li. Sinon, jan ou ka wè isit la, li pa t 'kapab jwenn li lokalman. Dwa koulye a li jis rale de kouch ki te fè ke imaj ak mwen kouri li. Alo-mond la se jis fondamantalman rezilta, ki sa ou te fè. Se konsa, sa a se pi fasil la, youn egzanp yo pi fasil. Se konsa, aktyèlman mwen jis kouri al sispann veso a reyèl rapid. Si m 'vle run-- ak nan chemen an, si Mwen vle tan sa, jis pou ou konnen, sa a se konbyen tan li pran yo aktyèlman vire leve, li gen ladan li. Nou ap mezire li nan milisgond. Se konsa, ou ka wè ki kantite sa a kapab aktyèlman ede ou pa sèlman nan tès, men tou, menm deplwaman. Se konsa, sa a, se yon nòt rapid sou sa. Bagay nan pwochen mwen se pral fè se aktyèlman kouri yon imaj mwen te deja prepare. Se konsa, Koupre kouri. -d se jis yon drapo di li nan kouri nan background nan. Apre sa, -p asiyen sèten pò. Paske pa default, nan resipyan yo izole, kidonk, ou gen presize egzakteman li montre kouman li ka jwenn aksè yo. Ak nan ka sa a, mwen di Koupre nan kat jeyografik yon pò o aza sou lame a nan yon pò espesifye nan veso a tèt li. Epi sa a, fondamantalman kote image-- nan èspere ke sa a se youn nan dwa. Se konsa, li fè sa downloads paralèl chak nan tout sa yo kouch jan ou ka wè isit la. Moun sa yo ki yo se nan kouch yo fè fen imaj la ke mwen bati. Li nan pral pran yon dezyèm fwa. Epi vwala. Se konsa, kounye si mwen fè yon ps Koupre, mwen ta dwe wè yon bagay ki ap kouri. Mwen ta dwe wè ID a, imaj la ke sa a li te baze koupe, ak yo lòd, ki ki te egzekite. Ak ki jan gen aksè a li se fondamantalman ou ale nan ki pò. Se konsa, mwen pral ale to-- sa a se mwen kouri l 'sou AWS. Mwen pral pou yo ale nan 32769. Wouch. Ak isit la nou ale. Se konsa, sa a se aktyèlman jis yon sèvis wèb ki montre ki veso li a ke yo te te sèvi nan. Se konsa, ou ka wè ke li se soti nan veso a9f. Ak isit la sa a se nan non nan veso a. Se konsa, ou nèg ka wè ki jan byen vit li te aktyèlman pa sèlman rale men tou, deplwaye veso sa a. Koulye a, pwochen etap la se yo gade nan Dockerfiles ak ki jan nou kapab aktyèlman bati imaj nouvo. Mwen jis ale nan ale jwenn script, se yon Egzanp Dockerfile ki baze sou pi bonè nan dyagram, yon sèl nan Apache ak PHP. Nou swete ke mwen sonje repo m 'yo. Se konsa, mwen gen repozitwa mwen kounye a. Apre sa, w ap ale nan wè sa a yon anpil aktyèlman. Mwen pa t 'enstale pyebwa. Se konsa, fondamantalman w ap ale nan wè ki jan dokiman kòd sous ou otou li, epi lè sa a yon Dockerfile sou Ki jan yo aktyèlman package li. Se konsa, li nan jis yon echantiyon PHP ki eko alo CS50. Se konsa, si mwen vle kouri li, Mwen pral fè Koupre bati. Mwen gen yo bati l 'premye. Mwen pral non li demo_cs50. Epi ou bezwen yon tag a li tou. Se konsa nou rele li V1 dot. Se konsa, jan mwen dekri pi bonè, sa m ap fè jodi a se mwen di Koupre yo ale pou sèvi that-- aktyèlman, regrèt, move m 'yo. Nou pa t 'pran yon gade a Dockerfile nan tèt li. Se konsa, bagay sa yo sèlman nan isit la yo se index.php osi byen ke dosye a radm ak yon Dockerfile. Se konsa, si ou pran yon gade nan Dockerfile a, se konsa li a trè menm jan ak sa Mwen dekri pi bonè. Se jis nan yon pakèt moun sou etap ki Koupre ègzekutra pa kreye ak chire desann resipyan ak [? konte?] yo nan yon imaj. Ak fondamantalman ou kapab see-- [fèbl] li isit lan-- men sa a se soti nan repo lokal la. Li k ap pase yo ale ak pwan index.php. Se konsa, sa a, se sèlman ki kòd la sous yo aktyèlman yon pati nan aplikasyon w lan. Tout bagay sa a yo fondamantalman opere sistèm plonbri, ap resevwa pakè yo dwa ak Apache, ak PHP, ak etajèr. Men, sa a se aktyèlman pran index.php ak komèt l 'nan veso a, nan imaj la. Se konsa, si ou ale pi devan epi kouri nan lòd pa fè sa ki annapre yo, li nan going-- aktyèlman, sa a ta ka pran yon ti jan. Nou swete ke li pa pran twò lontan. Se konsa, ou ka wè etap sa yo. Apre sa, mwen ankouraje w yo ale tounen lakay jodi a ak eseye li. Apre sa, Mano pral dekri ki jan egzakteman ou fè sa. Men, li la reyèlman gwo yo wè egzakteman sa k ap pase dèyè sèn nan. Men, li la ridikil fasil yo bati imaj, ak deplwaye yo lè l sèvi avèk Koupre. Li nan pran yon ti jan pi lontan pase mwen espere. Ann wè sa ki pase lè you-- refwadi. Se konsa, kòm ou ka wè, chak nan sa yo etap reprezante liy nan Dockerfile la. Apre sa, li montre isit la ke li avèk siksè bati imaj sa a. Se konsa, si m 'fè imaj Koupre, mwen pral wè tout imaj yo ke mwen gen lokalman. Yonn ladan yo te rele m ' non itilizatè, ak non an nan imaj la, ak representing-- nan tag sitou li nan yon tag vèsyon. Se konsa, kounye si mwen vle kouri li, m 'fè Koupre kouri. Apre sa, mwen jis vle fè yon -P -d. Èske v1. Se konsa, mwen ka wè kounye a ke mwen gen de resipyan kouri, yon sèl la ki mwen jis kreye epi alo nan Koupre youn ki mwen te resevwa sot pase yo. Epi ou ka wè isit la ke li asiyen li yon pò diferan. Se konsa, si m 'ale nan menm IP la, men bay li yon port-- diferan èspere ke mwen pa t '. Se konsa, kounye a sa a se aplikasyon ke mwen jis deplwaye. Si m 'vle fè chanjman, mwen ka byen vit edite kòd la sous ak fè sa ki annapre yo. Se pou yo fè alo Harvard. Se konsa, kounye sa k ap pase rive se ke mwen se ale nan tag l 'ak yon diferan version-- oh, pa sa a nèg-tag li ak yon vèsyon diferan. Apre sa, w ap ale nan see-- fè ou nèg atann li pran menm kantite lajan an nan tan bati l 'yon dezyèm fwa oswa ou pa? Tout dwa, ak nenpòt moun ki konnen poukisa? Pale yo. ODYANS: [fèbl] Nicola KABAR: Se fondamantalman nou sèlman chanje youn nan etap sa yo pita. Se poutèt sa li a pral sèvi ak nan kachèt epi sèvi ak chak nan sa yo kouch. Epi sa a, se vre wi: kèk nan la karakteristik asasen nan Koupre se ki jan li aktyèlman itilize ak reutiliz pran sou ki gen kapasite ou pou menm bagay la moso egzak la enfòmasyon. Se konsa, si nou fè menm bagay la, li te pran jis yon segonn koup. Si nou vle redeploy-- se konsa kounye a Mwen ta dwe gen twa resipyan. Men, se yon sèl sa a ke yo te te sèvi sou sèt youn the--. Se konsa, kounye a li nan veso a twazyèm. Tout moun konprann ki sa mwen jis te fè isit la? Se konsa, kounye si ou vle pataje sa a veso reyèl rapid ak zanmi ou, ou ka jis fè Koupre pouse nan non nan veso a, èspere ke. Se konsa, kounye a li k ap pase yo pouse li to-- Mwen pa siyen nan isit la. Regrèt sou sa. Men, mwen pa pwal rézoudr sa a kounye a. Men, fondamantalman ke youn lòd se jis ap moute pouse li. Apre sa, w ap ale pou kapab wè li si ou ale nan Koupre Hub Epi ou ouvri sesyon an, w ap ale pou kapab wè li. Lè sa a, ou ka jis pwen moun ki va ki pral yo sèvi ak ke imaj yo ale ak rale li. Apre sa, yo ka sèvi ak li. Avèk ki, èspere ke Mwen kalite demontre ki jan fasil li se yo travay avèk Koupre. Apre sa, mwen jis ale nan bay li tounen nan Mano. Apre sa, li k ap pase pran li soti isit la. MANO MARKS: Tout dwa mèsi, mèsi Nico. Kisa? Se konsa, youn nan bagay ki mwen te vle fè se mete tèt yo ansanm poukisa sa a se yon important-- poukisa Koupre e poukisa resipyan yo tankou yon devlopman enpòtan nouvo, yon nouvo fason pou aktyèlman fè lojisyèl. Epi anvan m 'fè, mwen pral jis entwodui yon stats kèk. Mwen pa pral li tout moun sa yo. Men, sa a montre ou yon anpil sou ki jan popilè sa a se nan kominote a. Nwayo Koupre teknoloji yo yo se sous louvri. Se konsa, sa a, se Koupre Engine, konpoze, Swarm, se yon pakèt moun sou lòt bagay se tout sous louvri. Epi nou gen, ki sa mwen te fè di, 1,300 kontribye. Ou ap wè kounye a, si ou gade nan nan kantite opòtinite pou jwenn travay, ki dènye fwa nou gade, li te sou 43,000 travay ouvèti espesyalman mansyone abitye avèk Koupre. Dè santèn de dè milyon de imaj gen te telechaje soti nan Koupre Hub. Epi, byen, pi plis gwo stats. Pou moun ki kirye, li te orijinèlman ekri nan Piton ak Lè sa a reekri nan Ale. Apre sa, li nan sèlman te louvri source-- li a sèlman te lage pou apeprè 2 ak 1/2 ane, ki vle di ke nan 2 ak 1/2 ane, nou te wè yon kantite fòmidab nan kwasans ak enpòtans nan sa a nan kominote a. Se konsa, mwen vle pale yon ti kras sou poukisa. Se konsa, jis yo repete kèk nan Pwen kle Nico a, Koupre se vit. Li se pòtab. Li se reproductibles. Epi, se kouche moute yon anviwònman estanda. Apre sa, what-- sa a se vye m ' koupon pou soti monolit slide-- sa li nan ede moun fè, ki yon anpil nan endistri a lojisyèl te kòmanse fè nan la 2000s bonè, ap deplase soti nan sa yo monolitik aplikasyon sèl kote chak depandans te dwe teste anvan app a tout antye te gen yo dwe deplwaye, ki te kapab vle di yon sit entènèt te resevwa sèlman yon fwa deplwaye chak twa mwa, oswa plis, nan yon sèvis pi plis oryante Achitekti oswa kalite componentized diferan nan achitekti aplikasyon. Se konsa, sa ki pèmèt sa yo kalite architectures ki pran avantaj de Koupre nan kouri nan sa yo twa direktè lekòl la nan zòn devlopman, ki Se devlopman ekri kòd aktyèl ou, tès kòd ou a, ak deplwaye li. Se konsa, poukisa se sa a enpòtan? Si w ap a-- kite m 'bay yon egzanp. Si ou se yon sit entènèt pwomotè aparèy, w ap devlope yon sit entènèt ki baze sou la a baz done ki David pwodwi sou isit la. Padon David, mwen rele ou deyò. Si ou te vle deplwaye tout bagay la, ou ta oblije rete tann anba yon tradisyonèl monolitik devlopman lojisyèl anviwònman, ou ta oblije rete tann jouk li te fè ak baz done a anvan ou te kapab aktyèlman fè nenpòt ki chanjman nan sit entènèt ou. Ou ta gen yo transfere nan tout aplikasyon yo fè sa. Ak sa ki Koupre ede ou fè se chak moun travay sou diferan eleman epi mete ajou yo jan yo ale, jis fè asire w ke interfaces yo rete menm bagay la. Se konsa, sa li te fè se li nan deplase moun ki nan fè sa yo masiv monolitik architected lojisyèl ki deplwaye chak mwa nan yon kontinyèl entegrasyon ak devlopman kontinyèl anviwònman. Koulye a, sa a se pa inik nan Koupre, men Koupre fè li tèlman pi fasil, ki vle di w ap fondamantalman toujou ap deplwaye. Nou pale ak antrepriz ki deplwaye aplikasyon fè fas a piblik dè milye de fwa nan yon jounen paske yo wè valè a nan jis fè chanjman piti, ak osi lontan kòm li kouri nan tès yo, kite l 'al deyò nan pwodiksyon an. Nico te toujou di m ' pi bonè ke nan anpil anviwonman, sik la lavi estanda nan yon se veso mezire an segonn, Lè nou konsidere ke yon machin vityèl ta ka mezire nan mwa. Mwen te vle pran yon ti tay vire isit la paske mwen se nan yon enstitisyon edikasyon. Mwen te vle bay yon egzanp sou kouman sa a ap travay nan yon rechèch edikasyon sitiyasyon. Se konsa, gen nan yon òganizasyon rele bioboxes. Bioboxes fè ADN analiz pou chèchè. Kounye a ki sa yo jwenn te ke lè yon researcher-- e sa se pa fay la nan nenpòt ki patikilye researcher-- men lè yon chèchè deplwaye yon algorithm yo analize, Nan yon fason patikilye, yon echantiyon ADN, yo ta ekri lojisyèl an, pibliye sa, petèt GitHub oswa yon lòt kote, ak Lè sa a yo te fè. Oke pwoblèm nan te ke li pa t 'nesesèman reproductibles. Paske yo nan lòd yo konprann lojisyèl an, yo ta dwe mete kanpe pou nan egzak anviwònman devlopman ke ki chèchè itilize, anjeneral laptop yo, oswa yon sèvè, oswa yon done sant ke yo te lè l sèvi avèk. Ak kontinwe, li te trè difisil yo repwodui rezilta rechèch lè analize echantiyon ADN yo gade a bagay sa yo tankou incidence-- konpare ensidans nan atak kè ki baze sou sèten jèn yo te prezan, pou egzanp, oswa risk kansè, oswa nenpòt nan kalite sa yo lòt kote nan bagay sa yo. Se konsa, sa yo te fè olye pou te yo te kòmanse kreye resipyan. Apre sa, ou ka ale nan bioboxes.org, li nan yon òganizasyon gwo. Ak sa yo fè se yo pwodwi resipyan ki baze sou rechèch. Lè sa a, chak fwa yon moun voye nan echantiyon yo, yo ka kouri li. Epi, se te gen tout anviwònman an bezwen nan kouri ki algorithm epi ki pwodui rezilta yo. Apre sa, yo ap jwenn ke yo ap pi plis chans ak plis pi vit kapab retounen rezilta bay moun. Ak an reyalite, sa moun ap fè se kouri analiz pwòp yo sou ADN, voye ki nan nan bioboxes, ak Lè sa a, jis pran biobox done yo, kouri li kont varyete nan resipyan nan diferan wè rezilta diferan ki baze sou diferan rechèch. Se konsa, li nan yon trè pwisan fason nan ki chèchè ka fè yon egzanp sèl ki pèmèt lòt moun eseye ak repwodui rezilta yo. Se konsa, kouman ou jwenn te kòmanse? Nou ap byen sipòte sou Linux. Se konsa, si ou vle enstale anyen sou Linux, ou itilize estanda ou manadjè pake yo enstale. Si w ap itilize yon dbyan, li nan jis jwenn. CentOS se Yum. Fedora Hat se Wouj rpm-- Mwen pa sonje. De tout fason, li nan tout la. Nou sipòte yon gwo varyete nan Linux distribisyon. Ou ka tcheke sa yo deyò. Nou genyen tou opsyon pou ou te kapab kouri sou Mac oswa fenèt yo. Koulye a, Nico mansyone pi bonè ki li te sèlman sipòte sou Linux. Sa a vre paske li bezwen yon Kernel Linux. Men, ou ka kouri nan yon machin vityèl. Ak sa ki Koupre Toolbox a fè sa, kote ou ka download, li ba ou ke machin vityèl. Se konsa, jis yon rapid 48 dezyèm lan, mwen panse, download. Ou jis rechèch sou Koupre Toolbox, download li nan Mac a, ak yon pati nan sa a se kou akselere moute paske ki vle gade yon siyal download? Standard Mac enstalasyon, ak Lè sa a ou se pral wè Jerome mete nan modpas l 'yo. Sa a trè enteresan. Lè sa a, li enstale yon pakèt antye nan zouti. Apre sa, li pral patikilyèman enstale yon liy lòd. Lè sa a, ou te kapab wè Jerome tès imaj l 'yo. Lè sa a, ki baze sou sa a, ou ka wè ke YouTube panse ke Nico ki enterese nan Star Lagè, Montre nan Jimmy Kimmel, e mwen panse Ellen. Mwen panse ke yon sèl pase a se yon clip soti nan yon montre Ellen. Se konsa, menm si vini Koupre Toolbox ki gen plis pase jis machin Koupre. Se konsa, Koupre machin se bagay la ki ede ou mete kanpe yon vityèl machin sou Windows ou a oswa Mac-- bwat fenèt ou a oswa Mac ou box-- yo epi li ede ou fè du, Men, li tou vini ak Swarm ak konpoze, ki fè yo ki fèt ede ou fè gwo echèl deplwaman nan aplikasyon w lan. Se konsa, si ou vle jere grap nœuds, grap nan resipyan, Konpoze ak Swarm se yon fason a ale sou sa. Ak nan kou li vini ak Koupre Engine ak Kitematic, ki se sa a entèfas Desktop. Mwen ta dwe tou mansyone Koupre Rejis, ki pa enkli nan Toolbox, men li se yon fason pou ou pou w kouri pwòp ou a Rejis nan Koupre Imaj tankou Koupre Mwaye, men ou ka tou jis itilize Koupre Hub kòm yon fason yo fè sa. Epi, trase atè ou ta di, ou ap wè li kouri nan yon veso. Epi sa a, ki jan nou ap distribye glisad nou an. Prezantasyon sa a antye se aktyèlman yon pil HTML glise. Apre sa, li ap kouri nan yon veso, ki ou ka jwenn by-- Nicola KABAR: Wi, se konsa li a kouri plen tan sou Max m 'yo. Apre sa, mwen prezante soti nan li. Epi ou jis fè Koupre apre ou enstale Toolbox ou yo. Ou ka jis fè yon Koupre kouri epi pou yo jwenn li, epi sèvi ak glisad yo. MANO mak: Epi sa a, li. Se konsa, nou di ou mèsi tout pou vini yo. Apre sa, nou ap kontan reponn kesyon. Mwen ta dwe mansyone anvan okenn moun kite gen T-shirts sou la. Padon okenn moun ki ap gade sa a sou Livestream oswa videyo, men nou gen Koupre T-shirts sou la. E nou konnen Koupre elèv yo, ak nan eksperyans mwen, pwofesè tou, tankou rad gratis. Se konsa, di ou mèsi tout pou vini soti. Epi swiv nou sou Twitter si ou vle, oswa pa fè sa. Mwen pa pran swen. Epitou swiv Koupre sou Twitter. Sa a tou enteresan. Lè sa a, sa a, se li. Docker.com. Mèsi. [Aplodisman]