
Sono stato a pensiero atlassico ero
ai ganci sono stato atlassiano per
circa un anno e mezzo di lavoro sul
offerta di servizi on-demand è la nostra
offerta ospitata e che viene fornito con a
molte sfide con il software che ha
stato costruito per gli ultimi 10 anni per
scaricare ed eseguire in verticale
server in scala quindi parte dell’appello per
on-demand sta ottenendo nuove uscite
rapidamente e abbiamo preso la decisione di cambiare
il modo in cui abbiamo consegnato il software in modo che noi
potrebbe ottenere nuovi riguardare nuove funzionalità in
gli utenti passano velocemente e questa è una storia
di quel viaggio finora comunque così chi
qui ha usato o sa di confluenza o
JIRA eccellente e abbiamo lo sviluppatore
strumenti di cui potresti aver sentito parlare
stash è un nuovo strumento per dvc s
gestione dietro il firewall e
bitbucket è la versione ospitata di
servizio in hosting, vi facciamo solo sapere
come pronunciare questi atlassiani è
non elisiano che è atlassiano ed è
JIRA la JIRA è giapponese
gojira che è Godzilla che è come
bugzilla abbiamo preso il controllo quindi è quello
l’origine di quel nome ci sono molti
e molte installazioni del nostro software
correre per il mondo che sto facendo
conservatore dice che ce ne sono cento
venticinquemila installazioni
in esecuzione proprio ora del nostro software
ce ne sono molti di più ma è così
difficile da contare nell’area ospitata che conosco
esattamente quanti ce ne sono finiti
poco più di 18.000 ora sono 18.000
istanze cliente e questo è tra
uno e cinque dei prodotti in corso
ognuno di quelli così ancora è nel
100.000 applicazioni in esecuzione
ora su richiesta
quindi questa storia è iniziata forse due o tre
anni fa allora stavamo consegnando
software una volta all’anno a volte fino a
tre se c’era una caratteristica importante
doveva essere messo lì fuori ma
consegna approssimativamente una o due volte all’anno
per il per le applicazioni che è
abbastanza lento e poi abbiamo deciso di andare
ad un ciclo di rilascio di 98 giorni, quindi c’è un
grande spinta per cambiare il modo in cui abbiamo lavorato
andare a un rilascio di 98 giorni in modo che potremmo
ottenere funzionalità più spesso, ma ancora una volta
era ancora piuttosto pesante e
consegna a tempo indefinitamente lento
prodotti allo studio JIRA come veniva chiamato
al momento l’offerta ospitata era
mensile ora non era ogni prodotto
ogni mese era approssimativamente uno dei
i prodotti sono stati consegnati in studio e
confezionato e Andrey consegnato nel
ospite dell’offerta ma poi quando io
uniti abbiamo deciso , andiamo a
uscite settimanali settimanali su richiesta e
era solo una chiacchiera pazzesca, ma è così
parte dell’appello di avere un
Il servizio SAS deve essere in grado di essere rapido
rapido rapidamente fornire funzionalità così noi
ha iniziato a cambiare processo e strumenti
ma abbiamo scoperto che non era il solo
cosa ci sono molti problemi anche io
volevo consegnare giornalmente, ma quello è
un che è nella parte successiva della storia
quello che avevamo era questo che avevamo questo enorme
team di ingegneri che costruiscono tutti quelli
prodotti e facendo il loro iterativo
cicli ma ancora solo verso la fine
quando stavano per lanciarli
iniziato a parlare con persone di marketing e
aggiornando la documentazione e poi loro
consegnato al team on-demand
e ha detto che va qui è la nuova versione
il prodotto e poi il team su richiesta
aprirlo e apportare le modifiche
necessario integrare in the on
situazione della domanda e consegnarlo e
a volte quello era mesi dopo il principale
rilasciare il prodotto
quindi non era affatto accettabile, quindi no
solo era irregolare era anche abbastanza
tardi dopo così su richiesta gli utenti erano
ottenere le funzionalità molto più tardi
che se tu avessi scaricato ciò che noi
il voluto era più simile a questo
ognuna di quelle a cui punta l’iterazione
undermanned hanno caratteristiche lì così noi
ha detto di cambiare ciò che abbiamo fatto noi
devono passare prima che ce ne fossero alcuni
i problemi di lunga durata hanno preso il sopravvento
quattro ore per costruire JIRA e confluenza
solo per la pipeline on-demand così giusto
i test funzionali da dire è questo
versione del prodotto funzionante in
contesto on-demand oltre quattro ore e
quello era in cima a molte altre ore di
test funzionali i prodotti di download
passerei attraverso sì siamo diventati diversi
vincoli e non sappiamo che cosa sappiamo
hardware su cui stiamo lavorando sappiamo cosa
sistema operativo su cui stiamo lavorando
sapere quale database utilizziamo, quindi c’è un
è un po ‘più facile da testare
domanda non abbiamo tutto il diverso
variazioni ma è ancora abbastanza a
processo lungo molto debito in
costruire un processore sopra a quelli
10 anni fa molte ipotesi
ci sono voluti circa tre mesi
ottenere un bordo verde completo che sai di vedere
pannelli murali e ci sono un paio di
cose che sono rosse ea volte
c’è sempre una cosa da leggere da qualche parte
da queste parti quindi abbiamo deciso di no
voglio che vogliamo assolutamente ecologizzare
dappertutto il bordo verde completo così ci è voluto
molti mesi di lavoro diligente per ottenere quello
accadendo e ogni prova traballante a volte
hai questi strani test che ci sono
una strana dipendenza da qualche parte nel
pipeline e fallirà per no
motivo particolare in una build di quattro ore
è davvero fastidioso perché quando
succede che tu ritorni al
iniziare e riprovare e quindi a
il diverso test dei fiocchi fallisce quindi puoi
immagina le inefficienze che arrivano
con quello
avevamo anche una squadra in crescita che tu lo sai
quella grande squadra di ingegneri è raddoppiata
nell’ultimo anno o giù di lì e il
strumenti in particolare cose come svn o
trattenendoci abbiamo avuto tutti questi maltesi
più flussi di lavoro in corso e aggiunta
caratteristiche ai prodotti e alle cose
come svn ci trattenere indietro ha rosa
su richiesta quella consegna settimanale a
il team downstream doveva aprirsi
il prodotto e rimetterlo insieme
è stata un’enorme quantità di lavoro per farlo
ogni settimana non ogni prodotto era
cambiando ogni settimana ma ma molto
loro erano e noi e quello abbiamo preso molto
tempo e impegno, poi cercando di adattarlo
in un ciclo settimanale è una vera sfida
qualcuno ha fatto il Dragonslayer
sfidato è un documento è esso
ha detto che è nella documentazione è tutto
è una ricerca per integrare il
applicazioni di vetro e che possono prendere
un giorno o due per completare la prima volta
lo fai e dobbiamo farlo ogni
settimana quindi qualcosa che prende così tanto
lo sforzo doveva cambiare là era là
un aumento di alcuni dei plugin per quasi
prodotti di prodotti stessi così nessuno
usa Greenhopper sai che è un
plug-in su JIRA ma è tutto
quasi un prodotto a sé stante e
fanno cambiamenti molto rapidamente che usano
un candore e un approccio di sviluppo così
le loro funzionalità si aggiornano continuamente
e sono stati trattenuti perché il
l’applicazione che ospitavano in JIRA era
consegnando ad un ritmo diverso e noi
volevo essere in grado di averli in grado
consegnare indipendentemente da quello ospitato
prodotto e e e consegnano
caratteristiche completamente diverse per gr e
birra e per loro di essere in grado di farlo
tutto da soli e ogni piccola croce
dipendenze del prodotto che erano a
molti di loro ma nessuno di questi crea
una battaglia di sincronizzazione infernale da provare
e fai alzare tutti a destra
versione in un intervallo compatibile e quindi
consegnalo tutto allo stesso tempo
non va bene per la sfida che abbiamo avuto
e sai che lo stiamo facendo ad un
ambiente online e per
scarica così le persone possono scaricare
i prodotti allo stesso tempo
il backlog è stato guidato per l’ultimo decennio
dai clienti di download che è dove
la maggior parte degli utenti vengono da e sviluppatori
aspetterebbe molti mesi per ottenere un feedback
dagli utenti quanto a cosa cosa
dovevano cambiare per il prossimo
gli sviluppatori di prodotti di rilascio pensano anche
sui loro problemi e se sei qui per
Il discorso di Sam è un grande consiglio
ci pensano gli sviluppatori del prodotto
i problemi nel contesto di un singolo
in un solo istante vuoi sapere solo
JIRA in esecuzione o semplicemente la confluenza in esecuzione
un server aggiunge più RAM che risolverà
il problema ovviamente in un ospitato
ambiente Ram è il più costoso
risorsa che abbiamo e non c’è
molto di più, aggiungendo più RAM non è un
soluzione pensano anche a cose dentro
termini di una singola istanza quando arriva
per aggiornare le attività o apportare una modifica
migra bene i dati quando hai
18.000 di loro corrono allo stesso tempo
e farlo all’incirca allo stesso tempo
essere aggiornato all’incirca allo stesso modo
tempo c’è un cambiamento nel mio set richiesto
anche così ho 40 a 90
migliaia di applicazioni in esecuzione al
stesso tempo e se stanno tutti facendo un
attività di aggiornamento c’è un sacco di i / o andando
su c’è molta RAM usata molto
della CPU bruciata quindi tutto il problema
con la guida del backlog dal da
scaricare i clienti era che non lo eravamo
pensando all’impatto sulla domanda
e il problema della consegna continua
abbiamo avuto lì così quello che era alcuni dei
cose che abbiamo fatto per risolverlo
abbiamo cambiato idea su come vorremmo
pensa al codice sorgente e e
sempre con un sistema sempre eseguibile
cultura in cui tutto ciò che registro è
eseguibile se è distribuibile da
padroneggia così quando teniamo al posto del
vecchia mentalità e sovversione dove tu
sapere dove si trovava bene il tronco
prima di tutto ma c’era molto
di spazzatura nel bagagliaio abbiamo cambiato cambio
quella idea di dire che conosci un puro a
il maestro incontaminato è ciò di cui abbiamo bisogno perché
in qualsiasi momento, qualunque cosa nel master potrebbe
essere preso e distribuito su richiesta
in produzione abbiamo anche migliorato il
regolarità degli artefatti di download a
ogni due settimane quindi ci sono pietre miliari
ogni due settimane è fantastico se lo sei
nell’ecosistema di sviluppatori di plug-in
o sai che sei un’azienda
si basa sui prodotti e ha il tuo
i propri plugin che hai scritto puoi
tieniti aggiornato con le modifiche come
stanno accadendo ed essere più pronti
per la grande uscita quando succede
la confluenza ha anche questa capacità
in realtà di fare un aggiornamento senza soluzione di continuità così
sono in grado di cambiare il software
che puoi avere due confluenze
correndo allo stesso tempo di nuovo
i sams parlano ci sono dei consigli lì
di fare come farlo e così possiamo
avere due conferenze in corso allo stesso
tempo uno è la vecchia versione uno è il
nuova versione ed essere in grado di avere un
senza soluzione di continuità il passaggio al nuovo
versione in modo che gli utenti non effettivamente
sperimentato qualsiasi cosa in termini di un
interruzione che non stiamo usando su richiesta
perché richiede due conferenze
correndo subito ma abbastanza presto lo faremo
essere in grado di farlo anche l’integrazione
architettura i prodotti non erano davvero
costruito per lavorare l’uno con l’altro ma con gli umani
sembrano come utilizzare usarli insieme in
lo stesso flusso di lavoro generale così siamo
tirando a parte l’esterno della
prodotti e rimettendoli insieme
in un modo in cui possono parlare a ciascuno
altro in un modo più coerente e
anche il punto principale su questo è quello
hanno disaccoppiato qualsiasi dipendenza
tra loro in particolare le cose in simile
nei moduli comuni nell’atlaniano
SDK ci sono molte cose lì dentro
che siamo stati in grado di mettere da parte put
di nuovo insieme in un modo che significa che possiamo
distribuire le applicazioni su richiesta
indipendentemente e non doverlo avere
la sincronizzazione delle versioni è così brutta
e la cosa principale era la collaborazione
tra le squadre quindi l’ingegneria
le squadre si concentrano sul loro prodotto, ma ora
il contesto on-demand e la consegna a
su richiesta ogni settimana iniziano a pensare
molto di più su cosa cambia questo
a causa dell’impatto sul modo in cui ottengo questo
software per gli utenti la prossima settimana
usare dogfooding così usiamo i nostri prodotti
noi stessi per costruire i nostri prodotti e quello
il cambiamento di mentalità è stato abbastanza sorprendente
da guardare nella collaborazione tra
le squadre per arrivare a un punto dove loro
può più facilmente lavorare allenare l’inter
problemi di prodotto e ottenere le cose
la porta più veloce è che è un grande
grande cambiamento è assolutamente necessario
se hai intenzione di consegnare il tuo software
regolarmente abbiamo cambiato anche al posto di
spedizione a undermanned alcune settimane o
mesi dopo la versione principale del prodotto noi
ha deciso di iniziare la spedizione su richiesta
prima di nuovo un grande cambiamento culturale noi
ha iniziato a prendere il backlog da partire
domanda perché gli utenti ce l’hanno
la loro prima ora abbiamo chiesto al prodotto
squadre di assumere la proprietà dei loro
prodotti in esecuzione su richiesta in precedenza
il team on-demand che conosci tu
team di sviluppatori di forse 10 a 12
gli sviluppatori erano quelli che stavano prendendo
proprietà del modo in cui i prodotti hanno funzionato
su richiesta ma ora in questo nuovo
mondo di distribuzione continua degli sviluppatori
i team di prodotto stavano prendendo
responsabilità per come i loro prodotti
in esecuzione su richiesta e per
Scaricare
così che la pipeline è cambiata da qualcosa
che stava prendendo una squadra a valle
responsabilità per qualcosa dove
gli sviluppatori a monte stiamo prendendo
responsabilità per e loro potevano vedere
il loro cambiamento dal momento in cui hanno fatto
attraverso il momento in cui è entrato
produzione live lo sai entro una settimana
potevano vederlo per tutto il tempo
piuttosto che gettarlo oltre il muro
per qualcun altro a che fare con sembra
abbastanza ovvio ma un buon modo per ottenere
il software fuori dalla porta è continuamente
avere una pipeline sana così enorme
di tempo e se è andato nel fissare quelli
prova e riducendo i tempi di costruzione o
persino costruito internamente un prodotto d’uso
chiamato alleluia che è un it’s a
benedizione condivide artefatti e e
creare code attraverso un numero di agenti
e riduciamo i tempi di fatturazione di circa l’80%
ciao ciao fallo automaticamente
partizionare il test per noi e tutti
i test a fiocchi vengono rimessi e
un altro agente lo prova e se lo fa
succede che va bene, no
rovinare l’intera build e permette
gli sviluppatori per poi concentrarsi sulla scoperta
perché era traballante ma possono ancora spedire
il software sì sì ottanta per cento
la riduzione era stata abbastanza utile e quindi
abbiamo questa idea di gestione del traffico
ora alcune cose sono nella corsia di sorpasso e
alcune cose sono nella corsia lenta quindi
tutto ciò che è ha a che fare con il mantenimento
su quella cadenza e mantenendo la consegna
continuamente è nella corsia veloce che è
artefatti binari che sono cose come il
build upstream e downstream che il
gli sviluppatori stanno lavorando su qualsiasi cosa
questo è mantenere quel passo del settimanale
consegna settimanale della settimana di consegna e
c’è una corsia lenta dove alcuni
le funzionalità richiedono un po ‘di tempo per essere implementate
così come la confluenza per il nuovo
l’editore ha impiegato circa un anno di sviluppo
per completare in modo che ovviamente quello
non veniva continuamente consegnato ma
quello che abbiamo fatto è stato iniziato a guardare
plugin e funzionalità opzionali così
possiamo disattivare le cose che Sam ha menzionato
i lanci scuri e lo facciamo parecchio
così su richiesta ha molte delle caratteristiche
buio a volte li usiamo li giriamo
prima del grande lancio ma molto
le volte sono buie ma lo sono
seduto lì un po ‘ma lavorando lontano
e il codice che esce dal master è in
produzione anche se potrebbe non esserlo
in realtà funziona così che aiuta anche con
marketing e qualsiasi altra squadra in giro
sviluppo che non sono necessariamente
doveva essere parte di quella cadenza
di consegna settimanale possono farlo
lavorare in questo vicolo ci aiuta solo
partizionare il lavoro c’è un inferno di a
molto monitoraggio e metrica in uscita
di on-demand abbiamo 18.000 clienti
ne abbiamo circa 90 mila
centomila domande lanciate a
allo stesso tempo ci sono molte metriche
quindi studiando quell’attività sia in
termini dell’impatto sulle prestazioni di a
cambia e il comportamento dell’utente cambia
gli sviluppatori ottengono molto questo feedback
prima ora e questo li rende abbastanza
felice l’interessante quella cosa con
la consegna continua è non solo lascia
fai un cambiamento velocemente ti lascia
adattarsi rapidamente anche a quel cambiamento così
che potrebbe significare fare un altro cambiamento e
così che la capacità di essere in grado di fornire
ogni settimana per le squadre del prodotto significa
ottengono quel feedback e sono in grado di farlo
adattarsi a chiunque abbia sentito parlare di
astrazione prima
quindi probabilmente hai sentito una funzione
rami o ramificazioni tradizionali in un
svn ma il ramo della nostra astrazione è un
interessante tecnica di progettazione del software
dove hai astrazioni di idee in
nel software e la progettazione intorno ad esso
e questo in pratica ci consente di
avere funzionalità disponibili ma possibile
non correre così quelle caratteristiche oscure
e possiamo accenderli e spegnerli e
quello che succede è che gli sviluppatori iniziano
aggiungendo questa idea o una modifica ad an
funzionalità esistente nel codice e utilizzo
è così che è come se fossero alfa
provalo da solo ma non significa nessuno
altrimenti è influenzato da quello in modo che il codice il
il codice può cambiare ma la funzionalità è vecchia
caratteristica o la funzione usa il modo in cui esso
usato per lavorare è ancora lì e
possono accendere e spegnere questi interruttori
e provalo per se stesso e poi loro
tipo di spingerlo fuori alla loro squadra o a
poche squadre e meglio testarlo
accenderlo a uno dei cibi per cani
server che abbiamo e quindi più utenti
arrivare internamente a usarlo e poi finiamo
distribuendolo per l’intera azienda così
l’extranet aziendale e l’azienda
il tracker principale dei problemi che usiamo tutti
quelle caratteristiche ben prima che i clienti e
fornire feedback per i nostri sviluppatori
perché si arriva a usare noi stessi e
poi ad un certo punto ora questo può richiedere
giorni o settimane ma ad un certo punto, poi
avviarlo su on-demand girando
girando la funzione su di esso potrebbe essere un
anche il plug-in opzionale potrebbe non essere a
interruttore funzione potrebbe essere solo un plug-in
questo è presente o non presente, quindi questo
di nuovo penso che Sam stesse parlando
provando a provarne alcuni
le caratteristiche come andate e forse essere
testare è buono anche per quello ma il
cosa principale da un punto di sviluppo di
la vista è che posso ancora consegnare il software
off maestro in qualsiasi momento in qualsiasi momento tutto ciò che è
su master se scelgo di posso posso
consegnare
produzione e questo ti dà un sacco di
fiducia che le cose stanno andando per essere
bene quando lo rilasci
un’altra cosa interessante che su richiesta
ha inaugurato i servizi condivisi in modo giusto
ho lanciato alcuni di quelli che ho scritto
qualche Scala per l’ultimo anno che è stato
che era parte divertente del nuovo
l’architettura per on-demand sta guardando
Lo chiamo le 37 cose che ogni app
l’applicazione web fa cose simili
autenticazione e registrazione e messaggistica
e notifiche e tutte quelle cose
che ogni applicazione fa a parte
la cosa che sono costruiti per fare così noi
portandoli fuori e gestendoli in a
multi-tenant adore situazione di tenant nan
in modo che possiamo disaccoppiare questo tipo di
cose comportamentali condivise dal
funzionalità di base effettiva del
le applicazioni hanno e ciò che ci dà
un sacco di flessibilità perché ora siamo
non avendo queste applicazioni monolitiche
stiamo parlando di molti servizi
l’un l’altro e loro operano
indipendentemente operano in un livello elevato
disponibilità e modo scalato orizzontalmente
e significa che le applicazioni possono
essere cambiato in modo del tutto indipendente dal
servizi intorno a loro così è davvero
cool che insieme con la nuova integrazione
l’architettura ci aiuta a lavorare in modo indipendente
con la consegna di applicazioni e ridurre
l’impatto che ha ogni piccolo cambiamento
sull’intero ecosistema, quindi stiamo usando
principi di calcolo distribuito cose
abbiamo imparato circa gli ultimi 20 anni
e ci permette anche di accoppiare il
operazioni delle applicazioni
in precedenza con lo studio JIRA dovremmo farlo
riavviare tutte le applicazioni anche se
solo uno cambiato era proprio la strada
lo abbiamo raggruppato e consegnato a
produzione così abbastanza dispendiosa
risorse e fastidioso per gli utenti fino ad ora
con i servizi condivisi che sono stati
costruito dal
fino ad essere in grado di essere continuamente
schierato quindi nemmeno solo continuamente
consegnato continuamente ma schierato
continuamente così li distribuiamo
più volte al giorno posso apportare un cambiamento
ora impegnarsi e avere una presentazione
in 10 minuti senza alcun impatto
gli utenti quindi è un enorme passo avanti e
in una sorta di capacità e mentalità
quello va nella creazione di software, quindi cosa?
sono state alcune lezioni che abbiamo imparato insieme
il modo in cui suppongo che la lezione più grande sia stata
di nuovo la gente era la più grande
problema e la più grande lezione è stata
era persone quindi ci vuole un po ‘per
le persone a cambiare i loro pensieri
specialmente se lo hanno fatto a
certo modo per un decennio se abbiamo un
spettro di persone che credono
la consegna continua non ha valore indietro
quando abbiamo iniziato e la maggior parte della gente è a
quella fine dello spettro a continua
la consegna è ovvia perché diavolo
non lo faresti ora che ci siamo spostati
la maggior parte delle persone a questo e davvero
è semplicemente semplicemente facendolo spesso
volte finché non lo vedi tu stesso
accadendo non credete che sia
ne vale la pena e ci vuole un sacco di
sforzo per arrivare là così credendo in quello
il valore è piuttosto un tratto per alcune persone
quindi non essere costernato se la maggior parte delle persone
non sono d’accordo se è una buona idea lì
c’erano alcune parti dell’organizzazione
sono più lenti ad adattarsi a quello o creare un
processo formale a causa del continuo
consegna che le squadre di supporto dovevano adattare
perché hanno un impatto, abbiamo un
squadra di supporto leggendaria che risponde
davvero bene ai clienti e questo cambiamento
nel modo in cui il software è stato consegnato significava
che dovevano anche cambiare il modo
hanno pensato a cosa sta funzionando ora
e cosa devo curare
in precedenza ci si abitua una o due volte
un anno con un grande cambiamento un grande
rilasciare e avere ciò che questo
una lista piuttosto lunga di cose che dovevano fare
aggiornare le loro conoscenze e questo è
cambiato ora ogni settimana qualcosa
piccoli là ora e
e ora c’è una capacità lì
le nostre funzionalità sono leggermente cambiate ed è
piccola lista ma molte di loro nel tempo
e il team di documentazione per il modo
comunicano a clienti e utenti
cosa cambia quando si sta per
cambia ciò che è cambiato e in grado di farlo
fare riferimento alla documentazione il modo in cui sono messi
che insieme dovevano cambiare ora loro
adattato rapidamente informalmente ma ci sono
un sacco di processi formali che hai
quando sei un grande software
organizzazione e quelli hanno preso un po ‘
mentre cambiare pure e soprattutto quello
era solo la sperimentazione bene cosa
se lo facciamo così funziona meglio
per noi e quello di quello alla fine
successo ma quello era un ascoltatore che avevamo
per imparare che non era immediatamente
evidente quando abbiamo iniziato questo viaggio
l’altra area che doveva cambiare era
gestione del prodotto quindi le persone che
pensa alle mappe stradali per il
prodotti e prendere tutto l’input da
da tutti gli utenti con cui parlano
guardano all’industria e poi così
vedrete che cosa sta accadendo in
indicazioni e il tipo di funzionalità o
prodotti che dovremmo costruire e
il modo in cui pensavano di consegnare
i prodotti devono cambiare radicalmente
perché sono abituati al grande
buzz marketing e qualcosa non va
capita quando tu stai facendo
piccoli cambiamenti tutto il tempo
qualcuno sa che l’espressione è buona
più che bello abbiamo speso probabilmente a
un po ‘troppo tempo
conservatore sul nostro processo di consegna
e cose come fare quella decisione
cambiare per ottenere da svn abbiamo speso molto
un sacco di quello in mercurial per alcuni di
le squadre abbiamo trascorso molto più tempo di
tempo trascorso e probabilmente era giustificato
per prendere quella decisione che sapevamo andava
per farlo solo abbastanza conservativo
arrivando anche noi in termini di
consegnando dal master abbiamo persino aspettato
confluenza per un mese o due in più
prendere quella decisione e col senno di poi che
era completa la perdita di tempo che Wisel aveva
appena fatto le pipeline di costruzione mai
sarà perfetto a volte solo tu
devo immergermi e farlo e c’è
sempre qualcosa che devi modificare
comunque non cercare di ottenerlo perfetto
per andarci e adattarsi molto
molti processi hanno avuto un impatto notevole
impatto implicito ma cose come il
distretto è distribuibile la cosa che
noi confezioniamo insieme su richiesta questo
è cambiato nel modo in cui lo abbiamo messo insieme
da questo grande monolitico e chiamalo a
palla di fuoco è praticamente una cerniera enorme
file di tutte le applicazioni messe
insieme in un modo particolare per on
domanda con tutta la preintegrazione
punti costruiti e tutti i dati iniziali
mettiti lì e pronto a cambiarlo
in qualcosa che è decomposto e
più in linea con l’attualità del
prodotti che sono cose separate
e persino fino al livello del componente
i plugin sono cose separate
scrivendo la strada come ho detto il modo in cui il
documento è messo insieme il
documentazione sui gruppi di marketing
supporto team clienti e utenti il
in che modo hanno risposto
ottenere quel software che cambia un po ‘
un po ‘tutto il tempo tutto ha avuto un impatto a monte
cose come il core on-demand così il
parti di on-demand integrate
ogni prodotto in modo che quando ottengono
consegnato
e sanno che sono lì il
piattaforma l’ SDK che l’ultima scena ha tutto
i moduli comuni e l’ esperienza utente
e team di progettazione anche se sono tutti
influenzato da questa questa nuova capacità di
essere in grado di consegnare regolarmente e il
modo in cui il processo di pensiero ha dovuto cambiare
su come progettano e fanno cambiamenti
per l’esperienza dell’utente così sono stato
a società che si ammassano continuamente
strumenti di integrazione per l’ultimo non lo faccio
conosco sette otto anni così continui
l’integrazione è qualcosa che è nel mio
flusso sanguigno quindi ovviamente mi sono rivolto a
quegli strumenti immediatamente per continuo
dispiegamento pure ed è grandioso e
il bambù fa un buon lavoro per noi
il problema era l’infrastruttura che io
stava usando era lo stesso in continuo
la distribuzione era la stessa infrastruttura io
stava usando per l’integrazione continua così
quelle grandi lunghe build che richiedono ore o
più minuti anche 20 minuti sono lunghi
abbastanza per me è stato lo stesso
infrastruttura che stavo usando per l’implementazione
alla produzione che è pazza quando tu
pensaci così lezione ho imparato lì
era dividere l’infrastruttura dal
costruire e la distribuzione così ora abbiamo
infrastruttura dedicata per fare
dispiegamento continuo e che il mio 17
le seconde build possono funzionare abbastanza bene e
non essere in coda e non entrare
temuto da build di lunga durata di
compilazione e test in continuo
ambiente di integrazione anche perché
siamo atlassiani costruiamo molte cose
noi stessi, quindi abbiamo un motore di distribuzione
quello che è innescato da tutto il bambù
compiti e il suo compito è quello di coordinare ciascuno
di quei 18.000 istanti in crescita
in aggiornamento e quali versioni di
i diversi software che stanno eseguendo
questo potrebbe essere qualcosa che abbiamo confezionato
e rendere disponibile per essere abbastanza
eccitante ma è solo un extra
capacità di trattare con il tipo di
scala un numero di applicazioni che io
lavorare con la corsa in produzione
allo stesso tempo questo non è un problema
la maggior parte di voi ha così tanto che se ne ha
quel problema sarò in grado di parlare con te
a riguardo, ecco dove siamo arrivati noi
avere il bello se iterativo e
processo di sviluppo incrementale è
accadendo in ogni squadra e poi
distribuzione o consegna a richiesta
ogni settimana ognuno di loro può farlo
indipendentemente l’uno dall’altro anche
Greenhopper è il prossimo della prossima settimana
ci schiereremo completamente
indipendentemente da JIRA a richiesta che
è bello significa che se sei un
amante di Greenhopper vedrai quelli
caratteristiche che arrivano attraverso spesse e veloci
perché è utile come la squadra
li sviluppa densi e veloci e lo faremo
essere abbastanza gentile per essere in grado di averli
immediatamente e su richiesta e tu sai
come cambia JIRA può cambiare in a
ritmo diverso a cui stiamo consegnando
prima su richiesta alcune caratteristiche scure
a volte le funzionalità non sono ancora vivi
ma sono lì e aspettano e poi
quando arriva il grande lancio, puoi
scaricarlo come un artefatto di download se si esegue
tu stesso o puoi averlo dentro
domanda se mi lasci correre prima di
che è abbastanza eccitante è enorme
cambiare da un anno e mezzo fa
da una società che stava consegnando a
quel punto ogni novanta giorni a un
società che ora sta consegnando la propria
prodotti ogni settimana e alcuni dei
cose come i servizi condivisi su
la domanda ha consegnato più volte a
il giorno è un grande cambiamento e così abbiamo
abbiamo fatto un po ‘di duro
lavoro per arrivarci ma siamo ancora noi siamo
ancora lavorando su cose e e il principale
cosa come sempre è la pipeline quindi
il gasdotto tende ad essere fragile e
è interessante sapere che lo sappiamo
quale sia la cosa giusta da fare è, ma
tutti hanno cattive abitudini che ho male
abitudini e ci sono buone cose che puoi
fare per andare alle persone a non averne
cattive abitudini quindi posso indossare un cappellino
ogni tanto se rompo la build
l’altra cosa è che non l’ho fatto
menzione era quando qualcuno di quelli condivisi
i servizi vengono implementati nella produzione noi
ho un test canarino e riesco a scrivere
qualche asino in qualche rubino come il buono
vecchi tempi e ho quello che chiamo post
verifiche di implementazione penso che suoni
chiamali test di fumo e che cosa
significa che lo distribuisco in uno dei
aree ho 20 aree di
infrastruttura, ma una delle attrazioni della zona
ha un’istanza canarino e gestisco il mio post
i test di verifica della distribuzione richiedono a
un paio di minuti in pratica sono
test funzionali lo stesso cazzo
tipi di test funzionali come potresti
avere nella tua suite di test di accettazione ma
sono specificamente l’obiettivo è
in particolare per assicurare che il principale
parti dell’applicazione funzionano come
atteso con l’aggiornamento e anche questo
coinvolge le cose nell’ecosistema
che non può essere testato prima della produzione
e quelli includono alcuni degli esterni
feste come Google noi e non c’è
sandboxing se hai google app così
possiamo accedere su richiesta con il tuo
Credenziali di Google Apps se ti piace e
abbiamo bisogno di fare in modo che che la piena
l’ecosistema di produzione diretta di andata e ritorno è
lavorando e quindi parte della pipeline
include quella distribuzione post
verifica in cui stiamo investendo
strumenti stiamo migliorando JIRA come un problema
tracker per gestire la consegna continua
perché lo usiamo noi stessi così noi
bisogno di qualcosa che ci aiuti con quello
stiamo migliorando il bambù e nascondiamo il
DBC e prendi secchio per affrontare
consegna continua quindi tutti i trigger
ciò accade quando commetti e il
caramelle e il collegamento e l’integrazione
tra dire bitbucket e bambù a
bitbucket può dire a bambine che hai
appena fatto un commit così ragazzi iniziare
costruire qualcosa e poi dare il via al
la pipeline di distribuzione e tutto il resto
migliorata
una delle grandi cose che trovi quando
ti imbarchi in una nuova impresa di software è
hai tutto questo codice e lo vuoi
miglioralo quindi c’è una richiesta on-demand
ha molti script di shell e Python
script e script Ruby che devono essere
semplificato così parte di quello che stiamo facendo
ora lo sta facendo e stiamo guardando noi
avere un abbastanza ragionevole
database di gestione della configurazione
perché è ciò che guida tutto
installazioni e quindi capisce
che cosa è in esecuzione in ciascuna delle istanze
ma cose come fattore e fantoccio
aiutare a descrivere in modo descrittivo cosa dovrebbe
sii e dicci cosa è e porta i due
insieme invece di avere un sacco di
script per farlo è bello avere
qualcosa che tu conosci
l’industria è già costruita, quindi lo saremo
guardare cose del genere per aiutare
semplifichiamo il modo in cui eseguiamo l’upgrade e l’esecuzione
le applicazioni su richiesta e
speriamo che tutte quelle cose siano così
investimento negli strumenti che siamo
farlo ovviamente viene trasmesso, quindi se
sei un giro di bambù o un po ‘di secchio
o stash user hai anche quelli
miglioramenti di consegna continua che
siamo stati in grado di costruire perché noi
usa che noi stessi l’integrazione è
qualcosa su cui stiamo ancora lavorando se tu
usa più prodotti atlassiani tutti voi
sappi che a volte è una sfida
a volte non sembrano nemmeno gli stessi
la prossima versione di tutti i prodotti
avrà un’interfaccia armoniosa e un
esperienza utente proprietari di case quindi c’è un
molto lavoro andando all’integrazione
capacità tutto dal modo in cui
navigare tra i prodotti e collegarli
insieme al modo in cui parlano a ciascuno
altro con vari plugin così puoi
collegare le applicazioni e averle
fornire informazioni l’un l’altro come a
sviluppatore di software è bello essere in grado
usare quella suite di strumenti e averli
condividere le informazioni così per noi che è così
utile un altro problema con on-demand
non puoi eseguire plugin arbitrari
perché non lo permetto , abbiamo molto
piccolo set di plugin che permettiamo di essere
usato perché siamo in una condivisione
ambiente vincolato ora con il
prossima architettura
il sistema di login sarà in grado di avere il telecomando
plugins quindi i plug-in tre saranno
locale o remoto è possibile eseguirli entrambi
modo e su richiesta saranno remoti
e tutto questo si riduce a un mucchio di
essere principi di calcolo distribuiti
applicato e quindi libri come Jim Jim
Il libro di Weber riposa in pratica è usato
molto anche per noi essere in grado di fare
migliori API e avere le applicazioni
parlarsi l’un l’altro in un modo che non è
legandoli strettamente e permettendoci di
vieni in modo dipendente e basta
un grande vantaggio, wow, siamo un grande negozio di musica
chi usa Maven è probabilmente il singolo
il più grande ostacolo al continuo
consegna che so di un software
punto di vista dello sviluppo come strumento
snapshot maven è uguale a panda triste per
consegna continua e versioning è un
cosa interessante è la sua emotiva per alcuni
le persone, ma deve farlo spesso
cambiare di fronte al continuo
consegna tutto, anche dal formato
potrebbe avere il numero di versione richiesto
per cambiare stiamo usando alcuni vengono descritti
e tagga la magia ora per aiutarci a gestire il
il controllo delle versioni, quindi inizierai a vederne alcuni
numeri strani che appaiono nella tua jira e
versioni di confluenza e on demand e
anche il concetto per noi di ciò che è
la versione è in esecuzione quale versione di
su richiesta è in esecuzione lo sta cambiando
era solito essere monolitico
cosa abbiamo usato per mettere insieme in un grande
grande palla e che questa è la versione
adesso è bello che questa versione di
i servizi condivisi ed è questo
versione di GR ed è questa versione di
greenhopper ed è questa versione di
confluenza e così via quindi è una specie di a
è un amalgama di numeri di versione ora
dobbiamo pensare piuttosto che a
entità singola e va bene perché
ciò significa che possiamo fornire quei prodotti
e quelle componenti indipendentemente da
l’un l’altro
anche la numerazione della versione è simile
stiamo guardando le cose come te
ottieni zero sei punti 06 punto 0 punto 3
ma poi saranno l’altro numero a
Alla fine e quella sarà la versione
numero e che continueranno a
Inc aumento monotonicamente e potresti
vai da sei punto 0 punto tre punti
da mille a sei punto un punto 0
punto 1001 e quei tipi di numeri sono
in realtà separare una cosa è a
numero di marketing e qualcosa per gli utenti
essere in grado di capire cosa sia un gruppo
di funzionalità e funzionalità che sto usando
e l’altro è per noi sapere
da dove viene e non è così
necessariamente alcune persone potrebbero aver usato
il numero di revisione svn ovviamente con
Addy VCS non hai questo così in arrivo
con nuovi modi per affrontare questo ma
efficacemente dover cambiare il
modo in cui lavoriamo con Maven e Maven
plug-in di distribuzione e solo possibile
cambia completamente il modo in cui affrontiamo
versioni nei file pom e, si spera
quel tipo di conoscenza sarà nutrita
alla comunità e non sarà il
terribile bestia che non uso
Io uso altri strumenti ma i prodotti
usare la documentazione di Maven siamo ancora
lavorando su c’è una F e in corso
ora per ottenere l’ architettura dell’informazione
dei documenti per abbinare il codice
struttura il codice a grana grossa
struttura dei prodotti e forse a
un po ‘ di entrambi i modi in realtà così io
ottenere l’organizzazione del codice più corrispondente
più il modo in cui la gente pensa al
applicazioni e li usa e noi siamo
facendo ciò perché quando facciamo un cambiamento
per una parte dell’applicazione che fa
è molto più facile identificare quale parte di
la documentazione deve cambiare così
va bene per tutti e basta
tipo di lavoro che è in corso e
si spera come un utente che legge il
documentazione che avrà ancora senso
e la struttura sarà
ben capito e questo perché è
riflettendo il modo in cui è il codice
strutturato perché spero che lo faccia
sentirsi bene in entrambi i casi
ci consente di identificare rapidamente ciò che deve
cambiare la documentazione quando il
il software cambia di nuovo che è un
compito continuo ora non è solo
qualcosa come un lotto in su e partire
una o due volte all’anno sta succedendo
ogni settimana e gli scrittori tech siedono
con gli sviluppatori e fare cambiare il
documenti documento mentre il codice cambia
che è fantastico il data mining è
qualcosa con cui stiamo lavorando
la consegna continua è così rapida
feedback che io non so è solo
un’esperienza più ricca e ricordi
quando ricevi il feedback che ricordi
cosa hai fatto per dare il feedback
perché lo hai fatto solo la scorsa settimana
o un paio di settimane fa se fosse un
caratteristica oscura quindi a causa del feedback
e come conseguenza di esso e leader
ad esso dove la consegna continua tutto
si nutre di quello e il dato che
la domanda on-demand è enorme e noi siamo
imparare meglio a trovare quei dati e
aggiungici e capisci bene dove
dovrei mettere eventi in rilievo nel codice
in modo che io possa capire l’analisi
e anche immediatamente vedere l’impatto
comportamento degli utenti e l’impatto su
prestazioni in produzione non solo in
nel test ed è ancora una volta che il
soddisfare la capacità di continuo
la consegna ci consente di farlo noi
non l’avremmo fatto
altrimenti il marketing l’ho detto prima
ogni nuova release crea un ronzio che siamo
molto famoso per le nostre t-shirt e per te
prendi magliette ad ogni uscita e
c’è una cosa divertente che succede
ogni volta che c’è un rilascio e questo è
un grosso problema e il marketing lo rendono un grande
affare perché è divertente e piace agli utenti
vedere tutte quelle nuove funzionalità ma nel
volto di consegna continua bene cosa
cosa succede lì e se richiesto
ottenere
quelle caratteristiche e le stiamo accendendo
progressivamente come cambia e
quindi i team di gestione del prodotto e il
l’area marketing sta iniziando a pensare
su come possiamo non solo far fronte a questo
ma come possiamo effettivamente trasformarlo in un?
vantaggio e qualcosa che possiamo
esplorare le possibilità in giro così ci sarà
essere un po ‘un po’ spaventato
perché significa che verrà a me
fallo accadere ma lo sarà
interessante vedere come il prodotto
il marketing cambia pure e con
consegna continua in corso e il
più grande ho lasciato il problema più grande a
ultimo è che è un problema importante a
l’atlassiano ha un profondo e vincolante
una forza profonda e vincolante nel modo in cui noi
viviamo ogni giorno è quando abbiamo
rilasciare feste quando usciamo per andare
bere quello che facciamo con
consegna continua con parti di rilascio
qualcuno ha un’idea di cosa dovrei fare
sulle feste di rilascio quando sono
consegnando continuamente ogni settimana sì
esattamente faremo festa tutto il tempo
beh, questo è tutto, spero che tu abbia visto
alcune delle sfide che sono a
grande organizzazione di software di consegna
per scaricare i clienti e un SAS
l’ambiente non hanno tutti quelli
le sfide sono piuttosto uniche
ma si spera che tu possa vedere che può essere
fatto e se sei in una situazione in cui
hai solo alcuni di questi vincoli
che spero sia molto più facile per te
e se usi i nostri strumenti per costruire il tuo
possedere gli strumenti quindi vedrai quelli nuovi
le caratteristiche che ti arrivano ti permettono
per eseguire una consegna continua un po ‘
un po ‘meglio e rintracciarlo nessuno sa cosa
il mio manico Twitter significa in qualsiasi latino
oratori qui lo lascerò come un
esercita per te qualsiasi domanda perché
abbiamo circa due minuti sì, il
la domanda era come leghiamo tutti i test
insieme per ogni dato componente o il
test unitari e test funzionali quindi
in precedenza sarebbe stato il team downstream
mi prenderò cura di ciò intendo che questo è dentro
la separazione da te parlando nel
diviso da on demand per scaricare o semplicemente
in generale si, lo sappiamo un’unità
prova in esecuzione tutto il tempo il
test funzionali per i nostri prodotti
piuttosto piuttosto faticoso perché abbiamo
devo testare su diversi database
prima dovevamo testare
tra diversi server di app e noi
testare ancora su dati diversi
i browser così lo stesso test funzionale
lo stesso scenario di test funzionale è in esecuzione
dozzine di volte quindi ci vuole solo molto tempo
tempo prima su richiesta non dobbiamo
preoccuparsi di tutti quelli, ma lo fanno
doversi preoccupare di eseguire il
test di integrazione dove ci sono cose
legando insieme i prodotti su richiesta
quindi c’è una pipeline separata per
consegnando su richiesta che questo è parte
del gasdotto generale ma è
diverso per ciascuna delle ciascuno dei
quelli diversi ora il bambù funziona tutto
quei test per noi abbiamo tanto, tanto
e molto, molto, molto e molto
piani che si occupano di loro i piani
guarda i diversi segmenti dei test
come ho detto, esegui lo stesso test
più volte a seconda del target
infrastruttura e c’è un sacco di muro
schede e se qualcuno di loro è rosso allora
chiunque sia quadrato è rosso allora significa
c’è un problema ovviamente ma al giorno d’oggi
significa che non possiamo consegnare se nessuno di
quelli sono rossi quindi è per questo che continuano
mantengono il verde che ogni squadra assume
la responsabilità di costruirli
prova e mantenendoli verdi abbiamo
Anche gli ingegneri del controllo qualità, ma non lo sono
responsabile per mantenere la schermata di test
hanno molto più valore
responsabilità come quella di garantirlo
quello che stiamo testando è la cosa giusta
e che abbiamo pensato a tutto il
possibili cose che potrebbero andare storte e
ora in squadra domanda fa ancora un po ‘di
le sue stesse prove come dico il post
la verifica della distribuzione è un esempio di
che questo è come un ultimo cancello di
automazione prima di rilasciare la Bestia
in produzione è sempre
cambiando il modo in cui noi
test di approccio e quando e cosa
viene testato continuamente tutte le volte
probabilmente è difficile rispondere perché
ogni settimana qualcosa è diverso il
la domanda riguardava il ciclo di feedback e
e tutte quelle informazioni che arrivano così
stiamo ancora cercando di fare con questo
in precedenza quando si rilascia una volta o
due volte l’anno o anche ogni pochi mesi
hai questi lotti di tempo dove tu
aspetto che avremo un sacco di cose
di feedback e siamo appena arrivati a strascico
attraverso questo uso un bel raffreddore
in realtà con il modo in cui danno da mangiare
feedback e sono molto generosi con
con molte informazioni su a
caratteristica che vorrebbe o qualcosa del genere
è andato storto e una grande comunità
intorno ad esso quindi abbiamo una wiki di risposte ora
in realtà siamo le risposte della comunità
le domande degli altri che è
fantastico e ciò che aiutiamo ovviamente
Contribuisci anche tu, ma lo è davvero
è un data mining e una priorità
esercita il feedback che arriva
non solo agli utenti, ma a tutti
l’infrastruttura di produzione o il
sistemi di monitoraggio che abbiamo
team diversi si concentrano su diversi
cose su cui si concentrano i team di supporto
le cose hanno effettivamente impatto l’utente
la capacità dell’utente di utilizzare il software
le squadre operative guardano di più al
prestazioni e l’ impatto su
infrastruttura le caratteristiche
intorno a quello guardo un sacco di cose e
anche il product manager per on-demand
guarda un sacco di cose ed è solo un
esercizio di prioritizzazione di solito noi
sai già qualcosa che non va
perché l’abbiamo usato noi stessi e così
non arriva nemmeno alla produzione ma
sì, sono molti dati e siamo solo
imparare a trattare con quello e ancora
forse l’anno prossimo sarò in grado di dirtelo
esattamente quello che abbiamo fatto
grazie mille
ai ganci sono stato atlassiano per
circa un anno e mezzo di lavoro sul
offerta di servizi on-demand è la nostra
offerta ospitata e che viene fornito con a
molte sfide con il software che ha
stato costruito per gli ultimi 10 anni per
scaricare ed eseguire in verticale
server in scala quindi parte dell’appello per
on-demand sta ottenendo nuove uscite
rapidamente e abbiamo preso la decisione di cambiare
il modo in cui abbiamo consegnato il software in modo che noi
potrebbe ottenere nuovi riguardare nuove funzionalità in
gli utenti passano velocemente e questa è una storia
di quel viaggio finora comunque così chi
qui ha usato o sa di confluenza o
JIRA eccellente e abbiamo lo sviluppatore
strumenti di cui potresti aver sentito parlare
stash è un nuovo strumento per dvc s
gestione dietro il firewall e
bitbucket è la versione ospitata di
servizio in hosting, vi facciamo solo sapere
come pronunciare questi atlassiani è
non elisiano che è atlassiano ed è
JIRA la JIRA è giapponese
gojira che è Godzilla che è come
bugzilla abbiamo preso il controllo quindi è quello
l’origine di quel nome ci sono molti
e molte installazioni del nostro software
correre per il mondo che sto facendo
conservatore dice che ce ne sono cento
venticinquemila installazioni
in esecuzione proprio ora del nostro software
ce ne sono molti di più ma è così
difficile da contare nell’area ospitata che conosco
esattamente quanti ce ne sono finiti
poco più di 18.000 ora sono 18.000
istanze cliente e questo è tra
uno e cinque dei prodotti in corso
ognuno di quelli così ancora è nel
100.000 applicazioni in esecuzione
ora su richiesta
quindi questa storia è iniziata forse due o tre
anni fa allora stavamo consegnando
software una volta all’anno a volte fino a
tre se c’era una caratteristica importante
doveva essere messo lì fuori ma
consegna approssimativamente una o due volte all’anno
per il per le applicazioni che è
abbastanza lento e poi abbiamo deciso di andare
ad un ciclo di rilascio di 98 giorni, quindi c’è un
grande spinta per cambiare il modo in cui abbiamo lavorato
andare a un rilascio di 98 giorni in modo che potremmo
ottenere funzionalità più spesso, ma ancora una volta
era ancora piuttosto pesante e
consegna a tempo indefinitamente lento
prodotti allo studio JIRA come veniva chiamato
al momento l’offerta ospitata era
mensile ora non era ogni prodotto
ogni mese era approssimativamente uno dei
i prodotti sono stati consegnati in studio e
confezionato e Andrey consegnato nel
ospite dell’offerta ma poi quando io
uniti abbiamo deciso , andiamo a
uscite settimanali settimanali su richiesta e
era solo una chiacchiera pazzesca, ma è così
parte dell’appello di avere un
Il servizio SAS deve essere in grado di essere rapido
rapido rapidamente fornire funzionalità così noi
ha iniziato a cambiare processo e strumenti
ma abbiamo scoperto che non era il solo
cosa ci sono molti problemi anche io
volevo consegnare giornalmente, ma quello è
un che è nella parte successiva della storia
quello che avevamo era questo che avevamo questo enorme
team di ingegneri che costruiscono tutti quelli
prodotti e facendo il loro iterativo
cicli ma ancora solo verso la fine
quando stavano per lanciarli
iniziato a parlare con persone di marketing e
aggiornando la documentazione e poi loro
consegnato al team on-demand
e ha detto che va qui è la nuova versione
il prodotto e poi il team su richiesta
aprirlo e apportare le modifiche
necessario integrare in the on
situazione della domanda e consegnarlo e
a volte quello era mesi dopo il principale
rilasciare il prodotto
quindi non era affatto accettabile, quindi no
solo era irregolare era anche abbastanza
tardi dopo così su richiesta gli utenti erano
ottenere le funzionalità molto più tardi
che se tu avessi scaricato ciò che noi
il voluto era più simile a questo
ognuna di quelle a cui punta l’iterazione
undermanned hanno caratteristiche lì così noi
ha detto di cambiare ciò che abbiamo fatto noi
devono passare prima che ce ne fossero alcuni
i problemi di lunga durata hanno preso il sopravvento
quattro ore per costruire JIRA e confluenza
solo per la pipeline on-demand così giusto
i test funzionali da dire è questo
versione del prodotto funzionante in
contesto on-demand oltre quattro ore e
quello era in cima a molte altre ore di
test funzionali i prodotti di download
passerei attraverso sì siamo diventati diversi
vincoli e non sappiamo che cosa sappiamo
hardware su cui stiamo lavorando sappiamo cosa
sistema operativo su cui stiamo lavorando
sapere quale database utilizziamo, quindi c’è un
è un po ‘più facile da testare
domanda non abbiamo tutto il diverso
variazioni ma è ancora abbastanza a
processo lungo molto debito in
costruire un processore sopra a quelli
10 anni fa molte ipotesi
ci sono voluti circa tre mesi
ottenere un bordo verde completo che sai di vedere
pannelli murali e ci sono un paio di
cose che sono rosse ea volte
c’è sempre una cosa da leggere da qualche parte
da queste parti quindi abbiamo deciso di no
voglio che vogliamo assolutamente ecologizzare
dappertutto il bordo verde completo così ci è voluto
molti mesi di lavoro diligente per ottenere quello
accadendo e ogni prova traballante a volte
hai questi strani test che ci sono
una strana dipendenza da qualche parte nel
pipeline e fallirà per no
motivo particolare in una build di quattro ore
è davvero fastidioso perché quando
succede che tu ritorni al
iniziare e riprovare e quindi a
il diverso test dei fiocchi fallisce quindi puoi
immagina le inefficienze che arrivano
con quello
avevamo anche una squadra in crescita che tu lo sai
quella grande squadra di ingegneri è raddoppiata
nell’ultimo anno o giù di lì e il
strumenti in particolare cose come svn o
trattenendoci abbiamo avuto tutti questi maltesi
più flussi di lavoro in corso e aggiunta
caratteristiche ai prodotti e alle cose
come svn ci trattenere indietro ha rosa
su richiesta quella consegna settimanale a
il team downstream doveva aprirsi
il prodotto e rimetterlo insieme
è stata un’enorme quantità di lavoro per farlo
ogni settimana non ogni prodotto era
cambiando ogni settimana ma ma molto
loro erano e noi e quello abbiamo preso molto
tempo e impegno, poi cercando di adattarlo
in un ciclo settimanale è una vera sfida
qualcuno ha fatto il Dragonslayer
sfidato è un documento è esso
ha detto che è nella documentazione è tutto
è una ricerca per integrare il
applicazioni di vetro e che possono prendere
un giorno o due per completare la prima volta
lo fai e dobbiamo farlo ogni
settimana quindi qualcosa che prende così tanto
lo sforzo doveva cambiare là era là
un aumento di alcuni dei plugin per quasi
prodotti di prodotti stessi così nessuno
usa Greenhopper sai che è un
plug-in su JIRA ma è tutto
quasi un prodotto a sé stante e
fanno cambiamenti molto rapidamente che usano
un candore e un approccio di sviluppo così
le loro funzionalità si aggiornano continuamente
e sono stati trattenuti perché il
l’applicazione che ospitavano in JIRA era
consegnando ad un ritmo diverso e noi
volevo essere in grado di averli in grado
consegnare indipendentemente da quello ospitato
prodotto e e e consegnano
caratteristiche completamente diverse per gr e
birra e per loro di essere in grado di farlo
tutto da soli e ogni piccola croce
dipendenze del prodotto che erano a
molti di loro ma nessuno di questi crea
una battaglia di sincronizzazione infernale da provare
e fai alzare tutti a destra
versione in un intervallo compatibile e quindi
consegnalo tutto allo stesso tempo
non va bene per la sfida che abbiamo avuto
e sai che lo stiamo facendo ad un
ambiente online e per
scarica così le persone possono scaricare
i prodotti allo stesso tempo
il backlog è stato guidato per l’ultimo decennio
dai clienti di download che è dove
la maggior parte degli utenti vengono da e sviluppatori
aspetterebbe molti mesi per ottenere un feedback
dagli utenti quanto a cosa cosa
dovevano cambiare per il prossimo
gli sviluppatori di prodotti di rilascio pensano anche
sui loro problemi e se sei qui per
Il discorso di Sam è un grande consiglio
ci pensano gli sviluppatori del prodotto
i problemi nel contesto di un singolo
in un solo istante vuoi sapere solo
JIRA in esecuzione o semplicemente la confluenza in esecuzione
un server aggiunge più RAM che risolverà
il problema ovviamente in un ospitato
ambiente Ram è il più costoso
risorsa che abbiamo e non c’è
molto di più, aggiungendo più RAM non è un
soluzione pensano anche a cose dentro
termini di una singola istanza quando arriva
per aggiornare le attività o apportare una modifica
migra bene i dati quando hai
18.000 di loro corrono allo stesso tempo
e farlo all’incirca allo stesso tempo
essere aggiornato all’incirca allo stesso modo
tempo c’è un cambiamento nel mio set richiesto
anche così ho 40 a 90
migliaia di applicazioni in esecuzione al
stesso tempo e se stanno tutti facendo un
attività di aggiornamento c’è un sacco di i / o andando
su c’è molta RAM usata molto
della CPU bruciata quindi tutto il problema
con la guida del backlog dal da
scaricare i clienti era che non lo eravamo
pensando all’impatto sulla domanda
e il problema della consegna continua
abbiamo avuto lì così quello che era alcuni dei
cose che abbiamo fatto per risolverlo
abbiamo cambiato idea su come vorremmo
pensa al codice sorgente e e
sempre con un sistema sempre eseguibile
cultura in cui tutto ciò che registro è
eseguibile se è distribuibile da
padroneggia così quando teniamo al posto del
vecchia mentalità e sovversione dove tu
sapere dove si trovava bene il tronco
prima di tutto ma c’era molto
di spazzatura nel bagagliaio abbiamo cambiato cambio
quella idea di dire che conosci un puro a
il maestro incontaminato è ciò di cui abbiamo bisogno perché
in qualsiasi momento, qualunque cosa nel master potrebbe
essere preso e distribuito su richiesta
in produzione abbiamo anche migliorato il
regolarità degli artefatti di download a
ogni due settimane quindi ci sono pietre miliari
ogni due settimane è fantastico se lo sei
nell’ecosistema di sviluppatori di plug-in
o sai che sei un’azienda
si basa sui prodotti e ha il tuo
i propri plugin che hai scritto puoi
tieniti aggiornato con le modifiche come
stanno accadendo ed essere più pronti
per la grande uscita quando succede
la confluenza ha anche questa capacità
in realtà di fare un aggiornamento senza soluzione di continuità così
sono in grado di cambiare il software
che puoi avere due confluenze
correndo allo stesso tempo di nuovo
i sams parlano ci sono dei consigli lì
di fare come farlo e così possiamo
avere due conferenze in corso allo stesso
tempo uno è la vecchia versione uno è il
nuova versione ed essere in grado di avere un
senza soluzione di continuità il passaggio al nuovo
versione in modo che gli utenti non effettivamente
sperimentato qualsiasi cosa in termini di un
interruzione che non stiamo usando su richiesta
perché richiede due conferenze
correndo subito ma abbastanza presto lo faremo
essere in grado di farlo anche l’integrazione
architettura i prodotti non erano davvero
costruito per lavorare l’uno con l’altro ma con gli umani
sembrano come utilizzare usarli insieme in
lo stesso flusso di lavoro generale così siamo
tirando a parte l’esterno della
prodotti e rimettendoli insieme
in un modo in cui possono parlare a ciascuno
altro in un modo più coerente e
anche il punto principale su questo è quello
hanno disaccoppiato qualsiasi dipendenza
tra loro in particolare le cose in simile
nei moduli comuni nell’atlaniano
SDK ci sono molte cose lì dentro
che siamo stati in grado di mettere da parte put
di nuovo insieme in un modo che significa che possiamo
distribuire le applicazioni su richiesta
indipendentemente e non doverlo avere
la sincronizzazione delle versioni è così brutta
e la cosa principale era la collaborazione
tra le squadre quindi l’ingegneria
le squadre si concentrano sul loro prodotto, ma ora
il contesto on-demand e la consegna a
su richiesta ogni settimana iniziano a pensare
molto di più su cosa cambia questo
a causa dell’impatto sul modo in cui ottengo questo
software per gli utenti la prossima settimana
usare dogfooding così usiamo i nostri prodotti
noi stessi per costruire i nostri prodotti e quello
il cambiamento di mentalità è stato abbastanza sorprendente
da guardare nella collaborazione tra
le squadre per arrivare a un punto dove loro
può più facilmente lavorare allenare l’inter
problemi di prodotto e ottenere le cose
la porta più veloce è che è un grande
grande cambiamento è assolutamente necessario
se hai intenzione di consegnare il tuo software
regolarmente abbiamo cambiato anche al posto di
spedizione a undermanned alcune settimane o
mesi dopo la versione principale del prodotto noi
ha deciso di iniziare la spedizione su richiesta
prima di nuovo un grande cambiamento culturale noi
ha iniziato a prendere il backlog da partire
domanda perché gli utenti ce l’hanno
la loro prima ora abbiamo chiesto al prodotto
squadre di assumere la proprietà dei loro
prodotti in esecuzione su richiesta in precedenza
il team on-demand che conosci tu
team di sviluppatori di forse 10 a 12
gli sviluppatori erano quelli che stavano prendendo
proprietà del modo in cui i prodotti hanno funzionato
su richiesta ma ora in questo nuovo
mondo di distribuzione continua degli sviluppatori
i team di prodotto stavano prendendo
responsabilità per come i loro prodotti
in esecuzione su richiesta e per
Scaricare
così che la pipeline è cambiata da qualcosa
che stava prendendo una squadra a valle
responsabilità per qualcosa dove
gli sviluppatori a monte stiamo prendendo
responsabilità per e loro potevano vedere
il loro cambiamento dal momento in cui hanno fatto
attraverso il momento in cui è entrato
produzione live lo sai entro una settimana
potevano vederlo per tutto il tempo
piuttosto che gettarlo oltre il muro
per qualcun altro a che fare con sembra
abbastanza ovvio ma un buon modo per ottenere
il software fuori dalla porta è continuamente
avere una pipeline sana così enorme
di tempo e se è andato nel fissare quelli
prova e riducendo i tempi di costruzione o
persino costruito internamente un prodotto d’uso
chiamato alleluia che è un it’s a
benedizione condivide artefatti e e
creare code attraverso un numero di agenti
e riduciamo i tempi di fatturazione di circa l’80%
ciao ciao fallo automaticamente
partizionare il test per noi e tutti
i test a fiocchi vengono rimessi e
un altro agente lo prova e se lo fa
succede che va bene, no
rovinare l’intera build e permette
gli sviluppatori per poi concentrarsi sulla scoperta
perché era traballante ma possono ancora spedire
il software sì sì ottanta per cento
la riduzione era stata abbastanza utile e quindi
abbiamo questa idea di gestione del traffico
ora alcune cose sono nella corsia di sorpasso e
alcune cose sono nella corsia lenta quindi
tutto ciò che è ha a che fare con il mantenimento
su quella cadenza e mantenendo la consegna
continuamente è nella corsia veloce che è
artefatti binari che sono cose come il
build upstream e downstream che il
gli sviluppatori stanno lavorando su qualsiasi cosa
questo è mantenere quel passo del settimanale
consegna settimanale della settimana di consegna e
c’è una corsia lenta dove alcuni
le funzionalità richiedono un po ‘di tempo per essere implementate
così come la confluenza per il nuovo
l’editore ha impiegato circa un anno di sviluppo
per completare in modo che ovviamente quello
non veniva continuamente consegnato ma
quello che abbiamo fatto è stato iniziato a guardare
plugin e funzionalità opzionali così
possiamo disattivare le cose che Sam ha menzionato
i lanci scuri e lo facciamo parecchio
così su richiesta ha molte delle caratteristiche
buio a volte li usiamo li giriamo
prima del grande lancio ma molto
le volte sono buie ma lo sono
seduto lì un po ‘ma lavorando lontano
e il codice che esce dal master è in
produzione anche se potrebbe non esserlo
in realtà funziona così che aiuta anche con
marketing e qualsiasi altra squadra in giro
sviluppo che non sono necessariamente
doveva essere parte di quella cadenza
di consegna settimanale possono farlo
lavorare in questo vicolo ci aiuta solo
partizionare il lavoro c’è un inferno di a
molto monitoraggio e metrica in uscita
di on-demand abbiamo 18.000 clienti
ne abbiamo circa 90 mila
centomila domande lanciate a
allo stesso tempo ci sono molte metriche
quindi studiando quell’attività sia in
termini dell’impatto sulle prestazioni di a
cambia e il comportamento dell’utente cambia
gli sviluppatori ottengono molto questo feedback
prima ora e questo li rende abbastanza
felice l’interessante quella cosa con
la consegna continua è non solo lascia
fai un cambiamento velocemente ti lascia
adattarsi rapidamente anche a quel cambiamento così
che potrebbe significare fare un altro cambiamento e
così che la capacità di essere in grado di fornire
ogni settimana per le squadre del prodotto significa
ottengono quel feedback e sono in grado di farlo
adattarsi a chiunque abbia sentito parlare di
astrazione prima
quindi probabilmente hai sentito una funzione
rami o ramificazioni tradizionali in un
svn ma il ramo della nostra astrazione è un
interessante tecnica di progettazione del software
dove hai astrazioni di idee in
nel software e la progettazione intorno ad esso
e questo in pratica ci consente di
avere funzionalità disponibili ma possibile
non correre così quelle caratteristiche oscure
e possiamo accenderli e spegnerli e
quello che succede è che gli sviluppatori iniziano
aggiungendo questa idea o una modifica ad an
funzionalità esistente nel codice e utilizzo
è così che è come se fossero alfa
provalo da solo ma non significa nessuno
altrimenti è influenzato da quello in modo che il codice il
il codice può cambiare ma la funzionalità è vecchia
caratteristica o la funzione usa il modo in cui esso
usato per lavorare è ancora lì e
possono accendere e spegnere questi interruttori
e provalo per se stesso e poi loro
tipo di spingerlo fuori alla loro squadra o a
poche squadre e meglio testarlo
accenderlo a uno dei cibi per cani
server che abbiamo e quindi più utenti
arrivare internamente a usarlo e poi finiamo
distribuendolo per l’intera azienda così
l’extranet aziendale e l’azienda
il tracker principale dei problemi che usiamo tutti
quelle caratteristiche ben prima che i clienti e
fornire feedback per i nostri sviluppatori
perché si arriva a usare noi stessi e
poi ad un certo punto ora questo può richiedere
giorni o settimane ma ad un certo punto, poi
avviarlo su on-demand girando
girando la funzione su di esso potrebbe essere un
anche il plug-in opzionale potrebbe non essere a
interruttore funzione potrebbe essere solo un plug-in
questo è presente o non presente, quindi questo
di nuovo penso che Sam stesse parlando
provando a provarne alcuni
le caratteristiche come andate e forse essere
testare è buono anche per quello ma il
cosa principale da un punto di sviluppo di
la vista è che posso ancora consegnare il software
off maestro in qualsiasi momento in qualsiasi momento tutto ciò che è
su master se scelgo di posso posso
consegnare
produzione e questo ti dà un sacco di
fiducia che le cose stanno andando per essere
bene quando lo rilasci
un’altra cosa interessante che su richiesta
ha inaugurato i servizi condivisi in modo giusto
ho lanciato alcuni di quelli che ho scritto
qualche Scala per l’ultimo anno che è stato
che era parte divertente del nuovo
l’architettura per on-demand sta guardando
Lo chiamo le 37 cose che ogni app
l’applicazione web fa cose simili
autenticazione e registrazione e messaggistica
e notifiche e tutte quelle cose
che ogni applicazione fa a parte
la cosa che sono costruiti per fare così noi
portandoli fuori e gestendoli in a
multi-tenant adore situazione di tenant nan
in modo che possiamo disaccoppiare questo tipo di
cose comportamentali condivise dal
funzionalità di base effettiva del
le applicazioni hanno e ciò che ci dà
un sacco di flessibilità perché ora siamo
non avendo queste applicazioni monolitiche
stiamo parlando di molti servizi
l’un l’altro e loro operano
indipendentemente operano in un livello elevato
disponibilità e modo scalato orizzontalmente
e significa che le applicazioni possono
essere cambiato in modo del tutto indipendente dal
servizi intorno a loro così è davvero
cool che insieme con la nuova integrazione
l’architettura ci aiuta a lavorare in modo indipendente
con la consegna di applicazioni e ridurre
l’impatto che ha ogni piccolo cambiamento
sull’intero ecosistema, quindi stiamo usando
principi di calcolo distribuito cose
abbiamo imparato circa gli ultimi 20 anni
e ci permette anche di accoppiare il
operazioni delle applicazioni
in precedenza con lo studio JIRA dovremmo farlo
riavviare tutte le applicazioni anche se
solo uno cambiato era proprio la strada
lo abbiamo raggruppato e consegnato a
produzione così abbastanza dispendiosa
risorse e fastidioso per gli utenti fino ad ora
con i servizi condivisi che sono stati
costruito dal
fino ad essere in grado di essere continuamente
schierato quindi nemmeno solo continuamente
consegnato continuamente ma schierato
continuamente così li distribuiamo
più volte al giorno posso apportare un cambiamento
ora impegnarsi e avere una presentazione
in 10 minuti senza alcun impatto
gli utenti quindi è un enorme passo avanti e
in una sorta di capacità e mentalità
quello va nella creazione di software, quindi cosa?
sono state alcune lezioni che abbiamo imparato insieme
il modo in cui suppongo che la lezione più grande sia stata
di nuovo la gente era la più grande
problema e la più grande lezione è stata
era persone quindi ci vuole un po ‘per
le persone a cambiare i loro pensieri
specialmente se lo hanno fatto a
certo modo per un decennio se abbiamo un
spettro di persone che credono
la consegna continua non ha valore indietro
quando abbiamo iniziato e la maggior parte della gente è a
quella fine dello spettro a continua
la consegna è ovvia perché diavolo
non lo faresti ora che ci siamo spostati
la maggior parte delle persone a questo e davvero
è semplicemente semplicemente facendolo spesso
volte finché non lo vedi tu stesso
accadendo non credete che sia
ne vale la pena e ci vuole un sacco di
sforzo per arrivare là così credendo in quello
il valore è piuttosto un tratto per alcune persone
quindi non essere costernato se la maggior parte delle persone
non sono d’accordo se è una buona idea lì
c’erano alcune parti dell’organizzazione
sono più lenti ad adattarsi a quello o creare un
processo formale a causa del continuo
consegna che le squadre di supporto dovevano adattare
perché hanno un impatto, abbiamo un
squadra di supporto leggendaria che risponde
davvero bene ai clienti e questo cambiamento
nel modo in cui il software è stato consegnato significava
che dovevano anche cambiare il modo
hanno pensato a cosa sta funzionando ora
e cosa devo curare
in precedenza ci si abitua una o due volte
un anno con un grande cambiamento un grande
rilasciare e avere ciò che questo
una lista piuttosto lunga di cose che dovevano fare
aggiornare le loro conoscenze e questo è
cambiato ora ogni settimana qualcosa
piccoli là ora e
e ora c’è una capacità lì
le nostre funzionalità sono leggermente cambiate ed è
piccola lista ma molte di loro nel tempo
e il team di documentazione per il modo
comunicano a clienti e utenti
cosa cambia quando si sta per
cambia ciò che è cambiato e in grado di farlo
fare riferimento alla documentazione il modo in cui sono messi
che insieme dovevano cambiare ora loro
adattato rapidamente informalmente ma ci sono
un sacco di processi formali che hai
quando sei un grande software
organizzazione e quelli hanno preso un po ‘
mentre cambiare pure e soprattutto quello
era solo la sperimentazione bene cosa
se lo facciamo così funziona meglio
per noi e quello di quello alla fine
successo ma quello era un ascoltatore che avevamo
per imparare che non era immediatamente
evidente quando abbiamo iniziato questo viaggio
l’altra area che doveva cambiare era
gestione del prodotto quindi le persone che
pensa alle mappe stradali per il
prodotti e prendere tutto l’input da
da tutti gli utenti con cui parlano
guardano all’industria e poi così
vedrete che cosa sta accadendo in
indicazioni e il tipo di funzionalità o
prodotti che dovremmo costruire e
il modo in cui pensavano di consegnare
i prodotti devono cambiare radicalmente
perché sono abituati al grande
buzz marketing e qualcosa non va
capita quando tu stai facendo
piccoli cambiamenti tutto il tempo
qualcuno sa che l’espressione è buona
più che bello abbiamo speso probabilmente a
un po ‘troppo tempo
conservatore sul nostro processo di consegna
e cose come fare quella decisione
cambiare per ottenere da svn abbiamo speso molto
un sacco di quello in mercurial per alcuni di
le squadre abbiamo trascorso molto più tempo di
tempo trascorso e probabilmente era giustificato
per prendere quella decisione che sapevamo andava
per farlo solo abbastanza conservativo
arrivando anche noi in termini di
consegnando dal master abbiamo persino aspettato
confluenza per un mese o due in più
prendere quella decisione e col senno di poi che
era completa la perdita di tempo che Wisel aveva
appena fatto le pipeline di costruzione mai
sarà perfetto a volte solo tu
devo immergermi e farlo e c’è
sempre qualcosa che devi modificare
comunque non cercare di ottenerlo perfetto
per andarci e adattarsi molto
molti processi hanno avuto un impatto notevole
impatto implicito ma cose come il
distretto è distribuibile la cosa che
noi confezioniamo insieme su richiesta questo
è cambiato nel modo in cui lo abbiamo messo insieme
da questo grande monolitico e chiamalo a
palla di fuoco è praticamente una cerniera enorme
file di tutte le applicazioni messe
insieme in un modo particolare per on
domanda con tutta la preintegrazione
punti costruiti e tutti i dati iniziali
mettiti lì e pronto a cambiarlo
in qualcosa che è decomposto e
più in linea con l’attualità del
prodotti che sono cose separate
e persino fino al livello del componente
i plugin sono cose separate
scrivendo la strada come ho detto il modo in cui il
documento è messo insieme il
documentazione sui gruppi di marketing
supporto team clienti e utenti il
in che modo hanno risposto
ottenere quel software che cambia un po ‘
un po ‘tutto il tempo tutto ha avuto un impatto a monte
cose come il core on-demand così il
parti di on-demand integrate
ogni prodotto in modo che quando ottengono
consegnato
e sanno che sono lì il
piattaforma l’ SDK che l’ultima scena ha tutto
i moduli comuni e l’ esperienza utente
e team di progettazione anche se sono tutti
influenzato da questa questa nuova capacità di
essere in grado di consegnare regolarmente e il
modo in cui il processo di pensiero ha dovuto cambiare
su come progettano e fanno cambiamenti
per l’esperienza dell’utente così sono stato
a società che si ammassano continuamente
strumenti di integrazione per l’ultimo non lo faccio
conosco sette otto anni così continui
l’integrazione è qualcosa che è nel mio
flusso sanguigno quindi ovviamente mi sono rivolto a
quegli strumenti immediatamente per continuo
dispiegamento pure ed è grandioso e
il bambù fa un buon lavoro per noi
il problema era l’infrastruttura che io
stava usando era lo stesso in continuo
la distribuzione era la stessa infrastruttura io
stava usando per l’integrazione continua così
quelle grandi lunghe build che richiedono ore o
più minuti anche 20 minuti sono lunghi
abbastanza per me è stato lo stesso
infrastruttura che stavo usando per l’implementazione
alla produzione che è pazza quando tu
pensaci così lezione ho imparato lì
era dividere l’infrastruttura dal
costruire e la distribuzione così ora abbiamo
infrastruttura dedicata per fare
dispiegamento continuo e che il mio 17
le seconde build possono funzionare abbastanza bene e
non essere in coda e non entrare
temuto da build di lunga durata di
compilazione e test in continuo
ambiente di integrazione anche perché
siamo atlassiani costruiamo molte cose
noi stessi, quindi abbiamo un motore di distribuzione
quello che è innescato da tutto il bambù
compiti e il suo compito è quello di coordinare ciascuno
di quei 18.000 istanti in crescita
in aggiornamento e quali versioni di
i diversi software che stanno eseguendo
questo potrebbe essere qualcosa che abbiamo confezionato
e rendere disponibile per essere abbastanza
eccitante ma è solo un extra
capacità di trattare con il tipo di
scala un numero di applicazioni che io
lavorare con la corsa in produzione
allo stesso tempo questo non è un problema
la maggior parte di voi ha così tanto che se ne ha
quel problema sarò in grado di parlare con te
a riguardo, ecco dove siamo arrivati noi
avere il bello se iterativo e
processo di sviluppo incrementale è
accadendo in ogni squadra e poi
distribuzione o consegna a richiesta
ogni settimana ognuno di loro può farlo
indipendentemente l’uno dall’altro anche
Greenhopper è il prossimo della prossima settimana
ci schiereremo completamente
indipendentemente da JIRA a richiesta che
è bello significa che se sei un
amante di Greenhopper vedrai quelli
caratteristiche che arrivano attraverso spesse e veloci
perché è utile come la squadra
li sviluppa densi e veloci e lo faremo
essere abbastanza gentile per essere in grado di averli
immediatamente e su richiesta e tu sai
come cambia JIRA può cambiare in a
ritmo diverso a cui stiamo consegnando
prima su richiesta alcune caratteristiche scure
a volte le funzionalità non sono ancora vivi
ma sono lì e aspettano e poi
quando arriva il grande lancio, puoi
scaricarlo come un artefatto di download se si esegue
tu stesso o puoi averlo dentro
domanda se mi lasci correre prima di
che è abbastanza eccitante è enorme
cambiare da un anno e mezzo fa
da una società che stava consegnando a
quel punto ogni novanta giorni a un
società che ora sta consegnando la propria
prodotti ogni settimana e alcuni dei
cose come i servizi condivisi su
la domanda ha consegnato più volte a
il giorno è un grande cambiamento e così abbiamo
abbiamo fatto un po ‘di duro
lavoro per arrivarci ma siamo ancora noi siamo
ancora lavorando su cose e e il principale
cosa come sempre è la pipeline quindi
il gasdotto tende ad essere fragile e
è interessante sapere che lo sappiamo
quale sia la cosa giusta da fare è, ma
tutti hanno cattive abitudini che ho male
abitudini e ci sono buone cose che puoi
fare per andare alle persone a non averne
cattive abitudini quindi posso indossare un cappellino
ogni tanto se rompo la build
l’altra cosa è che non l’ho fatto
menzione era quando qualcuno di quelli condivisi
i servizi vengono implementati nella produzione noi
ho un test canarino e riesco a scrivere
qualche asino in qualche rubino come il buono
vecchi tempi e ho quello che chiamo post
verifiche di implementazione penso che suoni
chiamali test di fumo e che cosa
significa che lo distribuisco in uno dei
aree ho 20 aree di
infrastruttura, ma una delle attrazioni della zona
ha un’istanza canarino e gestisco il mio post
i test di verifica della distribuzione richiedono a
un paio di minuti in pratica sono
test funzionali lo stesso cazzo
tipi di test funzionali come potresti
avere nella tua suite di test di accettazione ma
sono specificamente l’obiettivo è
in particolare per assicurare che il principale
parti dell’applicazione funzionano come
atteso con l’aggiornamento e anche questo
coinvolge le cose nell’ecosistema
che non può essere testato prima della produzione
e quelli includono alcuni degli esterni
feste come Google noi e non c’è
sandboxing se hai google app così
possiamo accedere su richiesta con il tuo
Credenziali di Google Apps se ti piace e
abbiamo bisogno di fare in modo che che la piena
l’ecosistema di produzione diretta di andata e ritorno è
lavorando e quindi parte della pipeline
include quella distribuzione post
verifica in cui stiamo investendo
strumenti stiamo migliorando JIRA come un problema
tracker per gestire la consegna continua
perché lo usiamo noi stessi così noi
bisogno di qualcosa che ci aiuti con quello
stiamo migliorando il bambù e nascondiamo il
DBC e prendi secchio per affrontare
consegna continua quindi tutti i trigger
ciò accade quando commetti e il
caramelle e il collegamento e l’integrazione
tra dire bitbucket e bambù a
bitbucket può dire a bambine che hai
appena fatto un commit così ragazzi iniziare
costruire qualcosa e poi dare il via al
la pipeline di distribuzione e tutto il resto
migliorata
una delle grandi cose che trovi quando
ti imbarchi in una nuova impresa di software è
hai tutto questo codice e lo vuoi
miglioralo quindi c’è una richiesta on-demand
ha molti script di shell e Python
script e script Ruby che devono essere
semplificato così parte di quello che stiamo facendo
ora lo sta facendo e stiamo guardando noi
avere un abbastanza ragionevole
database di gestione della configurazione
perché è ciò che guida tutto
installazioni e quindi capisce
che cosa è in esecuzione in ciascuna delle istanze
ma cose come fattore e fantoccio
aiutare a descrivere in modo descrittivo cosa dovrebbe
sii e dicci cosa è e porta i due
insieme invece di avere un sacco di
script per farlo è bello avere
qualcosa che tu conosci
l’industria è già costruita, quindi lo saremo
guardare cose del genere per aiutare
semplifichiamo il modo in cui eseguiamo l’upgrade e l’esecuzione
le applicazioni su richiesta e
speriamo che tutte quelle cose siano così
investimento negli strumenti che siamo
farlo ovviamente viene trasmesso, quindi se
sei un giro di bambù o un po ‘di secchio
o stash user hai anche quelli
miglioramenti di consegna continua che
siamo stati in grado di costruire perché noi
usa che noi stessi l’integrazione è
qualcosa su cui stiamo ancora lavorando se tu
usa più prodotti atlassiani tutti voi
sappi che a volte è una sfida
a volte non sembrano nemmeno gli stessi
la prossima versione di tutti i prodotti
avrà un’interfaccia armoniosa e un
esperienza utente proprietari di case quindi c’è un
molto lavoro andando all’integrazione
capacità tutto dal modo in cui
navigare tra i prodotti e collegarli
insieme al modo in cui parlano a ciascuno
altro con vari plugin così puoi
collegare le applicazioni e averle
fornire informazioni l’un l’altro come a
sviluppatore di software è bello essere in grado
usare quella suite di strumenti e averli
condividere le informazioni così per noi che è così
utile un altro problema con on-demand
non puoi eseguire plugin arbitrari
perché non lo permetto , abbiamo molto
piccolo set di plugin che permettiamo di essere
usato perché siamo in una condivisione
ambiente vincolato ora con il
prossima architettura
il sistema di login sarà in grado di avere il telecomando
plugins quindi i plug-in tre saranno
locale o remoto è possibile eseguirli entrambi
modo e su richiesta saranno remoti
e tutto questo si riduce a un mucchio di
essere principi di calcolo distribuiti
applicato e quindi libri come Jim Jim
Il libro di Weber riposa in pratica è usato
molto anche per noi essere in grado di fare
migliori API e avere le applicazioni
parlarsi l’un l’altro in un modo che non è
legandoli strettamente e permettendoci di
vieni in modo dipendente e basta
un grande vantaggio, wow, siamo un grande negozio di musica
chi usa Maven è probabilmente il singolo
il più grande ostacolo al continuo
consegna che so di un software
punto di vista dello sviluppo come strumento
snapshot maven è uguale a panda triste per
consegna continua e versioning è un
cosa interessante è la sua emotiva per alcuni
le persone, ma deve farlo spesso
cambiare di fronte al continuo
consegna tutto, anche dal formato
potrebbe avere il numero di versione richiesto
per cambiare stiamo usando alcuni vengono descritti
e tagga la magia ora per aiutarci a gestire il
il controllo delle versioni, quindi inizierai a vederne alcuni
numeri strani che appaiono nella tua jira e
versioni di confluenza e on demand e
anche il concetto per noi di ciò che è
la versione è in esecuzione quale versione di
su richiesta è in esecuzione lo sta cambiando
era solito essere monolitico
cosa abbiamo usato per mettere insieme in un grande
grande palla e che questa è la versione
adesso è bello che questa versione di
i servizi condivisi ed è questo
versione di GR ed è questa versione di
greenhopper ed è questa versione di
confluenza e così via quindi è una specie di a
è un amalgama di numeri di versione ora
dobbiamo pensare piuttosto che a
entità singola e va bene perché
ciò significa che possiamo fornire quei prodotti
e quelle componenti indipendentemente da
l’un l’altro
anche la numerazione della versione è simile
stiamo guardando le cose come te
ottieni zero sei punti 06 punto 0 punto 3
ma poi saranno l’altro numero a
Alla fine e quella sarà la versione
numero e che continueranno a
Inc aumento monotonicamente e potresti
vai da sei punto 0 punto tre punti
da mille a sei punto un punto 0
punto 1001 e quei tipi di numeri sono
in realtà separare una cosa è a
numero di marketing e qualcosa per gli utenti
essere in grado di capire cosa sia un gruppo
di funzionalità e funzionalità che sto usando
e l’altro è per noi sapere
da dove viene e non è così
necessariamente alcune persone potrebbero aver usato
il numero di revisione svn ovviamente con
Addy VCS non hai questo così in arrivo
con nuovi modi per affrontare questo ma
efficacemente dover cambiare il
modo in cui lavoriamo con Maven e Maven
plug-in di distribuzione e solo possibile
cambia completamente il modo in cui affrontiamo
versioni nei file pom e, si spera
quel tipo di conoscenza sarà nutrita
alla comunità e non sarà il
terribile bestia che non uso
Io uso altri strumenti ma i prodotti
usare la documentazione di Maven siamo ancora
lavorando su c’è una F e in corso
ora per ottenere l’ architettura dell’informazione
dei documenti per abbinare il codice
struttura il codice a grana grossa
struttura dei prodotti e forse a
un po ‘ di entrambi i modi in realtà così io
ottenere l’organizzazione del codice più corrispondente
più il modo in cui la gente pensa al
applicazioni e li usa e noi siamo
facendo ciò perché quando facciamo un cambiamento
per una parte dell’applicazione che fa
è molto più facile identificare quale parte di
la documentazione deve cambiare così
va bene per tutti e basta
tipo di lavoro che è in corso e
si spera come un utente che legge il
documentazione che avrà ancora senso
e la struttura sarà
ben capito e questo perché è
riflettendo il modo in cui è il codice
strutturato perché spero che lo faccia
sentirsi bene in entrambi i casi
ci consente di identificare rapidamente ciò che deve
cambiare la documentazione quando il
il software cambia di nuovo che è un
compito continuo ora non è solo
qualcosa come un lotto in su e partire
una o due volte all’anno sta succedendo
ogni settimana e gli scrittori tech siedono
con gli sviluppatori e fare cambiare il
documenti documento mentre il codice cambia
che è fantastico il data mining è
qualcosa con cui stiamo lavorando
la consegna continua è così rapida
feedback che io non so è solo
un’esperienza più ricca e ricordi
quando ricevi il feedback che ricordi
cosa hai fatto per dare il feedback
perché lo hai fatto solo la scorsa settimana
o un paio di settimane fa se fosse un
caratteristica oscura quindi a causa del feedback
e come conseguenza di esso e leader
ad esso dove la consegna continua tutto
si nutre di quello e il dato che
la domanda on-demand è enorme e noi siamo
imparare meglio a trovare quei dati e
aggiungici e capisci bene dove
dovrei mettere eventi in rilievo nel codice
in modo che io possa capire l’analisi
e anche immediatamente vedere l’impatto
comportamento degli utenti e l’impatto su
prestazioni in produzione non solo in
nel test ed è ancora una volta che il
soddisfare la capacità di continuo
la consegna ci consente di farlo noi
non l’avremmo fatto
altrimenti il marketing l’ho detto prima
ogni nuova release crea un ronzio che siamo
molto famoso per le nostre t-shirt e per te
prendi magliette ad ogni uscita e
c’è una cosa divertente che succede
ogni volta che c’è un rilascio e questo è
un grosso problema e il marketing lo rendono un grande
affare perché è divertente e piace agli utenti
vedere tutte quelle nuove funzionalità ma nel
volto di consegna continua bene cosa
cosa succede lì e se richiesto
ottenere
quelle caratteristiche e le stiamo accendendo
progressivamente come cambia e
quindi i team di gestione del prodotto e il
l’area marketing sta iniziando a pensare
su come possiamo non solo far fronte a questo
ma come possiamo effettivamente trasformarlo in un?
vantaggio e qualcosa che possiamo
esplorare le possibilità in giro così ci sarà
essere un po ‘un po’ spaventato
perché significa che verrà a me
fallo accadere ma lo sarà
interessante vedere come il prodotto
il marketing cambia pure e con
consegna continua in corso e il
più grande ho lasciato il problema più grande a
ultimo è che è un problema importante a
l’atlassiano ha un profondo e vincolante
una forza profonda e vincolante nel modo in cui noi
viviamo ogni giorno è quando abbiamo
rilasciare feste quando usciamo per andare
bere quello che facciamo con
consegna continua con parti di rilascio
qualcuno ha un’idea di cosa dovrei fare
sulle feste di rilascio quando sono
consegnando continuamente ogni settimana sì
esattamente faremo festa tutto il tempo
beh, questo è tutto, spero che tu abbia visto
alcune delle sfide che sono a
grande organizzazione di software di consegna
per scaricare i clienti e un SAS
l’ambiente non hanno tutti quelli
le sfide sono piuttosto uniche
ma si spera che tu possa vedere che può essere
fatto e se sei in una situazione in cui
hai solo alcuni di questi vincoli
che spero sia molto più facile per te
e se usi i nostri strumenti per costruire il tuo
possedere gli strumenti quindi vedrai quelli nuovi
le caratteristiche che ti arrivano ti permettono
per eseguire una consegna continua un po ‘
un po ‘meglio e rintracciarlo nessuno sa cosa
il mio manico Twitter significa in qualsiasi latino
oratori qui lo lascerò come un
esercita per te qualsiasi domanda perché
abbiamo circa due minuti sì, il
la domanda era come leghiamo tutti i test
insieme per ogni dato componente o il
test unitari e test funzionali quindi
in precedenza sarebbe stato il team downstream
mi prenderò cura di ciò intendo che questo è dentro
la separazione da te parlando nel
diviso da on demand per scaricare o semplicemente
in generale si, lo sappiamo un’unità
prova in esecuzione tutto il tempo il
test funzionali per i nostri prodotti
piuttosto piuttosto faticoso perché abbiamo
devo testare su diversi database
prima dovevamo testare
tra diversi server di app e noi
testare ancora su dati diversi
i browser così lo stesso test funzionale
lo stesso scenario di test funzionale è in esecuzione
dozzine di volte quindi ci vuole solo molto tempo
tempo prima su richiesta non dobbiamo
preoccuparsi di tutti quelli, ma lo fanno
doversi preoccupare di eseguire il
test di integrazione dove ci sono cose
legando insieme i prodotti su richiesta
quindi c’è una pipeline separata per
consegnando su richiesta che questo è parte
del gasdotto generale ma è
diverso per ciascuna delle ciascuno dei
quelli diversi ora il bambù funziona tutto
quei test per noi abbiamo tanto, tanto
e molto, molto, molto e molto
piani che si occupano di loro i piani
guarda i diversi segmenti dei test
come ho detto, esegui lo stesso test
più volte a seconda del target
infrastruttura e c’è un sacco di muro
schede e se qualcuno di loro è rosso allora
chiunque sia quadrato è rosso allora significa
c’è un problema ovviamente ma al giorno d’oggi
significa che non possiamo consegnare se nessuno di
quelli sono rossi quindi è per questo che continuano
mantengono il verde che ogni squadra assume
la responsabilità di costruirli
prova e mantenendoli verdi abbiamo
Anche gli ingegneri del controllo qualità, ma non lo sono
responsabile per mantenere la schermata di test
hanno molto più valore
responsabilità come quella di garantirlo
quello che stiamo testando è la cosa giusta
e che abbiamo pensato a tutto il
possibili cose che potrebbero andare storte e
ora in squadra domanda fa ancora un po ‘di
le sue stesse prove come dico il post
la verifica della distribuzione è un esempio di
che questo è come un ultimo cancello di
automazione prima di rilasciare la Bestia
in produzione è sempre
cambiando il modo in cui noi
test di approccio e quando e cosa
viene testato continuamente tutte le volte
probabilmente è difficile rispondere perché
ogni settimana qualcosa è diverso il
la domanda riguardava il ciclo di feedback e
e tutte quelle informazioni che arrivano così
stiamo ancora cercando di fare con questo
in precedenza quando si rilascia una volta o
due volte l’anno o anche ogni pochi mesi
hai questi lotti di tempo dove tu
aspetto che avremo un sacco di cose
di feedback e siamo appena arrivati a strascico
attraverso questo uso un bel raffreddore
in realtà con il modo in cui danno da mangiare
feedback e sono molto generosi con
con molte informazioni su a
caratteristica che vorrebbe o qualcosa del genere
è andato storto e una grande comunità
intorno ad esso quindi abbiamo una wiki di risposte ora
in realtà siamo le risposte della comunità
le domande degli altri che è
fantastico e ciò che aiutiamo ovviamente
Contribuisci anche tu, ma lo è davvero
è un data mining e una priorità
esercita il feedback che arriva
non solo agli utenti, ma a tutti
l’infrastruttura di produzione o il
sistemi di monitoraggio che abbiamo
team diversi si concentrano su diversi
cose su cui si concentrano i team di supporto
le cose hanno effettivamente impatto l’utente
la capacità dell’utente di utilizzare il software
le squadre operative guardano di più al
prestazioni e l’ impatto su
infrastruttura le caratteristiche
intorno a quello guardo un sacco di cose e
anche il product manager per on-demand
guarda un sacco di cose ed è solo un
esercizio di prioritizzazione di solito noi
sai già qualcosa che non va
perché l’abbiamo usato noi stessi e così
non arriva nemmeno alla produzione ma
sì, sono molti dati e siamo solo
imparare a trattare con quello e ancora
forse l’anno prossimo sarò in grado di dirtelo
esattamente quello che abbiamo fatto
grazie mille
Please follow and like us: