
quindi il mio nome è Steve Smith di atlassian
questo non è particolarmente importante
anche se toccherò alcuni dei nostri
roba verso la fine questo è davvero
sul nostro viaggio interno verso
implementazione continua e davvero su
sai che questa non è una teoria, questo è
questa è la pratica è così che abbiamo ottenuto
un sistema di ordine miliardo di dollari nel
dichiariamo dove siamo una distribuzione continua
schierato e come lo facciamo effettivamente
ai dadi e ai bulloni di livello basso in modo che
il mio background è che ero meno ian era finita
da più di nove anni ero l’originale
il sysadmin in compagnia mi è stato poi spostato
nel team dei sistemi interni che
costruito il sistema di ordinazione e ora lavoro
con l’Europa che lavora allo sviluppatore
advocacy che è in parte sviluppo
in parte dire cose interessanti come questo
mangiare grandi pranzi e prendere birra gratis
nei pomeriggi quindi lo sfondo per
questo è ho pensato che questo è un
sistema di ordinazione da miliardi di dollari ora
quello è in gran parte solo un gancio per farti entrare
qui e sembra funzionare abbastanza bene noi
arriverà a un miliardo di dollari non lo è
quello che pensi sia bene non lo è
non bello come avere un miliardo di dollari
comunque questo è l’ordine di Lassen
sistema è come se tu abbia mai comprato
jira confluisce in tutti i nostri strumenti questo è
quello che probabilmente interagisci con I am
sinceramente dispiaciuto, ho costruito un sacco di questo in
molto è un po ‘ goffo in un po’
lento è un motivo per cui è lento
ora ha una password da miliardi di dollari
lo sfondo di questo è che abbiamo costruito il nostro
proprio sistema di ordinazione questo è uno di quelli
cose che dicono per ragioni storiche
che è davvero una frase fredda per questo
sembrava una buona idea alla volta e
ora sono un po ‘bloccati con esso
sistema di ordinazione è stato costruito perché
nulla ha davvero eguagliato la nostra attività
modello al momento atlassiano al momento
era piuttosto un modello di business unico noi
non ha costruito il suo sistema di ordinazione
prendi molto tempo e questo tipo di palle di neve
da lì ad ora è come uno dei
i sistemi più critici in azienda e
è un po ‘fuori controllo ma
funziona davvero sorprendentemente bene
questo è ciò che sembra un miliardo di dollari
mi piace sorprendentemente bene
sbalorditivo quando vai e Google per questo
su Internet
Mi piacerebbe averlo ma non è abbastanza
il caveau della banca mi aspetto che andasse
essere così un miliardo di dollari quando parlo
di questo non è un miliardo di dollari in
La fatturazione del conto bancario in Alaska passa
attraverso di esso, ma alcuni di questi sono del testo alcuni
dei suoi rimborsi alcune delle sue valutazioni
vengono restituiti tutti i tipi di cose vanno
indietro così avanti ma non importa
i soldi arrivano e il denaro esce solo
come particolare importante quando hai
requisiti normativi e ti aspetto
per rendere tutto ciò che si aggiunge alla fine di
il giorno in modo che il miliardo di dollari tutto il
sistema è quanto passaggio che
sistema e ho appena scoperto che da
incidente perché sto tagliando alcuni
problema con il sistema e ha fatto un po ‘
alcuni sul tavolo e realizziamo noi
in pratica ho appena superato un miliardo di dollari
questo è circa un anno e mezzo fa ora
quindi in realtà starò bene ora
non significa che chiederà che ha un miliardo
dollari nel conto bancario o altro
così è solo un piccolo indicatore
del Creatore quanto è critico questo sistema
è diventato così perché a questo punto a
fallimento del nostro sistema è un fallimento di
il tempo di fermo dell’attività per questo è ora
tempi morti critici questo significa scotton
Mike i fondatori arrivano e respirano
il mio collo personalmente o l’ho fatto fuori
squadra ora e ora mangio grande grande grande
pranzi che è abbastanza carino quindi questo è un
storia di come abbiamo provato a fare questo a
un po ‘più robusto ma anche a quel tempo
usa la consegna continua per farlo
implementazione continua perché non lo è
così diventa meno che agile
diventa una sorta di fragile diventa un po ‘
sai come quell’albero è vecchio
cool, ma funziona anche ma è così
anche tu conosci una serie di problemi quindi in a
il business sta crescendo, una lezione sta crescendo
e voglio continuare a crescere deve essere
agile e doveva essere in grado di adattarsi a
cambiare le condizioni del mercato nuovo
concorrenti nuovi prodotti che entrano nel nostro
nuovi prodotti del team che entrano
altre società adolescenti abbiamo bisogno di reagire
e dobbiamo essere agili, abbiamo bisogno di essere
in grado di cambiare i prezzi per essere in grado di
cambiare i prodotti abbastanza rapidamente e
rilasciali molto velocemente ma a questo
puntare il sistema diventa un po ‘
monolitico ed era molto, molto, molto, molto
Rilascio difficile a radici quando iniziamo il
squadra è lo sviluppo di due persone
ora è qualcosa come 40 o 60 persone
su quella squadra e in modo che il tasso di
lo sviluppo può aumentare ma quello era
causando più problemi da introdurre
come siamo cresciuti
quindi una cosa da fare è proprio spezzarla
in piccoli servizi che volevamo aggiungere
nuovi modelli di prezzi ecc ecc ma eravamo
fare almeno una volta alla settimana il che significa
che ogni versione stava diventando più e
più modifiche in esso che significava il
possibilità di causare qualsiasi rilascio
le rotture erano piuttosto alte quindi la decisione
è stato fatto che saremmo andati verso un
modello continuo ora diciamo continuo
spiegamento e parlerò di ciò
significa davvero, ma davvero è circa
ottenere cambiamenti là fuori molto più velocemente
ma ancora più importante in pezzi più piccoli
i pezzi più piccoli che si ottiene là fuori
più controllo hai su un dato
rottura è più facile da identificare
e parlerò di alcuni dei benefici
di loro questo modello in un’offerta quando io
definirlo e parlare di alcuni dei
stakeholder e sai cosa sta succedendo
su questo sarà chiaramente difficile
problema stiamo prendendo un monolitico o
vicino a un sistema monolitico è stato costruito
per circa otto anni e girandolo
in qualcosa che è un essere continuo
distribuito e distribuito più volte a
giorno e sarebbe stato difficile ma giusto
perché qualcosa è difficile non significa
non dovresti farlo in effetti se è difficile
farlo più spesso che è uno dei
idee dietro la distribuzione continua a
buona integrazione e davvero
continua tutto e si agita così
abbiamo preso su mi è stato dato il lavoro di
facendo questo perché io il sysadmin e
sviluppatore quindi ero come Steve devi
sai di questa roba, vai merda
e così l’abbiamo preso con me e pagato con
uno della squadra di sysadmin e noi
Fondamentalmente deciso che funziona come
toppa questo e poi come mai siamo venuti
a mettere sempre più persone a
ottenere questo fatto, ma questo è il tipo di
la meta-foto farà più approfondire
alcune delle idee lì dentro mentre procedo
ma cominciamo dall’inizio
inizia con un’idea di ciò che è continuo
tutto era consegne continue
distribuzione continua così mio zio lavora
è un consulente per il tipo di top
Ristoranti di Londra e gli ho chiesto come
spesso voi ragazzi consegnate che ho
curiosità intorno a questo quanti inferno come
molti pasti fai quante coperte
lo chiamano muto e qualcuno qualcuno
sedersi insieme in un luogo di servizio e
nutrire cibo quante coperture copre a
il ristorante moderatamente occupato farà 150
a 200 coperti al giorno e siamo carine
compiaciuta che facciamo
stiamo consegnando come forse due volte al giorno
quindi questo è in realtà come funziona il mondo
la maggior parte dei posti fornisce continuamente la maggior parte
le signore che lavoravano appena in tempo fecero tutto
questi cuochi stanno cooperando
urlando l’un l’altro i pesi sono
gridando al maitre d maitre d
gridando ai camerieri sono gli chef
gridando nel maitre, ma lo sono
comunicando che ottengo il lavoro
fatto e lo stanno facendo farlo in a
modo trasparente per le persone
il pavimento che mangia solo questo cibo
quindi questo è il normale pensiamo di essere
abbastanza intelligente quindi non ci sarebbe
niente di speciale su ciò che stiamo facendo
in molti modi abbiamo solo bisogno di aggiustare il nostro
le aspettative e il modo in cui lavoriamo così
rivediamo un po ‘di quello che siamo noi
stavamo parlando di quando sarà il mio
implementazione continua o continua
tutto il riassunto veloce perché loro
sono importanti perché quando si dovrebbe
guarda loro insieme tutte le idee
dietro di esso insieme inizia un modello
emergere così all’inizio c’era
integrazione continua ben prima
dove c’era la programmazione estrema a
la programmazione dello stream provo ha fatto qualcosa
che il tempo era piuttosto radicale che
era dire che costruiamo un software ogni
questo giorno era come questo era 10 anni 15
anni fa questo non era molto lontano fa con
la gente ha letteralmente lavorato per nove mesi
e poi ha fatto una build alla fine e
realizzato nessuno dei compilatori ha funzionato
insieme e trascorrere i prossimi tre mesi
cercando di portare la cosa in uno stato
dove alla fine saprai rilasciarlo
l’idea che avrebbe costruito un software
ogni giorno sono nuovi giorni prima di noi
sviluppo basato sui test o anche l’idea
di test è stata un’idea abbastanza radicale
questo è intorno ai primi giorni di unità j ma
l’idea che tu lo faccia davvero
continuamente era una nuova idea, naturalmente
al giorno d’oggi non stiamo parlando di una volta a
giorno idealmente stiamo parlando di noi
fai una build su un test su ogni commit e
faremo anche una build e test su ogni
commettere su ogni ramo che è attivo
attualmente e quando dico test sono
parlando del rilascio completo dolce questo
potrebbe richiedere fino a un’ora per eseguire noi
essere paralizzato piuttosto un sacco di alte mode
Matt giù parecchio buttando un sacco
più hardware e in realtà istanze AWS
al problema ma facciamo tutto noi
costruisci sempre tutto ciò che abbiamo sempre
prova tutto perché se c’è un
problema introdotto nel sistema
vogliamo scoprirlo non appena
possibile prima che effettivamente lo trasformiamo
una versione e ti mostrerò come quando
lo facciamo sempre un po ‘come
bene così da lì hai continuato
consegna in consegna continua è un
cambiamento incrementale davanti ma oltre
ciò che è a dire che se sei
eseguendo tutti questi test tutto il tempo e
inizi a fidarti del tuo test e di te
avere un impegno a non girare mai il
sistema in uno stato in cui non può essere
rilasciato allora questo è un obiettivo in sé
non significa in realtà fare la consegna
tutto il tempo cosa significa è che siamo
andando a mantenere il nostro albero nello stato che
non è rotto in nessun punto e qualcuno
è uscito ora che vai bene, possiamo fare
fai così sta passando il test se lo è
passando il test allora abbiamo ottenuto un massimo
grado di fiducia che è pronto ad andare
fuori così dire che non significa in realtà
facendo così ma il suo impegno a non farlo mai
questo rompe i sistemi
in realtà un’idea abbastanza nuova è stata abbastanza
difficile da fare fino a poco tempo fa
porta in DV CSS o conosci moderno
sistemi di controllo versione dove è possibile
avere molto più isolamento tra i flussi
di nuovo lavoro ti mostrerò un po ‘di
come facciamo come lo facciamo e come usiamo il
modello di sviluppo ma questo è davvero
sto solo dicendo che non ti vogliamo
mai stato messo il tuo ramo di rilascio principale
in uno stato in cui è rotto sei
non avrò mai una funzione semi-costruita
ti fonderai solo in quello
ramo principale ciò che è pronto ad uscire così
da lì ovviamente il passo successivo è
bene se possiamo farlo abbiamo paura eticamente
potrebbe fare un sacco di rilascio in qualsiasi momento
perché non ora noi quanto spesso quel rilascio
si verifica e quanto hanno cambiamenti più grandi
sono in quelle versioni interamente fino al
organizzazione quali sono i tuoi obiettivi ma i nostri
l’obiettivo finale è che non sono così completo
c’è ancora da essere, ma ogni uscita
ogni caratteristica unica che viene unita
con risultati in una versione è molto
potente idea suona piuttosto estremo
ma in realtà è un enorme miglioramento
oltre il normale modo di fare le cose
perché ti dà molto di più
controllo a grana fine su cosa sta succedendo
anche questo ti dà molto di più
funzionalità di debug su Bloodsucker
quello tra un po ‘ma il tema che corre
attraverso tutti questi è su cosa
la qualità è un impegno
avere test ed in particolare è
un impegno per avere test automatici
se puoi sostanzialmente premere un pulsante e
allora vai ho un alto grado di
fiducia in ciò che verrà
fuori da questo processo non sarà rotto
sarà relativamente caratteristica completa essere
qualcosa che non sarò
ti vergogni di buttarti fuori sei carino
molto pronto per andare dire di questo
la qualità al suo interno c’è anche il
domanda in una domanda molto ragionevole
del perché preoccuparsi del tutto posso solo se lo farà
ogni organizzazione ha i propri obiettivi
e requisiti e driver aziendali
e tutto il resto quindi ci sarà
motivi diversi che posso semplicemente darti
la nostra e loro erano chiari per noi è
importante avere una chiara idea del perché
lo stai facendo per fortuna che non è troppo
difficile da fare perché troverai persone
respingi e parlerò di questo come
bene ma la ragione principale per noi che vogliamo
per rilasciare funzionalità non discarica ciò che era
accadendo era una volta alla settimana che eravamo
scaricare tutto ciò che era pronto per andare a
quel punto ora che significava che tu fossi molto
piccolo mazzo di modifiche un piccolo schema
cambiare un po ‘di ottimizzazione o potrebbe
essere una caratteristica enorme di un sacco di
le cose sono andate a finire in flusso di lavoro
modelli di prezzi nuovi prodotti che conosci
nuovo sistema di emailing potremmo andare tutti
fuori e abbiamo avuto un controllo reale su questo
perché avevo solo una finestra da fare
quello che è stato lunedì è in Australia
così che era in realtà il nostro solo il tempo di
avere dei veri tempi di inattività l’altro
la ragione era l’automazione se qualcosa è
difficile da fare è probabilmente automatizzato
in particolare tutto è ripetitivo
non dovrebbe essere fatto dagli umani umani
peggiorare quando le cose diventano più
ripetitivi tendono a fare di più
errori mentre le macchine tendono ad arrivare
meglio , più informazioni
avere il più possibile feedback poco
bug e problemi di nuovo nei tuoi script
gli script diventano sempre più robusti come
anche un altro motivo per l’automazione che
è quello di rimuovere i colli di bottiglia che vogliamo
rilasciare più spesso ma abbiamo anche avuto un
collo di bottiglia sotto forma di esseri umani di
rimuovendo gli umani dall’equazione noi
sarebbe in grado di rilasciare e volevamo
piuttosto che quando potremmo ottenere il SIS
tempo di amministratori o il tempo di ups o sai
tempo cubase qualunque siano i due più
cose che sono automatizzate possiamo ottenere
tutto automatizzato allora
non abbiamo bisogno di fare affidamento sull’essere umano
parte del loop per la maggior parte del tempo
bisogno di ottenere il tempo delle persone che porta
noi di stiamo parlando di persone di Pete
che è molto importante è il
le parti interessate ora potresti sapere perché tu
voglio continuare a distribuirli ma a
molte persone vorranno spingere
indietro e dovrebbero farlo perché questo è
qualcosa che fai vero sta cambiando banalmente
tutto il tuo modo di sviluppare software
e consegnarlo non è qualcosa per
fai solo non lo sai perché tu
mi sentivo come mi piace così l’io molto elegante
respingi e chiedi perché e questo è
buone perché vi costringerà a nostro
rispondi di nuovo alle domande io stesso
posso solo parlare davvero del nostro
i bagni dei vincoli si spera si adattino
so che molti di questi si combineranno molto bene
Ti dobbiamo molto bene, hai fatto persone che lo faranno
respingere gli utenti sono giusti
semplice perché non lo fanno
davvero a cuore il
il modello di sviluppo a cui stanno a cuore
ottenere ciò che volevano dal
sistema ora gli utenti qui possono essere nel nostro caso
potrebbero essere utenti interni che vogliono il
l’interfaccia di amministrazione ha aggiornato l’ordine che potrebbe
essere utenti esterni che vogliamo ottenere
software per velocizzare questo è carino
Semplicemente hanno appena ottenuto il loro
funzionalità di correzioni più veloci e più
strato implicitamente solo di meno
rotture nel sistema e sta per
meno sai che ogni lunedì c’è
questo incubo notturno di entrare e
scoprire qualcosa è rotto se
lo aggiorni costantemente è molto
più di una cadenza della torta più liscia e
si spera che i problemi siano l’eccezione e
non i gestori delle regole sono interessanti
alcuni lo amano e alcuni lo odiano di più
lo adoro quando gli spiego questo
teoria sull’agile penso che uno dei
motivi per cui è stato adottato così
universalmente così rapidamente con completo
buy-in da parte di tutte le organizzazioni e
Papà Mia occasionale che conosci completo
il mudhole che si attacca regge più o meno
la maggior parte delle persone come sì questo è fantastico noi
dovrebbe fare di più perché
i manager odiano essere tenuti all’oscuro
odiano questa idea della vecchia cascata
il modello di te conosce lavoro da sei mesi
e poi improvvisamente scopri che il
i test sono passati per sei mesi
o sai qualunque cosa e lì lo sai
hai appena fatto saltare la tua consegna
pianificare completamente fuori dal muro o
acqua se stai facendo agile che stai facendo
primavera settimanale o bisettimanale
vedi che i risultati arrivano velocemente
feedback più veloce che puoi vedere su un bel
mostra cosa si sta facendo e cosa no
puoi vedere se il tuo comportamento è dietro
programma e questo porta le persone più in alto
dalle loro spalle e tutti sono felici così
con questo ancora penso che le partite siano
abbastanza facile da vendere su questa idea tanto a lungo
come si assicurare loro che si sta andando ad essere
attento a non rompere cose che
ovviamente parleremo parleremo
ma alla fine è questo è davvero un
estensione di agile a destra fino a
gli sviluppatori degli utenti finali è di nuovo questo
i motivi per cui gli sviluppatori amano la geologia
rimosso molto la marcia della morte
è andato con lo sviluppo del prodotto e di nuovo
abbiamo questo in particolare è
interessante lo vedi all’interno del
Lo sviluppo del kernel Linux ha questo
questa finestra esce ma guarda tutti
un paio di mesi bene è 12 al dice ok
Unisci finestre aperte per ricevere le modifiche
e viene gettato un sacco di roba
esso e verso di voi nella testimonianza di fusione
è folle corsa e proprio mentre si chiude
tutto per favore puoi ottenere come una cosa
perché sanno che ci vorrà
tre mesi o qualcosa per ottenere il
prossima alla prossima finestra per aprire e loro
avere un’altra possibilità di ottenere che nel
lo stesso vale per gli sviluppatori che sviluppano se ne hai
una volta a settimana o non male
una volta al mese o una volta ogni tre mesi
ciclo di rilascio che devi ottenere
roba in cui devi tagliare un fri
venerdì o giovedì ogni volta che lo farai
impazzire follemente per ottenere i tuoi cambiamenti
lì dentro o qualcuno sarà
respirando il collo ma questo significa
stai andando a tagliare angoli mentre se
tu dici bene, io ho deciso che è così
intenzione di prendere una mezza giornata in più
lucidare segretamente questo cambiamento ottenere il
gli ultimi test che ho scritto più robusti
qualunque cosa poi ci vorrà mezza giornata più a lungo
beh, questo significa che il cambiamento si spegne per metà
un giorno dopo non importa se
i tuoi cambiamenti di dare si spengono quando sono
pronto è molto più semplice e molto meno
stressante ora gli amministratori sono gli amministratori in
particolare e le operazioni sono abbastanza difficili da fare
vendere su questo perché spesso non lo fanno
piace l’idea che gli sviluppatori siano
guidando i cambiamenti nel loro
infrastruttura sono giustificabili
paranoico su questo però ce n’è uno
caratteristica davvero potente che succede sis
amore per la consegna continua
distribuzione continua quando è fatta come
il livello più estremo che è questo
quindi hai un programma settimanale di rilascio
andando su Alice ha deciso di aggiornare il
Interfaccia Ajax sulla parte frontale sul
web nel web che bob ha deciso di fare
modificare lo schemer nel database del giorno
un po ‘non molto solo un po’
per voi sapere ottimizzarlo leggermente e
Charles ha introdotto un nuovo postgresql
driver per aggiornare dopo la sicurezza è
così i cambi gratuiti escono e un database
caricare picchi che lo hanno causato a yups persone
quelli che devono capire cosa
è successo con quello che abbiamo bisogno di rotolare
indietro possiamo rotolare in avanti cosa sta succedendo
abbiamo bisogno di chi è responsabile per questo
molto molto difficile devi andare a tirarlo
a parte mettilo alla messa in scena scopri cosa
quello che succede potrebbe essere una discarica completa a
database in allestimento cetera et cetera
et cetera tuttavia se ognuno di quelli
modifiche srotolate una alla volta e se
sei intelligente e il tuo schieramento
sistema inietta una notifica nel tuo
sistemi di monitoraggio che dice la linea in
i vostri sistemi di monitoraggio vanno rilasciati
Freee è uscito qui e poi dopo Ariz
liberare i picchi del database che conosci
esattamente quello che è appena successo e lo sai
esattamente quello che devi fare circa
tu o la legione sai a chi parlare e
sai quali sono le tue opzioni questo è un
idea molto molto potente e una delle
idee più potenti di questa funzionalità
rilascio basato sulla distribuzione continua
di questo incrementale a grana molto fine
cambia le modifiche ai tuoi sistemi che tu
fine con un buon monitoraggio e buono
i sistemi di notifica improvvisamente molto
cose che prima erano complicate
diventa molto facile quindi è davvero il
saggia, parliamo un po ‘della casa
questo è praticamente il posto dove più
la distribuzione continua tende a fermarsi
la gente dice oh sì grande lo fanno il gioco è fatto
e questo è abbastanza giusto per una laurea
perché ogni organizzazione è diversa
ogni rete è diversa ma lì
non era abbastanza che dovevamo fare questo quando
non ci siamo resi conto che stavamo andando
devo rispondere a un sacco di domande
su come fare questo e effettivamente fare a
molta ricerca e scopri cosa è
i compromessi dell’acqua tra diversi
modi di fare la distribuzione continua
e quello che posso fare ora è dirti il
risponde che non possiamo inventare e
spero che vi sarà utile
ma la prima cosa che faremo è iniziare
con il flusso di lavoro di sviluppo ovviamente
l’occupazione continua implica a
flusso di lavoro di sviluppo diverso davvero
non è così diverso perché se
stai facendo quello che ho chiamato moderno
metodologia software che dire agile
cicli di rilascio brevi basati sulle funzionalità
sistemi basati su ticket e distribuiti
sistema di controllo della versione o almeno a
sistema di controllo versione moderna ma quello
non c’è nulla fatto nessun cambiamento importante
lì ma se non lo stai usando
metodologia probabilmente andando avere
effetti piuttosto difficili non andando a
davvero possibile, quindi l’inizio è
davvero buon senso questo davvero questo
idea davvero iniziata con Mozilla e
poi sviluppare ulteriormente in penso un panino
due erano piuttosto grandi su questo di tutto
è un bug tutto è un è una caratteristica
richiedere tutto è qualcosa in a
bug tracker se un bunt che aveva notoriamente
il bug numero uno era Microsoft è il
il sistema operativo numero uno al mondo
in realtà hanno chiuso quel piccolo
le cose sono più importanti, ma è abbastanza
Vero bene come il locatario hanno cambiamenti come quelli
altre tracce stanno diventando interessanti ma
loro ma l’idea è che tutto
tutto va nel budget che ho ottenuto
Mozilla aveva effettivamente un bug per un problema
sollevato per avere una parte di massa
quando viene rilasciato uno come Firefox
così tutto va nel bug tracker
e tutto e in ogni individuo
il lavoro va lì e ti rende
rendi il più fine possibile come te
briefing in epopea in storie in
piccoli compiti secondari più piccoli fino a quando non hai ottenuto
qualcosa fuori come un pezzo di lavoro
può essere fatto e poi quello ha un unico
ID e che viene utilizzato per seguirlo fino alla fine
questo porta dei grandi benefici che io
ti mostrerò verso la fine di questo
parla come usi questo su cui lavori
un ramo questo è dove la sovversione non lo è
andando ad aiutarti non è tuo amico
la sovversione particolare non lo fa davvero
ramificazione e fusione che ho usato ho fatto forse
due rami principali in sovversione
ed entrambi finirono nel disastro di quanti
le persone qui stanno usando una versione
sistema di controllo della versione distribuito così
Immagino che i due terzi abbiano
Bruxelles in sovversione o CVS o affondato
tutto questo oh sì mi dispiace, sì, lo è
un enorme bisogno deve essere un modo diverso
di lavorare ma il fatto che tu possa fare
rami e si fonde rapidamente e
indolentemente e sarai un alto grado di
fiducia nel fatto che le vostre fusioni non lo faranno
rompere qualcosa è molto molto potente
idea ma è importante che tu ti isolino
il tuo lavoro non hai modi di fare
sovversione hai fatto tutto il tuo lavoro
in anticipo e poi lo scarichi
nel sistema e spero che non lo faccia
rompere qualsiasi cosa poi fai un codice
recensione considerando che con un distributore
sistema di controllo della versione o davvero di più
con precisione qualsiasi sistema di controllo della versione
che fa ramificazione e fusione affidabili
allora quello che fai è spezzarti
fai più commit che puoi forse pulire
in su l’aria in seguito, se lo
desidero in base alla politica in merito
cambiando la storia ma entri in a
stato pulito dove hai un massimo
grado di fiducia che quando lo fai
la fusione torna al tuo ramo principale
non ha intenzione di rompere nulla
vale a dire, perché vi sarà esegue il
prova contro il tuo ramo ogni test
che si verifica sul tuo ramo principale prima di
la versione viene eseguita su ogni commit
ora che fai al tuo ramo
bisogno di un sistema automatizzato per fare questo
altrimenti è un rompicoglioni ma è così
è abbastanza semplice da fare a tutti voi
vedere il molto hardware in questo come
bene, ma è anche più economico di
tempo di sviluppatore fidati di me quindi ogni commit
risultati in un sai risultati di costruzione in a
prova la suite di test completa e poi sai
quando arrivi a quel punto finale dove
non puoi unire sei un alto
grado di fiducia che tu non sei
andando a rompere qualsiasi cosa tu possa fare
complicare le cose mentre una volta
avere il bambù può fare quello che fai tu
fai la tua build e via quella build funziona
non hai fatto una fusione fittizia o di nuovo su
l’albero e poi fai le build
di nuovo solo un doppio controllo che in realtà
non è solo una domanda che funziona ora
funzionerà in futuro anche quando
lo fai quando devi attraversare il
unire ma questo è abbastanza importante ora
una volta che hai quell’interstatale dove
pensi che la funzionalità sia completa e
tutte le prove di analizzare tutto poi
vuoi fare una fusione ora abbiamo a
regola e
viene applicato a livello del server che no
si può spingere il maestro è
sacrosanto può essere spinto solo attraverso il
server tramite una richiesta pull che usiamo
ovviamente bitbucket ma ce ne sono altri
strumenti là fuori per fare quello no
importante ma la richiesta pull è
tutti odiano le recensioni del codice ma tirano
richiesta di chiamare questo no
differenze ma richieste di tipo pull
davvero recensioni di codice una possibilità di tirare
in altre persone pete puoi anche impostare
anche altre regole quindi, per esempio
impostare una regola che è necessario disporre di
i revisori riconoscono questo a volte voi
può impostare la regola per dire una certa recensione
alcuni tipi di revisione devono essere lì
alcuni manager di rilascio devono rivedere
tutto o l’architetto deve rivedere
tutto o qualsiasi cosa o potresti avere
molto più ad hoc su siamo un po ‘di più
clemente di quello e abbiamo trovato persone
sono generalmente abbastanza buoni quando ci si fida
loro ma ci sono anche regole come il pipistrello
il nostro sistema di bambù i sistemi di costruzione
il sistema di integrazione parla in realtà
al server e dice il Builder
passando a costruire un falso in mancanza e volontà
in realtà blocco emergere se le bollette sono
in realtà non riescono a ricevere la richiesta di pull
quindi si tratta di automazione è di nuovo
su di te sai di mettere dentro tante guardie
posto in modo che usiamo effettivamente le richieste di pull
come sistema educativo e così se
hai un nuovo sviluppatore nel team
in genere li tirerò così tirerò
loro in molti e molti diversi
richiama la richiesta anche se non ce l’hanno
molto da aggiungere, impareranno ancora molto come
lo fanno è un modo di tipo giusto
apprendimento frammentario in cui un assistente
lisi le discussioni in corso e cosa
costituisce la qualità del codice sul team ecc
ma una volta che hai firmato puoi farlo
effettivamente fare per unire le ruote sono alcuni
norme in giro che può fare la firma off
in casi estremi, ma tornerò a
così quello che succede è quando lo fai
Unisci tu premi quell’unione con un pulsante
viene unito nuovamente al ramo principale
ora che ogni impegno si fonde
quel ramo principale risulta pieno
Rilascio così fondamentalmente per l’intero
processo di rilascio ogni volta che emerge
sul ramo principale questo è questo
sviluppo basato su funzionalità ogni versione
ha un cambiamento che potrebbe essere
rintracciato a un ramo hai avuto questo
vera tracciabilità idea di hai un
rilasciare il rilascio ha un numero che
il numero torna a un’unione con la fusione
torna a un ramo al ramo perché
a un biglietto originale e quindi lo sai
quella ragione particolare contiene il
contenuti o cosa si suppone essere raggiunto
da questo biglietto qui e da questo
questa idea di cracking va fino in fondo
attraverso così questo si spegne nel nostro caso come
un server di staging è il server di staging
dove introduciamo gli umani nel
processo sta facendo anche richieste di pull
ovviamente gli sviluppatori lo stanno sviluppando
ma a questo punto probabilmente torneremo a
il cliente originale la persona che
sollevato una richiesta di pull forse il bas ottiene
coinvolti forse otteniamo alcune persone del QA
è un critico ne tirerà ancora un po ‘
la gente in alcuni farà il blitz e
testarlo se è forse un punto critico
uno perché non è abbastanza iterato
a mio parere che il software è il verso
dagli umani per gli umani sono i computer
solo un giorno per il trasferimento dei dati
all’indietro e cade tra gli umani e
altri umani umani devono essere coinvolti
nel processo un certo punto se non siete
anche gli umani volva nel processo che sei
qualcosa che va storto, gli umani hanno orsetti
giudizio migliore su certe cose ma
l’originale è se ottieni la maggior parte delle cose
può essere automatizzato così puoi anche fare come
il più possibile, ma alla fine
gli umani hanno bisogno di essere coinvolti nel
processo a un certo punto in modo da fare questo in un
staging o il sistema quindi se lo facciamo per
dispiegamento continuo sul
sistema di stadiazione e poi gli umani ottengono
coinvolto e va bene è lo stesso solo
a quel punto promuoviamo fino a
produzione e ciò che esce
la produzione è esattamente ciò che era acceso
messa in scena non c’è una costruzione separata e
una versione separata di ciò che esce è
esattamente cosa c’era sul server di staging
quindi abbiamo un alto grado di fiducia
che funzionerà in produzione
non sapere mai che cambi strani stiano andando
si verificano tra queste cose possono fare
la build può essere specifica per l’ambiente
a volte non dovrebbe essere ma
sono tutti sanno che funziona
sul mio computer non funziona su
la produzione pensa alla storia ma è carina
tanto è così che è così com’è
ad un punto ancora questa una delle aree
dove la gente appoggia la soia
la salsa si ferma qui ma è qui che si trova
diventa davvero interessante per me questo è
il modo in cui è diventato abbastanza difficile
questo è ciò che chiamo l’ultimo miglio come farlo
ottieni quella roba sulla scena
server e, soprattutto, come si ottiene
su un server di produzione come hai ottenuto
al server di produzione
quando potresti avere la conformità di Sox
potrebbe avere una dozzina di firewall in mezzo
qua e là e ogni sorta di cose
come si fa a fare in modo che non stai andando a
sai che questo sistema è abbassato
davvero dove DevOps inizia la sua più vera
senso intendo DevOps è un po ‘perso il suo
un po ‘ penso che ce ne siano alcuni
la gente dice che DevOps è tutto ciò che non sono
facendo particolarmente gli sviluppatori
gli sviluppatori di tutti i DevOps sono a
certificazione è una suite di strumenti è
è una distribuzione continua o qualsiasi altra cosa
ma che dovrebbero essere sempre
sulla cooperazione tra sviluppatori e
operazioni e questo è davvero dove
questo è assolutamente vero perché a
avere il tuo software su quello di questa macchina
dovrai parlare con la sorella
amministratori e tu dovrai farlo
collaborare con loro e venire con il
la migliore soluzione e ogni organizzazione è
sarà diverso, posso dirti come
dovevamo fare questo posso darlo a
linee guida e darvi il processo che
siamo andati attraverso per scoprire il meglio
strumenti per noi ma alla fine lo sei
comprare dagli amministratori SIS è tutto
andando a sbaglio, hai bisogno di loro di cui hai bisogno
fidarsi di loro e hanno bisogno di fidarsi di te
quindi questo è ciò che DevOps dovrebbe fare
essere al suo cuore, quindi dovresti andare e
parla con i tuoi amministratori di sis e prendili
coinvolto solo due tipi di detti mezzi
quelli che sono come yeah facciamolo
è quello di essere impressionante bene giocherò con il nuovo
i giocattoli e poi sono gli altri
mi piace come l’idea di questo, ma tu
bisogno di vincerli a volte a voi
fare in modo che Fink faccia pensare loro di essere loro
l’idea è quella che è una bella lil
trucco, ma è molto a
la questione delle grandi aziende va bene
avanti vai vai a comprare una birra
o qualcosa e devi parlare con questo
questo significa e alla fine lo sono
inizierò a discutere dei modi pratici di
ottenere il codice su un server possibilmente un
AWS possibilmente nel tuo bunker sicuro
nelle montagne del Nevada ai membri del monte
in Nevada ma un epilogo dovuto venire
torna da te e dì che dovremmo usare
fantoccio sempre Tu chef probabilmente perché
hanno un burattino o uno chef in produzione
in questo momento questa è la risposta sbagliata
non fare questo e questo è molto
importante il filo è effettivamente molto semplice
pop e condividere per circa la gestione di se
struttura in particolare sulla gestione
infrastruttura a livello di server ma
le tue preoccupazioni non riguardano il server
urne di osservatori di livello sono al
applicazione e quasi il livello cloud
le forme di YouTube usano anche il termine cloud
ulteriormente ma il tuo nucleo trasversale
preoccupazioni si sa preoccupazione guarda a detto
a proposito del livello del server che stai facendo
livello di applicazione in termini di j2ee o
conosci qualcuno che conosci il blob del codice
in esecuzione da qualche parte sei preoccupato
database e load balancer e il
rete tra loro e vedere se
c’è più di un server e uno di
quei server su diversi data center
perché hai l’ultima operazione di recupero
sei una preoccupazione trasversale che dici
burattino o cuoco voglio questa macchina
guarda in questo modo come arriva
interamente fino a farlo parlare a burattini o chef
Ho bisogno di questa massa amorfa di cose
accadere in un ordine specifico non è per me
davvero pratico è molto possibile
sai se eri veramente timido?
burattini o maestri dello chef a venire con
qualche trucco per farlo ma non è buono
idea per cui inizierai a guardare
altri strumenti strumenti sono progettati più per
orchestrazione e c’è quello che chiamiamo
agenti di orchestrazione ce ne sono tre
due tipi di orchestrazione là fuori
uno è basato su agenti ora è possibile
che lo hai già fatto
là ci sono un sacco di loro là fuori
saltstack è piuttosto alla moda che non ho mai giocato
di esso è ancora sulla mia lista di cose da fare
Sono collettivo per il quale abbiamo effettivamente usato
la nostra completa offerta di Claire per un po ‘
a quanto pare non mi cita su questo
apparentemente da qualcuno che lo sa
roba porta alla memoria come non lo faresti
credo che ci sia un vero problema
alla fine la soluzione era solo andare
riavvialo ogni mezz’ora, quindi agente
sistemi basati probabilmente dovrebbero
chiarire quando hai un pezzo di
software che gira su ciascuno dei tuoi server
e eseguirà azioni sul tuo
per conto di questo è un modo sostanzialmente giusto
fare cose attraverso il tuo grande cloud
di varie macchine è lo stesso bambù
in realtà un sistema basato su un agente voi
potrebbe potenzialmente usare questo funk
altri sono là fuori il punto
ecco che se la tua sorellina succede già
averlo a posto se lo fossero già
con questo tipo di metodologia sono
usando M collettivo o saltstack o
qualcosa a cui fare tutti i loro cambiamenti
l’infrastruttura del gestore lo usa
assolutamente perfetto non è probabile con quello
tuttavia se stai iniziando da zero
se loro o loro non hanno questo tipo di
capacità là fuori dalla massa
modifica di macchine in sequenza
Allora avrai dei problemi
perché dovranno rotolare
fuori tutte le nuove infrastrutture e questo è
generalmente non è qualcosa che stanno per
voglio farlo è qualcosa che probabilmente
non voglio farlo ci vuole tempo però
è molto probabile che abbiano già un
massiccio parallelo distribuito
modifica dell’architettura in atto
si chiama SSH è quasi certamente
già là fuori è sicuro che ha
controlli a grana molto fine puoi mettere tutto
tipi di interessanti o di autorizzazione
sistemi su di esso si può limitare ciò che
un dato utente può fare puoi creare un manichino
utenti che hanno solo molto limitato
controllare l’accesso alla tua infrastruttura
over ssh è probabilmente il tuo modo di essere
andando a voler andare se non lo fai già
avere un’infrastruttura lì
sono un numero di strumenti là fuori
ti aiuta ad automatizzare questo modo di usarlo
quindi praticamente camminano lavoratori
sistemi di orchestrazione ma non li usano
i loro otto agenti usano solo SSH
come trasporto puoi semplicemente scrivere questo
con bash se vuoi davvero questo
tessuto come capistrano come ansible ansible
abbastanza hip che usiamo ora questi sono
gli strumenti che guarda in modo ciò che è necessario
hai bisogno di sederti con tua sorella
succede chi ottiene idealmente qualcuno
chi sarà distaccato in squadra
quando hai assunto Don oggi la loro squadra
e tu lavori insieme , entrambi avete il
lavoro di sistemarlo idealmente
entrambe le squadre insieme e devi andare
attraverso ciò che è l’ecosistema attuale
non ci vuole molto tempo questo abbiamo scelto
ansible e questo è male un anno e un
mezzo fa la parola che il sistema di eco può
il cambiamento sta rapidamente cambiando il mondo giusto
ora quindi basta fare un tavolo solo avere un
elenco di tutte le opzioni disponibili
vai a caccia di qualche sorta di tessuto ansibile
e qualsiasi altra cosa e avere una lista dei loro
proprietà e solo in attesa
a vicenda prendine uno o due provali
e impara a farlo con questo è gli amministratori
perché il sysadmin sta per essere
la gestione di questo sistema e hanno Gonna Be
scrivere alcuni di questi script ma
c’è sviluppatori si sta anche andando a
scrivere questi copioni è tutto nostro
script di distribuzione effettivamente scritto da
i nostri sviluppatori ma poi hanno firmato
il nostro team operativo così devi essere
sia lavorando in questo è DevOps nel suo
il senso più puro è il silos che si rompe
ma posso dirti cosa non abbiamo ancora fatto
questa è la nostra soluzione per l’ultimo
miglio sembra che il bambù lo crei
queste uscite sono spinte a
quello che viene chiamato un ambiente di distribuzione
Ne parlerò brevemente un po ‘
più tardi, ma il bambù ha questo concetto di
capisce l’idea che ci sono
ambienti diversi che potresti essere
interagire con in particolare il mio
ambiente di sviluppo per antipatia
per le scatole di corsa può essere in un ramo
uno quindi hai un ambiente di staging
e un ambiente di produzione e
capisce che esistono e che tu
vuole diverse versioni del software per
sii nostro ciascuno in tempi diversi
capisce anche che hai i permessi
intorno a chi può dispiegarsi a questi diversi
ambienti quindi c’è un agente
corre ed è tutto ciò che l’età può fare è
parla con uno della produzione
ambienti o la distribuzione
ambienti realizzati in scena o sviluppo
e collo Adobe per la costruzione e loro
erano usati per parlare con più di uno
ambiente questo è per motivi di sicurezza
non vuoi che qualcuno esegua una build
su un agente che ha accesso al tuo
sistemi di produzione quindi è necessario
separare la distribuzione
ambienti lontani dalla tua build
l’ambiente con cui si presenta il problema
continua la distribuzione che sfuma la linea
tra produzione e sviluppo come esso
Dovrebbe, ma tu non vuoi il
sviluppare il potere degli sviluppatori
chi dovrebbe avere tanto potere quanto
possibile, quindi abbiamo sanguinato nel tuo
produzione di armi ma dovrebbe essere molto
più blocco e soprattutto se tu
ho visto se hai la conformità Sox o
Problemi di conformità PCI che stai per fare
trovare quello che vuoi avere molto
regole specifiche dicono solo certe persone
può effettivamente accedere a questi strutturati
ambienti ora uno come le persone possono essere
questo agente e quell’agente ha una chiave
chiave ssh specifica a cui è abituato
accesso alla produzione o alla messa in scena
ambienti quindi è necessario isolare molto
molto diciamo che usiamo il bambù per fare questo tu
può usare altri sistemi ci sono
implementazione dedicata continua
i nostri sistemi di distribuzione sono mitralici ibridi
modello in bambù scopriremo cosa
funziona per te sai chi usa Jing Jenkins
per questo non voglio scambiare uno dei nostri
concorrenti non intendo che non intendevo me
Voglio andare a qualsiasi cosa io non sia
non è il mio modo qualcosa di duraturo a
Molte persone sono persone intelligenti che utilizzano
questi strumenti non ha un problema principale
non ha commissioni forti se tu
hai un calzino o regolamentare
requisito per le autorizzazioni che si desidera
essere molto attento su come puoi
chiudi e dici solo con certezza
le persone possono eseguire rilasci in determinati
ambienti nel nostro caso i nostri sviluppatori
non sono mai autorizzati a schierarsi in un
ambiente di produzione questo è un
concetto di separazione dei compiti che è
richiesto entro l’estate da alcuni regolatori
la persona che sta sviluppando non può essere il
persona che accede a un sistema di produzione
quindi il seguito leggermente qui continua
dispiegamento continuo significa questo
continuo giù giù giù tempo il
la risposta è dipende da ascoltare essere un po ‘ di
un tema da sapere su questo particolare
conferenza quindi uno dei motivi per cui
ha preso così tanto tempo per noi per ottenere questo fuori
c’era perché dovevamo costruire un massimo
sistema di alta disponibilità a cui rivolgersi
il nostro sistema monolitico in qualcosa
che potrebbe essere arrotolato potrebbe essere
aggiornato senza dubbio i tempi di inattività lo farò
dare è un aiuto abbastanza rapidamente ansibile
tu con questo ansible ha il concetto di
aggiornamenti continui e ha un concetto di
operazioni pre e post per ogni aggiornamento
quindi cosa fa l’ansible per noi
contatti il servizio di bilanciamento del carico accetta a
server fuori produzione quindi
lo aggiorna ed esegue un mucchio di
prova su
per garantire che sia effettivamente e
correndo correttamente, allora lo metteremo
di nuovo in produzione e passare al
il prossimo server si fermerà se qualsiasi server
fallisce puoi vedere che puoi specificare
alcuni cluster può essere un servizio
aggiornato se hai un ammasso massiccio
puoi aggiornarli in lotti di a
piccolo che vuoi fare in una serie di
uno alla volta, ma è necessario alto
disponibilità per questo se sei
rilasciando una volta alla settimana va bene se
stai rilasciando più volte al giorno
parlerai di molto
di dubbio il tempo morto è l’ultima sezione
gestione questo non è ancora non toccato
su molto molto spesso qui a parlare di
implementazione continua che devi essere
in grado di rintracciare questo fine alla fine parlerò
brevemente sulle tapparelle del controller
abbiamo già coperto la distribuzione
ambienti dentro bambù sei tu
consideraci ambienti diversi che
avere diversi ruoli e il tuo
organizzazione come messa in scena dello sviluppo
produzione ma tu vuoi spostare il
rilascia tra di loro ogni versione
sembra davvero un normale piano di costruzione
questi sono solo un elenco di compiti che
verificare sul rilascio di un disegno di legge che avrebbe
stata costruita la guerra nel nostro caso il
l’applicazione java passiamo come a
trama come un binario binario e poi abbiamo solo
controlla i nostri script ansibili che sono
ci sono git repository e noi gestiamo i nostri
dispiegamenti questo è carino
semplice ma gestisce anche
rilasciare numeri anche per noi e cosa
succede è che puoi vederlo qui
l’ esempio particolare tenuto dal modo è
una parte del nostro un micro servizio che
si occupa della distribuzione sul nostro cloud
ambiente in cui puoi effettivamente vederlo
ci sono ambienti diversi liberi
hanno messa in scena e produzione di sandbox
e ognuno di loro ha un diverso
rilasciarlo ora è un buon bambù
tenendo traccia di ciò che viene rilasciato dove ora questo
ci dà un altro concetto davvero potente
che biglietto di gestione basato questo è
torna indietro al membro di inizio ha detto
traccia tutto in un bug tracker e
quel bug tracker sarà te e il loro
l’ID traccia sarà un codice univoco per LT
è così che comunica all’indietro e
in avanti quindi quello che hai qui è questo
il biglietto originale come puoi vedere è
è stato quello che impazzisce
si sono verificati su questo così il camion bug
sta parlando con l’ ambiente stash due
di due il nostro server get e sa come
si sono verificati molti commit in merito
questo perché sa che c’è un
ramo quindi guarda ai nomi delle filiali n
questo è il ramo relativo a questo
particolare lavoro e sappiamo
c’è una richiesta di pull che è stata richiesta
unito anche così sappiamo che sappiamo il
stato di sviluppo che possiamo effettivamente
guarda i nostri biglietti originali diventa nostro
cruscotto in questo ora ovviamente lo sono
parlando di jira e bambù e il
riposa qui perché questo è particolare
quello che uso ma questo non c’è motivo
perché non puoi farlo in altri sistemi
ovviamente va da me
punto di vista è facile farlo
bene, allora questo ti dà davvero
idea davvero potente se tu se bambù
sa è gli ambienti di distribuzione e
è un numero di biglietto che si apre
cosa puoi fare su ciascuno dei nostri biglietti
vedi questo particolare pezzo di lavoro
è stato unito e una distribuzione
si è verificato che distribuiamo al dev
l’ambiente deve essere schierato come il
l’ambiente di staging non è ancora stato
distribuito nell’ambiente di produzione
ora questa è davvero un’idea davvero potente
come qualcuno che deve lavorare
fatto di persone che urlano nelle tue orecchie
perché se dai questo al tuo
i clienti raccolgono un biglietto e poi lo faremo
mostrarti in quel biglietto ogni pezzo di
il lavoro è fatto bene , puoi vedere il
lavori in corso si può vedere che il
costruisce stanno fallendo si può vedere che
mentre aggiustiamo che puoi vedere è stato
una richiesta pull è stata unita è sparita
fuori nella messa in scena voleva Oh messa in scena bene
Posso davvero andare e andare e avere un
guarda ora oh è andato nostro
la produzione è finita, le persone ti lasciano
le persone sole non badano alle cattive notizie loro
non importa che capiscano che hai
bei giorni e brutti giorni
lo sviluppo non significa veterani
perfetto tutto il tempo ma odiano essere
tenuto all’oscuro se li dai
l’informazione di lasciarti in pace è
davvero molto potente ho idea così è
dove arriva questa gestione di biglietterie
se riesci a tenere traccia delle tue modifiche
entra direttamente nella produzione
ambiente l’utente può vedere questo
giorno puoi farlo con JIRA che puoi fare
costruisci piccole palline da lancio
qualcosa del genere sarebbe molto carino noi
usato per avere una palla che scorre
mostrarti
sai correre a costruire un po ‘
i wallboards ti mostreranno cosa succede
ogni previsione quale versione in
quali rami sono aperti attualmente e
in quale uno è stato distribuito
ambienti diversi quindi questo è davvero
potente in realtà puoi dare il
informazioni per i tuoi utenti finali e portare
sul computer che tiene traccia di questo per te
dai semplicemente lascia che si occupino di
utente al front end e meno e
puntali verso qualcosa e dì lì
vai a lavoro sta succedendo su questo diritto
ora quindi andiamo a concludere qui
Mi piace solo reiterare i punti principali
qui hai una chiara motivazione per il perché
lo stai facendo non solo fallo
perché è bello è divertente e anche se
sai che puoi introdurlo di nascosto
da qualche parte che è sempre divertente se a
il flusso di lavoro di ramificazione è assolutamente fondamentale
deve mantenere le tue modifiche separate fino al
sono pronti a deporre già e poi
devi testare quei cambiamenti ed essere avere
un alto grado di fiducia che quando
li unisci loro saranno al sicuro ma
alla fine si tratta di cooperazione è il
DevOps nella sua forma più pura è circa
cooperazione tra persone e strumenti e
automatizzare il più possibile e poi
i pezzi che non puoi anche farne
la cooperazione si tratta di parlare con il
persone che hanno bisogno di parlare e su
mettere tutti sulla stessa pagina e
avendo gli stessi obiettivi e alla fine
avere molto più rispetto l’uno per l’altro
gente se entri a lavorare insieme
generalmente avrà molto di più perché
tutti capiscono l’uno dell’altro
vincola le cose che li guidano
su base giornaliera, quindi è la fine
del mio discorso su un ordine da un miliardo di dollari
il sistema sembrava alla parte da un miliardo di dollari
sembrava funzionare abbastanza bene, solo
ricorda di votare questa sessione, penso che lo siamo
andare per ulteriori domande verbali se tu
sono molte domande che sono felice di prendere
li unghia e sarò impiccato
intorno al resto della conferenza di
il cibo, per favore, sentiti libero di prendermi
quando puoi
quindi la domanda è che siamo finiti
dividendoli in piccoli sistemi
microservices è la nuova parola alla
momento moment yeah no um è mio
accento combattivo quando do brutte notizie
quindi se vuoi hackerare ne senti parlare
questo è meno il vertice di Ian non è un in
Novembre e come qualcosa di cui parlare
su di lui su quello che è successo da quando ho
lasciato quella squadra su questo breakout
sistemi monolitici o lavorare di più
sistemi monolitici personali
l’esperienza è che è più difficile di quello
sembra che tutti vadano e io vada così AAA
lo infrangeremo in questo e
ci sono i clienti di un cliente
servizio in quanto conosci il database dei giorni
selezionare database in pratica molto
più difficile di quanto sembra perché così tanti
dipendenze implicite trasversali cosa
abbiamo iniziato a fare sono stati malati i nuovi sistemi
trasformato in nuovo è un nuovo codice in cui è
è un nuovo micro servizio quindi se lo è
più una domanda non era tanto
che lo abbiamo diviso mentre iniziamo ad aggiungere
in servizi sempre più piccoli in giro
gli esterni e lascia che l’interno il
dentro atrofia fino al punto in cui è diventato
sempre meno critico e il suo inizio
diventando più simile al motore logico
al centro del sistema ma cose
come l’emailing o il web front end o
parlerà con i nostri sistemi di conteggio
diviso tanto in sistemi più piccoli
come possibile stavamo usando resti dove
siede in sincrono e stiamo usando l’accodamento
sistemi in particolare coda per
il nostro per dove è un asincrono il
la ragione di essere una coda arrapata è forte
le garanzie transazionali non si usano
activemq gira circa la sua XA
transazioni o cadere tra le speranze
la loro domanda di risposta quindi la domanda è
potremmo usare i selettori di funzionalità invece di
caratteristica rami sì, ma si deve
avere un alto grado di fiducia in quello
il codice è che si sta mettendo in
non c’è intenzione di rompere qualcosa
i tuoi pulsanti di attivazione non sono danneggiati
rotto così puoi assolutamente farlo
secondo Gartner penso che alcuni anni
fa questo è il modo di farlo
è proprio ora
i rami di funzionalità sono disattivati
sono in I’m a diffidare delle funzioni di attivazione / disattivazione
perché implica un grande architettonico
cambia ora se stai facendo microservizi
se hai un’architettura molto forte
è molto interfacciato e sì, ma
i rami di funzionalità generalmente funzionano
in questo momento Fuji alterna significa re
architetti nel tuo intero sistema
assolutamente così dipende molto se tu
voglio fare cose come un test delle api
le levette di funzionalità sono assolutamente la via
per andare cuz puoi costruirlo in qualsiasi modo se
sai che devi assolutamente fare
questo cambiamento quindi sì sì è giusto
domanda se hai la funzionalità per il tuo
sistema costruito in modo tale funzionalità
i commutatori sono possibili che è sicuramente un
la strada da percorrere comporta comunque qualche rischio
secondo me, ma so che non è molto
quindi questa è un’opinione molto forte a
questo punto non è qualcosa che ho fatto
una quantità enorme di è sicuramente un
approccio diverso a pagamento se sei
adattato in questo modo sì oh questo è un
domanda stupenda, usiamo un bicchiere in JIRA
il miglior bug tracker al mondo sì
è praticamente ora che è con il nostro
i nostri prodotti noi cuciniamo loro le persone
generalmente facciamo cibo per cani, così facciamo
in realtà il suo problema, quindi in realtà
fare la consegna continua per conto nostro
sistemi interni così spesso
a volte colpiremo il successo
bug e così via, perché siamo
enorme corsa sul bordo sanguinante
ma non vuol dire che li prendi abbastanza
funzionalità interessanti che facciamo l’integrazione di
il modo in cui il grande segreto qui non lo dice
Qualcuno della mia compagnia ti ho detto che è così
tutto a riposo, non c’è ragione
perché se tu stai usando JIRA ma
sei bloccato su Jenkins che non puoi fare
la stessa API chiama quel bambù
fai tornare indietro questa informazione ma
Non ti ho detto che va bene, grazie
molto
tu
questo non è particolarmente importante
anche se toccherò alcuni dei nostri
roba verso la fine questo è davvero
sul nostro viaggio interno verso
implementazione continua e davvero su
sai che questa non è una teoria, questo è
questa è la pratica è così che abbiamo ottenuto
un sistema di ordine miliardo di dollari nel
dichiariamo dove siamo una distribuzione continua
schierato e come lo facciamo effettivamente
ai dadi e ai bulloni di livello basso in modo che
il mio background è che ero meno ian era finita
da più di nove anni ero l’originale
il sysadmin in compagnia mi è stato poi spostato
nel team dei sistemi interni che
costruito il sistema di ordinazione e ora lavoro
con l’Europa che lavora allo sviluppatore
advocacy che è in parte sviluppo
in parte dire cose interessanti come questo
mangiare grandi pranzi e prendere birra gratis
nei pomeriggi quindi lo sfondo per
questo è ho pensato che questo è un
sistema di ordinazione da miliardi di dollari ora
quello è in gran parte solo un gancio per farti entrare
qui e sembra funzionare abbastanza bene noi
arriverà a un miliardo di dollari non lo è
quello che pensi sia bene non lo è
non bello come avere un miliardo di dollari
comunque questo è l’ordine di Lassen
sistema è come se tu abbia mai comprato
jira confluisce in tutti i nostri strumenti questo è
quello che probabilmente interagisci con I am
sinceramente dispiaciuto, ho costruito un sacco di questo in
molto è un po ‘ goffo in un po’
lento è un motivo per cui è lento
ora ha una password da miliardi di dollari
lo sfondo di questo è che abbiamo costruito il nostro
proprio sistema di ordinazione questo è uno di quelli
cose che dicono per ragioni storiche
che è davvero una frase fredda per questo
sembrava una buona idea alla volta e
ora sono un po ‘bloccati con esso
sistema di ordinazione è stato costruito perché
nulla ha davvero eguagliato la nostra attività
modello al momento atlassiano al momento
era piuttosto un modello di business unico noi
non ha costruito il suo sistema di ordinazione
prendi molto tempo e questo tipo di palle di neve
da lì ad ora è come uno dei
i sistemi più critici in azienda e
è un po ‘fuori controllo ma
funziona davvero sorprendentemente bene
questo è ciò che sembra un miliardo di dollari
mi piace sorprendentemente bene
sbalorditivo quando vai e Google per questo
su Internet
Mi piacerebbe averlo ma non è abbastanza
il caveau della banca mi aspetto che andasse
essere così un miliardo di dollari quando parlo
di questo non è un miliardo di dollari in
La fatturazione del conto bancario in Alaska passa
attraverso di esso, ma alcuni di questi sono del testo alcuni
dei suoi rimborsi alcune delle sue valutazioni
vengono restituiti tutti i tipi di cose vanno
indietro così avanti ma non importa
i soldi arrivano e il denaro esce solo
come particolare importante quando hai
requisiti normativi e ti aspetto
per rendere tutto ciò che si aggiunge alla fine di
il giorno in modo che il miliardo di dollari tutto il
sistema è quanto passaggio che
sistema e ho appena scoperto che da
incidente perché sto tagliando alcuni
problema con il sistema e ha fatto un po ‘
alcuni sul tavolo e realizziamo noi
in pratica ho appena superato un miliardo di dollari
questo è circa un anno e mezzo fa ora
quindi in realtà starò bene ora
non significa che chiederà che ha un miliardo
dollari nel conto bancario o altro
così è solo un piccolo indicatore
del Creatore quanto è critico questo sistema
è diventato così perché a questo punto a
fallimento del nostro sistema è un fallimento di
il tempo di fermo dell’attività per questo è ora
tempi morti critici questo significa scotton
Mike i fondatori arrivano e respirano
il mio collo personalmente o l’ho fatto fuori
squadra ora e ora mangio grande grande grande
pranzi che è abbastanza carino quindi questo è un
storia di come abbiamo provato a fare questo a
un po ‘più robusto ma anche a quel tempo
usa la consegna continua per farlo
implementazione continua perché non lo è
così diventa meno che agile
diventa una sorta di fragile diventa un po ‘
sai come quell’albero è vecchio
cool, ma funziona anche ma è così
anche tu conosci una serie di problemi quindi in a
il business sta crescendo, una lezione sta crescendo
e voglio continuare a crescere deve essere
agile e doveva essere in grado di adattarsi a
cambiare le condizioni del mercato nuovo
concorrenti nuovi prodotti che entrano nel nostro
nuovi prodotti del team che entrano
altre società adolescenti abbiamo bisogno di reagire
e dobbiamo essere agili, abbiamo bisogno di essere
in grado di cambiare i prezzi per essere in grado di
cambiare i prodotti abbastanza rapidamente e
rilasciali molto velocemente ma a questo
puntare il sistema diventa un po ‘
monolitico ed era molto, molto, molto, molto
Rilascio difficile a radici quando iniziamo il
squadra è lo sviluppo di due persone
ora è qualcosa come 40 o 60 persone
su quella squadra e in modo che il tasso di
lo sviluppo può aumentare ma quello era
causando più problemi da introdurre
come siamo cresciuti
quindi una cosa da fare è proprio spezzarla
in piccoli servizi che volevamo aggiungere
nuovi modelli di prezzi ecc ecc ma eravamo
fare almeno una volta alla settimana il che significa
che ogni versione stava diventando più e
più modifiche in esso che significava il
possibilità di causare qualsiasi rilascio
le rotture erano piuttosto alte quindi la decisione
è stato fatto che saremmo andati verso un
modello continuo ora diciamo continuo
spiegamento e parlerò di ciò
significa davvero, ma davvero è circa
ottenere cambiamenti là fuori molto più velocemente
ma ancora più importante in pezzi più piccoli
i pezzi più piccoli che si ottiene là fuori
più controllo hai su un dato
rottura è più facile da identificare
e parlerò di alcuni dei benefici
di loro questo modello in un’offerta quando io
definirlo e parlare di alcuni dei
stakeholder e sai cosa sta succedendo
su questo sarà chiaramente difficile
problema stiamo prendendo un monolitico o
vicino a un sistema monolitico è stato costruito
per circa otto anni e girandolo
in qualcosa che è un essere continuo
distribuito e distribuito più volte a
giorno e sarebbe stato difficile ma giusto
perché qualcosa è difficile non significa
non dovresti farlo in effetti se è difficile
farlo più spesso che è uno dei
idee dietro la distribuzione continua a
buona integrazione e davvero
continua tutto e si agita così
abbiamo preso su mi è stato dato il lavoro di
facendo questo perché io il sysadmin e
sviluppatore quindi ero come Steve devi
sai di questa roba, vai merda
e così l’abbiamo preso con me e pagato con
uno della squadra di sysadmin e noi
Fondamentalmente deciso che funziona come
toppa questo e poi come mai siamo venuti
a mettere sempre più persone a
ottenere questo fatto, ma questo è il tipo di
la meta-foto farà più approfondire
alcune delle idee lì dentro mentre procedo
ma cominciamo dall’inizio
inizia con un’idea di ciò che è continuo
tutto era consegne continue
distribuzione continua così mio zio lavora
è un consulente per il tipo di top
Ristoranti di Londra e gli ho chiesto come
spesso voi ragazzi consegnate che ho
curiosità intorno a questo quanti inferno come
molti pasti fai quante coperte
lo chiamano muto e qualcuno qualcuno
sedersi insieme in un luogo di servizio e
nutrire cibo quante coperture copre a
il ristorante moderatamente occupato farà 150
a 200 coperti al giorno e siamo carine
compiaciuta che facciamo
stiamo consegnando come forse due volte al giorno
quindi questo è in realtà come funziona il mondo
la maggior parte dei posti fornisce continuamente la maggior parte
le signore che lavoravano appena in tempo fecero tutto
questi cuochi stanno cooperando
urlando l’un l’altro i pesi sono
gridando al maitre d maitre d
gridando ai camerieri sono gli chef
gridando nel maitre, ma lo sono
comunicando che ottengo il lavoro
fatto e lo stanno facendo farlo in a
modo trasparente per le persone
il pavimento che mangia solo questo cibo
quindi questo è il normale pensiamo di essere
abbastanza intelligente quindi non ci sarebbe
niente di speciale su ciò che stiamo facendo
in molti modi abbiamo solo bisogno di aggiustare il nostro
le aspettative e il modo in cui lavoriamo così
rivediamo un po ‘di quello che siamo noi
stavamo parlando di quando sarà il mio
implementazione continua o continua
tutto il riassunto veloce perché loro
sono importanti perché quando si dovrebbe
guarda loro insieme tutte le idee
dietro di esso insieme inizia un modello
emergere così all’inizio c’era
integrazione continua ben prima
dove c’era la programmazione estrema a
la programmazione dello stream provo ha fatto qualcosa
che il tempo era piuttosto radicale che
era dire che costruiamo un software ogni
questo giorno era come questo era 10 anni 15
anni fa questo non era molto lontano fa con
la gente ha letteralmente lavorato per nove mesi
e poi ha fatto una build alla fine e
realizzato nessuno dei compilatori ha funzionato
insieme e trascorrere i prossimi tre mesi
cercando di portare la cosa in uno stato
dove alla fine saprai rilasciarlo
l’idea che avrebbe costruito un software
ogni giorno sono nuovi giorni prima di noi
sviluppo basato sui test o anche l’idea
di test è stata un’idea abbastanza radicale
questo è intorno ai primi giorni di unità j ma
l’idea che tu lo faccia davvero
continuamente era una nuova idea, naturalmente
al giorno d’oggi non stiamo parlando di una volta a
giorno idealmente stiamo parlando di noi
fai una build su un test su ogni commit e
faremo anche una build e test su ogni
commettere su ogni ramo che è attivo
attualmente e quando dico test sono
parlando del rilascio completo dolce questo
potrebbe richiedere fino a un’ora per eseguire noi
essere paralizzato piuttosto un sacco di alte mode
Matt giù parecchio buttando un sacco
più hardware e in realtà istanze AWS
al problema ma facciamo tutto noi
costruisci sempre tutto ciò che abbiamo sempre
prova tutto perché se c’è un
problema introdotto nel sistema
vogliamo scoprirlo non appena
possibile prima che effettivamente lo trasformiamo
una versione e ti mostrerò come quando
lo facciamo sempre un po ‘come
bene così da lì hai continuato
consegna in consegna continua è un
cambiamento incrementale davanti ma oltre
ciò che è a dire che se sei
eseguendo tutti questi test tutto il tempo e
inizi a fidarti del tuo test e di te
avere un impegno a non girare mai il
sistema in uno stato in cui non può essere
rilasciato allora questo è un obiettivo in sé
non significa in realtà fare la consegna
tutto il tempo cosa significa è che siamo
andando a mantenere il nostro albero nello stato che
non è rotto in nessun punto e qualcuno
è uscito ora che vai bene, possiamo fare
fai così sta passando il test se lo è
passando il test allora abbiamo ottenuto un massimo
grado di fiducia che è pronto ad andare
fuori così dire che non significa in realtà
facendo così ma il suo impegno a non farlo mai
questo rompe i sistemi
in realtà un’idea abbastanza nuova è stata abbastanza
difficile da fare fino a poco tempo fa
porta in DV CSS o conosci moderno
sistemi di controllo versione dove è possibile
avere molto più isolamento tra i flussi
di nuovo lavoro ti mostrerò un po ‘di
come facciamo come lo facciamo e come usiamo il
modello di sviluppo ma questo è davvero
sto solo dicendo che non ti vogliamo
mai stato messo il tuo ramo di rilascio principale
in uno stato in cui è rotto sei
non avrò mai una funzione semi-costruita
ti fonderai solo in quello
ramo principale ciò che è pronto ad uscire così
da lì ovviamente il passo successivo è
bene se possiamo farlo abbiamo paura eticamente
potrebbe fare un sacco di rilascio in qualsiasi momento
perché non ora noi quanto spesso quel rilascio
si verifica e quanto hanno cambiamenti più grandi
sono in quelle versioni interamente fino al
organizzazione quali sono i tuoi obiettivi ma i nostri
l’obiettivo finale è che non sono così completo
c’è ancora da essere, ma ogni uscita
ogni caratteristica unica che viene unita
con risultati in una versione è molto
potente idea suona piuttosto estremo
ma in realtà è un enorme miglioramento
oltre il normale modo di fare le cose
perché ti dà molto di più
controllo a grana fine su cosa sta succedendo
anche questo ti dà molto di più
funzionalità di debug su Bloodsucker
quello tra un po ‘ma il tema che corre
attraverso tutti questi è su cosa
la qualità è un impegno
avere test ed in particolare è
un impegno per avere test automatici
se puoi sostanzialmente premere un pulsante e
allora vai ho un alto grado di
fiducia in ciò che verrà
fuori da questo processo non sarà rotto
sarà relativamente caratteristica completa essere
qualcosa che non sarò
ti vergogni di buttarti fuori sei carino
molto pronto per andare dire di questo
la qualità al suo interno c’è anche il
domanda in una domanda molto ragionevole
del perché preoccuparsi del tutto posso solo se lo farà
ogni organizzazione ha i propri obiettivi
e requisiti e driver aziendali
e tutto il resto quindi ci sarà
motivi diversi che posso semplicemente darti
la nostra e loro erano chiari per noi è
importante avere una chiara idea del perché
lo stai facendo per fortuna che non è troppo
difficile da fare perché troverai persone
respingi e parlerò di questo come
bene ma la ragione principale per noi che vogliamo
per rilasciare funzionalità non discarica ciò che era
accadendo era una volta alla settimana che eravamo
scaricare tutto ciò che era pronto per andare a
quel punto ora che significava che tu fossi molto
piccolo mazzo di modifiche un piccolo schema
cambiare un po ‘di ottimizzazione o potrebbe
essere una caratteristica enorme di un sacco di
le cose sono andate a finire in flusso di lavoro
modelli di prezzi nuovi prodotti che conosci
nuovo sistema di emailing potremmo andare tutti
fuori e abbiamo avuto un controllo reale su questo
perché avevo solo una finestra da fare
quello che è stato lunedì è in Australia
così che era in realtà il nostro solo il tempo di
avere dei veri tempi di inattività l’altro
la ragione era l’automazione se qualcosa è
difficile da fare è probabilmente automatizzato
in particolare tutto è ripetitivo
non dovrebbe essere fatto dagli umani umani
peggiorare quando le cose diventano più
ripetitivi tendono a fare di più
errori mentre le macchine tendono ad arrivare
meglio , più informazioni
avere il più possibile feedback poco
bug e problemi di nuovo nei tuoi script
gli script diventano sempre più robusti come
anche un altro motivo per l’automazione che
è quello di rimuovere i colli di bottiglia che vogliamo
rilasciare più spesso ma abbiamo anche avuto un
collo di bottiglia sotto forma di esseri umani di
rimuovendo gli umani dall’equazione noi
sarebbe in grado di rilasciare e volevamo
piuttosto che quando potremmo ottenere il SIS
tempo di amministratori o il tempo di ups o sai
tempo cubase qualunque siano i due più
cose che sono automatizzate possiamo ottenere
tutto automatizzato allora
non abbiamo bisogno di fare affidamento sull’essere umano
parte del loop per la maggior parte del tempo
bisogno di ottenere il tempo delle persone che porta
noi di stiamo parlando di persone di Pete
che è molto importante è il
le parti interessate ora potresti sapere perché tu
voglio continuare a distribuirli ma a
molte persone vorranno spingere
indietro e dovrebbero farlo perché questo è
qualcosa che fai vero sta cambiando banalmente
tutto il tuo modo di sviluppare software
e consegnarlo non è qualcosa per
fai solo non lo sai perché tu
mi sentivo come mi piace così l’io molto elegante
respingi e chiedi perché e questo è
buone perché vi costringerà a nostro
rispondi di nuovo alle domande io stesso
posso solo parlare davvero del nostro
i bagni dei vincoli si spera si adattino
so che molti di questi si combineranno molto bene
Ti dobbiamo molto bene, hai fatto persone che lo faranno
respingere gli utenti sono giusti
semplice perché non lo fanno
davvero a cuore il
il modello di sviluppo a cui stanno a cuore
ottenere ciò che volevano dal
sistema ora gli utenti qui possono essere nel nostro caso
potrebbero essere utenti interni che vogliono il
l’interfaccia di amministrazione ha aggiornato l’ordine che potrebbe
essere utenti esterni che vogliamo ottenere
software per velocizzare questo è carino
Semplicemente hanno appena ottenuto il loro
funzionalità di correzioni più veloci e più
strato implicitamente solo di meno
rotture nel sistema e sta per
meno sai che ogni lunedì c’è
questo incubo notturno di entrare e
scoprire qualcosa è rotto se
lo aggiorni costantemente è molto
più di una cadenza della torta più liscia e
si spera che i problemi siano l’eccezione e
non i gestori delle regole sono interessanti
alcuni lo amano e alcuni lo odiano di più
lo adoro quando gli spiego questo
teoria sull’agile penso che uno dei
motivi per cui è stato adottato così
universalmente così rapidamente con completo
buy-in da parte di tutte le organizzazioni e
Papà Mia occasionale che conosci completo
il mudhole che si attacca regge più o meno
la maggior parte delle persone come sì questo è fantastico noi
dovrebbe fare di più perché
i manager odiano essere tenuti all’oscuro
odiano questa idea della vecchia cascata
il modello di te conosce lavoro da sei mesi
e poi improvvisamente scopri che il
i test sono passati per sei mesi
o sai qualunque cosa e lì lo sai
hai appena fatto saltare la tua consegna
pianificare completamente fuori dal muro o
acqua se stai facendo agile che stai facendo
primavera settimanale o bisettimanale
vedi che i risultati arrivano velocemente
feedback più veloce che puoi vedere su un bel
mostra cosa si sta facendo e cosa no
puoi vedere se il tuo comportamento è dietro
programma e questo porta le persone più in alto
dalle loro spalle e tutti sono felici così
con questo ancora penso che le partite siano
abbastanza facile da vendere su questa idea tanto a lungo
come si assicurare loro che si sta andando ad essere
attento a non rompere cose che
ovviamente parleremo parleremo
ma alla fine è questo è davvero un
estensione di agile a destra fino a
gli sviluppatori degli utenti finali è di nuovo questo
i motivi per cui gli sviluppatori amano la geologia
rimosso molto la marcia della morte
è andato con lo sviluppo del prodotto e di nuovo
abbiamo questo in particolare è
interessante lo vedi all’interno del
Lo sviluppo del kernel Linux ha questo
questa finestra esce ma guarda tutti
un paio di mesi bene è 12 al dice ok
Unisci finestre aperte per ricevere le modifiche
e viene gettato un sacco di roba
esso e verso di voi nella testimonianza di fusione
è folle corsa e proprio mentre si chiude
tutto per favore puoi ottenere come una cosa
perché sanno che ci vorrà
tre mesi o qualcosa per ottenere il
prossima alla prossima finestra per aprire e loro
avere un’altra possibilità di ottenere che nel
lo stesso vale per gli sviluppatori che sviluppano se ne hai
una volta a settimana o non male
una volta al mese o una volta ogni tre mesi
ciclo di rilascio che devi ottenere
roba in cui devi tagliare un fri
venerdì o giovedì ogni volta che lo farai
impazzire follemente per ottenere i tuoi cambiamenti
lì dentro o qualcuno sarà
respirando il collo ma questo significa
stai andando a tagliare angoli mentre se
tu dici bene, io ho deciso che è così
intenzione di prendere una mezza giornata in più
lucidare segretamente questo cambiamento ottenere il
gli ultimi test che ho scritto più robusti
qualunque cosa poi ci vorrà mezza giornata più a lungo
beh, questo significa che il cambiamento si spegne per metà
un giorno dopo non importa se
i tuoi cambiamenti di dare si spengono quando sono
pronto è molto più semplice e molto meno
stressante ora gli amministratori sono gli amministratori in
particolare e le operazioni sono abbastanza difficili da fare
vendere su questo perché spesso non lo fanno
piace l’idea che gli sviluppatori siano
guidando i cambiamenti nel loro
infrastruttura sono giustificabili
paranoico su questo però ce n’è uno
caratteristica davvero potente che succede sis
amore per la consegna continua
distribuzione continua quando è fatta come
il livello più estremo che è questo
quindi hai un programma settimanale di rilascio
andando su Alice ha deciso di aggiornare il
Interfaccia Ajax sulla parte frontale sul
web nel web che bob ha deciso di fare
modificare lo schemer nel database del giorno
un po ‘non molto solo un po’
per voi sapere ottimizzarlo leggermente e
Charles ha introdotto un nuovo postgresql
driver per aggiornare dopo la sicurezza è
così i cambi gratuiti escono e un database
caricare picchi che lo hanno causato a yups persone
quelli che devono capire cosa
è successo con quello che abbiamo bisogno di rotolare
indietro possiamo rotolare in avanti cosa sta succedendo
abbiamo bisogno di chi è responsabile per questo
molto molto difficile devi andare a tirarlo
a parte mettilo alla messa in scena scopri cosa
quello che succede potrebbe essere una discarica completa a
database in allestimento cetera et cetera
et cetera tuttavia se ognuno di quelli
modifiche srotolate una alla volta e se
sei intelligente e il tuo schieramento
sistema inietta una notifica nel tuo
sistemi di monitoraggio che dice la linea in
i vostri sistemi di monitoraggio vanno rilasciati
Freee è uscito qui e poi dopo Ariz
liberare i picchi del database che conosci
esattamente quello che è appena successo e lo sai
esattamente quello che devi fare circa
tu o la legione sai a chi parlare e
sai quali sono le tue opzioni questo è un
idea molto molto potente e una delle
idee più potenti di questa funzionalità
rilascio basato sulla distribuzione continua
di questo incrementale a grana molto fine
cambia le modifiche ai tuoi sistemi che tu
fine con un buon monitoraggio e buono
i sistemi di notifica improvvisamente molto
cose che prima erano complicate
diventa molto facile quindi è davvero il
saggia, parliamo un po ‘della casa
questo è praticamente il posto dove più
la distribuzione continua tende a fermarsi
la gente dice oh sì grande lo fanno il gioco è fatto
e questo è abbastanza giusto per una laurea
perché ogni organizzazione è diversa
ogni rete è diversa ma lì
non era abbastanza che dovevamo fare questo quando
non ci siamo resi conto che stavamo andando
devo rispondere a un sacco di domande
su come fare questo e effettivamente fare a
molta ricerca e scopri cosa è
i compromessi dell’acqua tra diversi
modi di fare la distribuzione continua
e quello che posso fare ora è dirti il
risponde che non possiamo inventare e
spero che vi sarà utile
ma la prima cosa che faremo è iniziare
con il flusso di lavoro di sviluppo ovviamente
l’occupazione continua implica a
flusso di lavoro di sviluppo diverso davvero
non è così diverso perché se
stai facendo quello che ho chiamato moderno
metodologia software che dire agile
cicli di rilascio brevi basati sulle funzionalità
sistemi basati su ticket e distribuiti
sistema di controllo della versione o almeno a
sistema di controllo versione moderna ma quello
non c’è nulla fatto nessun cambiamento importante
lì ma se non lo stai usando
metodologia probabilmente andando avere
effetti piuttosto difficili non andando a
davvero possibile, quindi l’inizio è
davvero buon senso questo davvero questo
idea davvero iniziata con Mozilla e
poi sviluppare ulteriormente in penso un panino
due erano piuttosto grandi su questo di tutto
è un bug tutto è un è una caratteristica
richiedere tutto è qualcosa in a
bug tracker se un bunt che aveva notoriamente
il bug numero uno era Microsoft è il
il sistema operativo numero uno al mondo
in realtà hanno chiuso quel piccolo
le cose sono più importanti, ma è abbastanza
Vero bene come il locatario hanno cambiamenti come quelli
altre tracce stanno diventando interessanti ma
loro ma l’idea è che tutto
tutto va nel budget che ho ottenuto
Mozilla aveva effettivamente un bug per un problema
sollevato per avere una parte di massa
quando viene rilasciato uno come Firefox
così tutto va nel bug tracker
e tutto e in ogni individuo
il lavoro va lì e ti rende
rendi il più fine possibile come te
briefing in epopea in storie in
piccoli compiti secondari più piccoli fino a quando non hai ottenuto
qualcosa fuori come un pezzo di lavoro
può essere fatto e poi quello ha un unico
ID e che viene utilizzato per seguirlo fino alla fine
questo porta dei grandi benefici che io
ti mostrerò verso la fine di questo
parla come usi questo su cui lavori
un ramo questo è dove la sovversione non lo è
andando ad aiutarti non è tuo amico
la sovversione particolare non lo fa davvero
ramificazione e fusione che ho usato ho fatto forse
due rami principali in sovversione
ed entrambi finirono nel disastro di quanti
le persone qui stanno usando una versione
sistema di controllo della versione distribuito così
Immagino che i due terzi abbiano
Bruxelles in sovversione o CVS o affondato
tutto questo oh sì mi dispiace, sì, lo è
un enorme bisogno deve essere un modo diverso
di lavorare ma il fatto che tu possa fare
rami e si fonde rapidamente e
indolentemente e sarai un alto grado di
fiducia nel fatto che le vostre fusioni non lo faranno
rompere qualcosa è molto molto potente
idea ma è importante che tu ti isolino
il tuo lavoro non hai modi di fare
sovversione hai fatto tutto il tuo lavoro
in anticipo e poi lo scarichi
nel sistema e spero che non lo faccia
rompere qualsiasi cosa poi fai un codice
recensione considerando che con un distributore
sistema di controllo della versione o davvero di più
con precisione qualsiasi sistema di controllo della versione
che fa ramificazione e fusione affidabili
allora quello che fai è spezzarti
fai più commit che puoi forse pulire
in su l’aria in seguito, se lo
desidero in base alla politica in merito
cambiando la storia ma entri in a
stato pulito dove hai un massimo
grado di fiducia che quando lo fai
la fusione torna al tuo ramo principale
non ha intenzione di rompere nulla
vale a dire, perché vi sarà esegue il
prova contro il tuo ramo ogni test
che si verifica sul tuo ramo principale prima di
la versione viene eseguita su ogni commit
ora che fai al tuo ramo
bisogno di un sistema automatizzato per fare questo
altrimenti è un rompicoglioni ma è così
è abbastanza semplice da fare a tutti voi
vedere il molto hardware in questo come
bene, ma è anche più economico di
tempo di sviluppatore fidati di me quindi ogni commit
risultati in un sai risultati di costruzione in a
prova la suite di test completa e poi sai
quando arrivi a quel punto finale dove
non puoi unire sei un alto
grado di fiducia che tu non sei
andando a rompere qualsiasi cosa tu possa fare
complicare le cose mentre una volta
avere il bambù può fare quello che fai tu
fai la tua build e via quella build funziona
non hai fatto una fusione fittizia o di nuovo su
l’albero e poi fai le build
di nuovo solo un doppio controllo che in realtà
non è solo una domanda che funziona ora
funzionerà in futuro anche quando
lo fai quando devi attraversare il
unire ma questo è abbastanza importante ora
una volta che hai quell’interstatale dove
pensi che la funzionalità sia completa e
tutte le prove di analizzare tutto poi
vuoi fare una fusione ora abbiamo a
regola e
viene applicato a livello del server che no
si può spingere il maestro è
sacrosanto può essere spinto solo attraverso il
server tramite una richiesta pull che usiamo
ovviamente bitbucket ma ce ne sono altri
strumenti là fuori per fare quello no
importante ma la richiesta pull è
tutti odiano le recensioni del codice ma tirano
richiesta di chiamare questo no
differenze ma richieste di tipo pull
davvero recensioni di codice una possibilità di tirare
in altre persone pete puoi anche impostare
anche altre regole quindi, per esempio
impostare una regola che è necessario disporre di
i revisori riconoscono questo a volte voi
può impostare la regola per dire una certa recensione
alcuni tipi di revisione devono essere lì
alcuni manager di rilascio devono rivedere
tutto o l’architetto deve rivedere
tutto o qualsiasi cosa o potresti avere
molto più ad hoc su siamo un po ‘di più
clemente di quello e abbiamo trovato persone
sono generalmente abbastanza buoni quando ci si fida
loro ma ci sono anche regole come il pipistrello
il nostro sistema di bambù i sistemi di costruzione
il sistema di integrazione parla in realtà
al server e dice il Builder
passando a costruire un falso in mancanza e volontà
in realtà blocco emergere se le bollette sono
in realtà non riescono a ricevere la richiesta di pull
quindi si tratta di automazione è di nuovo
su di te sai di mettere dentro tante guardie
posto in modo che usiamo effettivamente le richieste di pull
come sistema educativo e così se
hai un nuovo sviluppatore nel team
in genere li tirerò così tirerò
loro in molti e molti diversi
richiama la richiesta anche se non ce l’hanno
molto da aggiungere, impareranno ancora molto come
lo fanno è un modo di tipo giusto
apprendimento frammentario in cui un assistente
lisi le discussioni in corso e cosa
costituisce la qualità del codice sul team ecc
ma una volta che hai firmato puoi farlo
effettivamente fare per unire le ruote sono alcuni
norme in giro che può fare la firma off
in casi estremi, ma tornerò a
così quello che succede è quando lo fai
Unisci tu premi quell’unione con un pulsante
viene unito nuovamente al ramo principale
ora che ogni impegno si fonde
quel ramo principale risulta pieno
Rilascio così fondamentalmente per l’intero
processo di rilascio ogni volta che emerge
sul ramo principale questo è questo
sviluppo basato su funzionalità ogni versione
ha un cambiamento che potrebbe essere
rintracciato a un ramo hai avuto questo
vera tracciabilità idea di hai un
rilasciare il rilascio ha un numero che
il numero torna a un’unione con la fusione
torna a un ramo al ramo perché
a un biglietto originale e quindi lo sai
quella ragione particolare contiene il
contenuti o cosa si suppone essere raggiunto
da questo biglietto qui e da questo
questa idea di cracking va fino in fondo
attraverso così questo si spegne nel nostro caso come
un server di staging è il server di staging
dove introduciamo gli umani nel
processo sta facendo anche richieste di pull
ovviamente gli sviluppatori lo stanno sviluppando
ma a questo punto probabilmente torneremo a
il cliente originale la persona che
sollevato una richiesta di pull forse il bas ottiene
coinvolti forse otteniamo alcune persone del QA
è un critico ne tirerà ancora un po ‘
la gente in alcuni farà il blitz e
testarlo se è forse un punto critico
uno perché non è abbastanza iterato
a mio parere che il software è il verso
dagli umani per gli umani sono i computer
solo un giorno per il trasferimento dei dati
all’indietro e cade tra gli umani e
altri umani umani devono essere coinvolti
nel processo un certo punto se non siete
anche gli umani volva nel processo che sei
qualcosa che va storto, gli umani hanno orsetti
giudizio migliore su certe cose ma
l’originale è se ottieni la maggior parte delle cose
può essere automatizzato così puoi anche fare come
il più possibile, ma alla fine
gli umani hanno bisogno di essere coinvolti nel
processo a un certo punto in modo da fare questo in un
staging o il sistema quindi se lo facciamo per
dispiegamento continuo sul
sistema di stadiazione e poi gli umani ottengono
coinvolto e va bene è lo stesso solo
a quel punto promuoviamo fino a
produzione e ciò che esce
la produzione è esattamente ciò che era acceso
messa in scena non c’è una costruzione separata e
una versione separata di ciò che esce è
esattamente cosa c’era sul server di staging
quindi abbiamo un alto grado di fiducia
che funzionerà in produzione
non sapere mai che cambi strani stiano andando
si verificano tra queste cose possono fare
la build può essere specifica per l’ambiente
a volte non dovrebbe essere ma
sono tutti sanno che funziona
sul mio computer non funziona su
la produzione pensa alla storia ma è carina
tanto è così che è così com’è
ad un punto ancora questa una delle aree
dove la gente appoggia la soia
la salsa si ferma qui ma è qui che si trova
diventa davvero interessante per me questo è
il modo in cui è diventato abbastanza difficile
questo è ciò che chiamo l’ultimo miglio come farlo
ottieni quella roba sulla scena
server e, soprattutto, come si ottiene
su un server di produzione come hai ottenuto
al server di produzione
quando potresti avere la conformità di Sox
potrebbe avere una dozzina di firewall in mezzo
qua e là e ogni sorta di cose
come si fa a fare in modo che non stai andando a
sai che questo sistema è abbassato
davvero dove DevOps inizia la sua più vera
senso intendo DevOps è un po ‘perso il suo
un po ‘ penso che ce ne siano alcuni
la gente dice che DevOps è tutto ciò che non sono
facendo particolarmente gli sviluppatori
gli sviluppatori di tutti i DevOps sono a
certificazione è una suite di strumenti è
è una distribuzione continua o qualsiasi altra cosa
ma che dovrebbero essere sempre
sulla cooperazione tra sviluppatori e
operazioni e questo è davvero dove
questo è assolutamente vero perché a
avere il tuo software su quello di questa macchina
dovrai parlare con la sorella
amministratori e tu dovrai farlo
collaborare con loro e venire con il
la migliore soluzione e ogni organizzazione è
sarà diverso, posso dirti come
dovevamo fare questo posso darlo a
linee guida e darvi il processo che
siamo andati attraverso per scoprire il meglio
strumenti per noi ma alla fine lo sei
comprare dagli amministratori SIS è tutto
andando a sbaglio, hai bisogno di loro di cui hai bisogno
fidarsi di loro e hanno bisogno di fidarsi di te
quindi questo è ciò che DevOps dovrebbe fare
essere al suo cuore, quindi dovresti andare e
parla con i tuoi amministratori di sis e prendili
coinvolto solo due tipi di detti mezzi
quelli che sono come yeah facciamolo
è quello di essere impressionante bene giocherò con il nuovo
i giocattoli e poi sono gli altri
mi piace come l’idea di questo, ma tu
bisogno di vincerli a volte a voi
fare in modo che Fink faccia pensare loro di essere loro
l’idea è quella che è una bella lil
trucco, ma è molto a
la questione delle grandi aziende va bene
avanti vai vai a comprare una birra
o qualcosa e devi parlare con questo
questo significa e alla fine lo sono
inizierò a discutere dei modi pratici di
ottenere il codice su un server possibilmente un
AWS possibilmente nel tuo bunker sicuro
nelle montagne del Nevada ai membri del monte
in Nevada ma un epilogo dovuto venire
torna da te e dì che dovremmo usare
fantoccio sempre Tu chef probabilmente perché
hanno un burattino o uno chef in produzione
in questo momento questa è la risposta sbagliata
non fare questo e questo è molto
importante il filo è effettivamente molto semplice
pop e condividere per circa la gestione di se
struttura in particolare sulla gestione
infrastruttura a livello di server ma
le tue preoccupazioni non riguardano il server
urne di osservatori di livello sono al
applicazione e quasi il livello cloud
le forme di YouTube usano anche il termine cloud
ulteriormente ma il tuo nucleo trasversale
preoccupazioni si sa preoccupazione guarda a detto
a proposito del livello del server che stai facendo
livello di applicazione in termini di j2ee o
conosci qualcuno che conosci il blob del codice
in esecuzione da qualche parte sei preoccupato
database e load balancer e il
rete tra loro e vedere se
c’è più di un server e uno di
quei server su diversi data center
perché hai l’ultima operazione di recupero
sei una preoccupazione trasversale che dici
burattino o cuoco voglio questa macchina
guarda in questo modo come arriva
interamente fino a farlo parlare a burattini o chef
Ho bisogno di questa massa amorfa di cose
accadere in un ordine specifico non è per me
davvero pratico è molto possibile
sai se eri veramente timido?
burattini o maestri dello chef a venire con
qualche trucco per farlo ma non è buono
idea per cui inizierai a guardare
altri strumenti strumenti sono progettati più per
orchestrazione e c’è quello che chiamiamo
agenti di orchestrazione ce ne sono tre
due tipi di orchestrazione là fuori
uno è basato su agenti ora è possibile
che lo hai già fatto
là ci sono un sacco di loro là fuori
saltstack è piuttosto alla moda che non ho mai giocato
di esso è ancora sulla mia lista di cose da fare
Sono collettivo per il quale abbiamo effettivamente usato
la nostra completa offerta di Claire per un po ‘
a quanto pare non mi cita su questo
apparentemente da qualcuno che lo sa
roba porta alla memoria come non lo faresti
credo che ci sia un vero problema
alla fine la soluzione era solo andare
riavvialo ogni mezz’ora, quindi agente
sistemi basati probabilmente dovrebbero
chiarire quando hai un pezzo di
software che gira su ciascuno dei tuoi server
e eseguirà azioni sul tuo
per conto di questo è un modo sostanzialmente giusto
fare cose attraverso il tuo grande cloud
di varie macchine è lo stesso bambù
in realtà un sistema basato su un agente voi
potrebbe potenzialmente usare questo funk
altri sono là fuori il punto
ecco che se la tua sorellina succede già
averlo a posto se lo fossero già
con questo tipo di metodologia sono
usando M collettivo o saltstack o
qualcosa a cui fare tutti i loro cambiamenti
l’infrastruttura del gestore lo usa
assolutamente perfetto non è probabile con quello
tuttavia se stai iniziando da zero
se loro o loro non hanno questo tipo di
capacità là fuori dalla massa
modifica di macchine in sequenza
Allora avrai dei problemi
perché dovranno rotolare
fuori tutte le nuove infrastrutture e questo è
generalmente non è qualcosa che stanno per
voglio farlo è qualcosa che probabilmente
non voglio farlo ci vuole tempo però
è molto probabile che abbiano già un
massiccio parallelo distribuito
modifica dell’architettura in atto
si chiama SSH è quasi certamente
già là fuori è sicuro che ha
controlli a grana molto fine puoi mettere tutto
tipi di interessanti o di autorizzazione
sistemi su di esso si può limitare ciò che
un dato utente può fare puoi creare un manichino
utenti che hanno solo molto limitato
controllare l’accesso alla tua infrastruttura
over ssh è probabilmente il tuo modo di essere
andando a voler andare se non lo fai già
avere un’infrastruttura lì
sono un numero di strumenti là fuori
ti aiuta ad automatizzare questo modo di usarlo
quindi praticamente camminano lavoratori
sistemi di orchestrazione ma non li usano
i loro otto agenti usano solo SSH
come trasporto puoi semplicemente scrivere questo
con bash se vuoi davvero questo
tessuto come capistrano come ansible ansible
abbastanza hip che usiamo ora questi sono
gli strumenti che guarda in modo ciò che è necessario
hai bisogno di sederti con tua sorella
succede chi ottiene idealmente qualcuno
chi sarà distaccato in squadra
quando hai assunto Don oggi la loro squadra
e tu lavori insieme , entrambi avete il
lavoro di sistemarlo idealmente
entrambe le squadre insieme e devi andare
attraverso ciò che è l’ecosistema attuale
non ci vuole molto tempo questo abbiamo scelto
ansible e questo è male un anno e un
mezzo fa la parola che il sistema di eco può
il cambiamento sta rapidamente cambiando il mondo giusto
ora quindi basta fare un tavolo solo avere un
elenco di tutte le opzioni disponibili
vai a caccia di qualche sorta di tessuto ansibile
e qualsiasi altra cosa e avere una lista dei loro
proprietà e solo in attesa
a vicenda prendine uno o due provali
e impara a farlo con questo è gli amministratori
perché il sysadmin sta per essere
la gestione di questo sistema e hanno Gonna Be
scrivere alcuni di questi script ma
c’è sviluppatori si sta anche andando a
scrivere questi copioni è tutto nostro
script di distribuzione effettivamente scritto da
i nostri sviluppatori ma poi hanno firmato
il nostro team operativo così devi essere
sia lavorando in questo è DevOps nel suo
il senso più puro è il silos che si rompe
ma posso dirti cosa non abbiamo ancora fatto
questa è la nostra soluzione per l’ultimo
miglio sembra che il bambù lo crei
queste uscite sono spinte a
quello che viene chiamato un ambiente di distribuzione
Ne parlerò brevemente un po ‘
più tardi, ma il bambù ha questo concetto di
capisce l’idea che ci sono
ambienti diversi che potresti essere
interagire con in particolare il mio
ambiente di sviluppo per antipatia
per le scatole di corsa può essere in un ramo
uno quindi hai un ambiente di staging
e un ambiente di produzione e
capisce che esistono e che tu
vuole diverse versioni del software per
sii nostro ciascuno in tempi diversi
capisce anche che hai i permessi
intorno a chi può dispiegarsi a questi diversi
ambienti quindi c’è un agente
corre ed è tutto ciò che l’età può fare è
parla con uno della produzione
ambienti o la distribuzione
ambienti realizzati in scena o sviluppo
e collo Adobe per la costruzione e loro
erano usati per parlare con più di uno
ambiente questo è per motivi di sicurezza
non vuoi che qualcuno esegua una build
su un agente che ha accesso al tuo
sistemi di produzione quindi è necessario
separare la distribuzione
ambienti lontani dalla tua build
l’ambiente con cui si presenta il problema
continua la distribuzione che sfuma la linea
tra produzione e sviluppo come esso
Dovrebbe, ma tu non vuoi il
sviluppare il potere degli sviluppatori
chi dovrebbe avere tanto potere quanto
possibile, quindi abbiamo sanguinato nel tuo
produzione di armi ma dovrebbe essere molto
più blocco e soprattutto se tu
ho visto se hai la conformità Sox o
Problemi di conformità PCI che stai per fare
trovare quello che vuoi avere molto
regole specifiche dicono solo certe persone
può effettivamente accedere a questi strutturati
ambienti ora uno come le persone possono essere
questo agente e quell’agente ha una chiave
chiave ssh specifica a cui è abituato
accesso alla produzione o alla messa in scena
ambienti quindi è necessario isolare molto
molto diciamo che usiamo il bambù per fare questo tu
può usare altri sistemi ci sono
implementazione dedicata continua
i nostri sistemi di distribuzione sono mitralici ibridi
modello in bambù scopriremo cosa
funziona per te sai chi usa Jing Jenkins
per questo non voglio scambiare uno dei nostri
concorrenti non intendo che non intendevo me
Voglio andare a qualsiasi cosa io non sia
non è il mio modo qualcosa di duraturo a
Molte persone sono persone intelligenti che utilizzano
questi strumenti non ha un problema principale
non ha commissioni forti se tu
hai un calzino o regolamentare
requisito per le autorizzazioni che si desidera
essere molto attento su come puoi
chiudi e dici solo con certezza
le persone possono eseguire rilasci in determinati
ambienti nel nostro caso i nostri sviluppatori
non sono mai autorizzati a schierarsi in un
ambiente di produzione questo è un
concetto di separazione dei compiti che è
richiesto entro l’estate da alcuni regolatori
la persona che sta sviluppando non può essere il
persona che accede a un sistema di produzione
quindi il seguito leggermente qui continua
dispiegamento continuo significa questo
continuo giù giù giù tempo il
la risposta è dipende da ascoltare essere un po ‘ di
un tema da sapere su questo particolare
conferenza quindi uno dei motivi per cui
ha preso così tanto tempo per noi per ottenere questo fuori
c’era perché dovevamo costruire un massimo
sistema di alta disponibilità a cui rivolgersi
il nostro sistema monolitico in qualcosa
che potrebbe essere arrotolato potrebbe essere
aggiornato senza dubbio i tempi di inattività lo farò
dare è un aiuto abbastanza rapidamente ansibile
tu con questo ansible ha il concetto di
aggiornamenti continui e ha un concetto di
operazioni pre e post per ogni aggiornamento
quindi cosa fa l’ansible per noi
contatti il servizio di bilanciamento del carico accetta a
server fuori produzione quindi
lo aggiorna ed esegue un mucchio di
prova su
per garantire che sia effettivamente e
correndo correttamente, allora lo metteremo
di nuovo in produzione e passare al
il prossimo server si fermerà se qualsiasi server
fallisce puoi vedere che puoi specificare
alcuni cluster può essere un servizio
aggiornato se hai un ammasso massiccio
puoi aggiornarli in lotti di a
piccolo che vuoi fare in una serie di
uno alla volta, ma è necessario alto
disponibilità per questo se sei
rilasciando una volta alla settimana va bene se
stai rilasciando più volte al giorno
parlerai di molto
di dubbio il tempo morto è l’ultima sezione
gestione questo non è ancora non toccato
su molto molto spesso qui a parlare di
implementazione continua che devi essere
in grado di rintracciare questo fine alla fine parlerò
brevemente sulle tapparelle del controller
abbiamo già coperto la distribuzione
ambienti dentro bambù sei tu
consideraci ambienti diversi che
avere diversi ruoli e il tuo
organizzazione come messa in scena dello sviluppo
produzione ma tu vuoi spostare il
rilascia tra di loro ogni versione
sembra davvero un normale piano di costruzione
questi sono solo un elenco di compiti che
verificare sul rilascio di un disegno di legge che avrebbe
stata costruita la guerra nel nostro caso il
l’applicazione java passiamo come a
trama come un binario binario e poi abbiamo solo
controlla i nostri script ansibili che sono
ci sono git repository e noi gestiamo i nostri
dispiegamenti questo è carino
semplice ma gestisce anche
rilasciare numeri anche per noi e cosa
succede è che puoi vederlo qui
l’ esempio particolare tenuto dal modo è
una parte del nostro un micro servizio che
si occupa della distribuzione sul nostro cloud
ambiente in cui puoi effettivamente vederlo
ci sono ambienti diversi liberi
hanno messa in scena e produzione di sandbox
e ognuno di loro ha un diverso
rilasciarlo ora è un buon bambù
tenendo traccia di ciò che viene rilasciato dove ora questo
ci dà un altro concetto davvero potente
che biglietto di gestione basato questo è
torna indietro al membro di inizio ha detto
traccia tutto in un bug tracker e
quel bug tracker sarà te e il loro
l’ID traccia sarà un codice univoco per LT
è così che comunica all’indietro e
in avanti quindi quello che hai qui è questo
il biglietto originale come puoi vedere è
è stato quello che impazzisce
si sono verificati su questo così il camion bug
sta parlando con l’ ambiente stash due
di due il nostro server get e sa come
si sono verificati molti commit in merito
questo perché sa che c’è un
ramo quindi guarda ai nomi delle filiali n
questo è il ramo relativo a questo
particolare lavoro e sappiamo
c’è una richiesta di pull che è stata richiesta
unito anche così sappiamo che sappiamo il
stato di sviluppo che possiamo effettivamente
guarda i nostri biglietti originali diventa nostro
cruscotto in questo ora ovviamente lo sono
parlando di jira e bambù e il
riposa qui perché questo è particolare
quello che uso ma questo non c’è motivo
perché non puoi farlo in altri sistemi
ovviamente va da me
punto di vista è facile farlo
bene, allora questo ti dà davvero
idea davvero potente se tu se bambù
sa è gli ambienti di distribuzione e
è un numero di biglietto che si apre
cosa puoi fare su ciascuno dei nostri biglietti
vedi questo particolare pezzo di lavoro
è stato unito e una distribuzione
si è verificato che distribuiamo al dev
l’ambiente deve essere schierato come il
l’ambiente di staging non è ancora stato
distribuito nell’ambiente di produzione
ora questa è davvero un’idea davvero potente
come qualcuno che deve lavorare
fatto di persone che urlano nelle tue orecchie
perché se dai questo al tuo
i clienti raccolgono un biglietto e poi lo faremo
mostrarti in quel biglietto ogni pezzo di
il lavoro è fatto bene , puoi vedere il
lavori in corso si può vedere che il
costruisce stanno fallendo si può vedere che
mentre aggiustiamo che puoi vedere è stato
una richiesta pull è stata unita è sparita
fuori nella messa in scena voleva Oh messa in scena bene
Posso davvero andare e andare e avere un
guarda ora oh è andato nostro
la produzione è finita, le persone ti lasciano
le persone sole non badano alle cattive notizie loro
non importa che capiscano che hai
bei giorni e brutti giorni
lo sviluppo non significa veterani
perfetto tutto il tempo ma odiano essere
tenuto all’oscuro se li dai
l’informazione di lasciarti in pace è
davvero molto potente ho idea così è
dove arriva questa gestione di biglietterie
se riesci a tenere traccia delle tue modifiche
entra direttamente nella produzione
ambiente l’utente può vedere questo
giorno puoi farlo con JIRA che puoi fare
costruisci piccole palline da lancio
qualcosa del genere sarebbe molto carino noi
usato per avere una palla che scorre
mostrarti
sai correre a costruire un po ‘
i wallboards ti mostreranno cosa succede
ogni previsione quale versione in
quali rami sono aperti attualmente e
in quale uno è stato distribuito
ambienti diversi quindi questo è davvero
potente in realtà puoi dare il
informazioni per i tuoi utenti finali e portare
sul computer che tiene traccia di questo per te
dai semplicemente lascia che si occupino di
utente al front end e meno e
puntali verso qualcosa e dì lì
vai a lavoro sta succedendo su questo diritto
ora quindi andiamo a concludere qui
Mi piace solo reiterare i punti principali
qui hai una chiara motivazione per il perché
lo stai facendo non solo fallo
perché è bello è divertente e anche se
sai che puoi introdurlo di nascosto
da qualche parte che è sempre divertente se a
il flusso di lavoro di ramificazione è assolutamente fondamentale
deve mantenere le tue modifiche separate fino al
sono pronti a deporre già e poi
devi testare quei cambiamenti ed essere avere
un alto grado di fiducia che quando
li unisci loro saranno al sicuro ma
alla fine si tratta di cooperazione è il
DevOps nella sua forma più pura è circa
cooperazione tra persone e strumenti e
automatizzare il più possibile e poi
i pezzi che non puoi anche farne
la cooperazione si tratta di parlare con il
persone che hanno bisogno di parlare e su
mettere tutti sulla stessa pagina e
avendo gli stessi obiettivi e alla fine
avere molto più rispetto l’uno per l’altro
gente se entri a lavorare insieme
generalmente avrà molto di più perché
tutti capiscono l’uno dell’altro
vincola le cose che li guidano
su base giornaliera, quindi è la fine
del mio discorso su un ordine da un miliardo di dollari
il sistema sembrava alla parte da un miliardo di dollari
sembrava funzionare abbastanza bene, solo
ricorda di votare questa sessione, penso che lo siamo
andare per ulteriori domande verbali se tu
sono molte domande che sono felice di prendere
li unghia e sarò impiccato
intorno al resto della conferenza di
il cibo, per favore, sentiti libero di prendermi
quando puoi
quindi la domanda è che siamo finiti
dividendoli in piccoli sistemi
microservices è la nuova parola alla
momento moment yeah no um è mio
accento combattivo quando do brutte notizie
quindi se vuoi hackerare ne senti parlare
questo è meno il vertice di Ian non è un in
Novembre e come qualcosa di cui parlare
su di lui su quello che è successo da quando ho
lasciato quella squadra su questo breakout
sistemi monolitici o lavorare di più
sistemi monolitici personali
l’esperienza è che è più difficile di quello
sembra che tutti vadano e io vada così AAA
lo infrangeremo in questo e
ci sono i clienti di un cliente
servizio in quanto conosci il database dei giorni
selezionare database in pratica molto
più difficile di quanto sembra perché così tanti
dipendenze implicite trasversali cosa
abbiamo iniziato a fare sono stati malati i nuovi sistemi
trasformato in nuovo è un nuovo codice in cui è
è un nuovo micro servizio quindi se lo è
più una domanda non era tanto
che lo abbiamo diviso mentre iniziamo ad aggiungere
in servizi sempre più piccoli in giro
gli esterni e lascia che l’interno il
dentro atrofia fino al punto in cui è diventato
sempre meno critico e il suo inizio
diventando più simile al motore logico
al centro del sistema ma cose
come l’emailing o il web front end o
parlerà con i nostri sistemi di conteggio
diviso tanto in sistemi più piccoli
come possibile stavamo usando resti dove
siede in sincrono e stiamo usando l’accodamento
sistemi in particolare coda per
il nostro per dove è un asincrono il
la ragione di essere una coda arrapata è forte
le garanzie transazionali non si usano
activemq gira circa la sua XA
transazioni o cadere tra le speranze
la loro domanda di risposta quindi la domanda è
potremmo usare i selettori di funzionalità invece di
caratteristica rami sì, ma si deve
avere un alto grado di fiducia in quello
il codice è che si sta mettendo in
non c’è intenzione di rompere qualcosa
i tuoi pulsanti di attivazione non sono danneggiati
rotto così puoi assolutamente farlo
secondo Gartner penso che alcuni anni
fa questo è il modo di farlo
è proprio ora
i rami di funzionalità sono disattivati
sono in I’m a diffidare delle funzioni di attivazione / disattivazione
perché implica un grande architettonico
cambia ora se stai facendo microservizi
se hai un’architettura molto forte
è molto interfacciato e sì, ma
i rami di funzionalità generalmente funzionano
in questo momento Fuji alterna significa re
architetti nel tuo intero sistema
assolutamente così dipende molto se tu
voglio fare cose come un test delle api
le levette di funzionalità sono assolutamente la via
per andare cuz puoi costruirlo in qualsiasi modo se
sai che devi assolutamente fare
questo cambiamento quindi sì sì è giusto
domanda se hai la funzionalità per il tuo
sistema costruito in modo tale funzionalità
i commutatori sono possibili che è sicuramente un
la strada da percorrere comporta comunque qualche rischio
secondo me, ma so che non è molto
quindi questa è un’opinione molto forte a
questo punto non è qualcosa che ho fatto
una quantità enorme di è sicuramente un
approccio diverso a pagamento se sei
adattato in questo modo sì oh questo è un
domanda stupenda, usiamo un bicchiere in JIRA
il miglior bug tracker al mondo sì
è praticamente ora che è con il nostro
i nostri prodotti noi cuciniamo loro le persone
generalmente facciamo cibo per cani, così facciamo
in realtà il suo problema, quindi in realtà
fare la consegna continua per conto nostro
sistemi interni così spesso
a volte colpiremo il successo
bug e così via, perché siamo
enorme corsa sul bordo sanguinante
ma non vuol dire che li prendi abbastanza
funzionalità interessanti che facciamo l’integrazione di
il modo in cui il grande segreto qui non lo dice
Qualcuno della mia compagnia ti ho detto che è così
tutto a riposo, non c’è ragione
perché se tu stai usando JIRA ma
sei bloccato su Jenkins che non puoi fare
la stessa API chiama quel bambù
fai tornare indietro questa informazione ma
Non ti ho detto che va bene, grazie
molto
tu
Please follow and like us: