mercoledì 22 giugno 2011

LiveRebel 1.0: No-downtime Aggiornamenti Produzione


Inviato da Ian Roughley

ZeroTurnaround di LiveRebel 1,0 mira ad alleviare i tempi di inattività e sessioni perso in automazione server di distribuzione. Secondo Jevgeni Kabanov, CTO di ZeroTurnaround, "Aggiornamenti maggior parte delle applicazioni si trovano in altre ore della giornata con tempi di inattività. Coloro che provano l'uno-server-at-a-tempo cosa che non sono terribilmente felice. Non vi è il supporto di utensili molto piccoli e gli processo è in gran parte manuale e in parte script. InfoQ avuto l'opportunità di parlare con Zero Turnaround.

InfoQ: Potete fornire alcun dettaglio sulla complessità / dimensione del cliente implementazioni attualmente in uso LiveRebel?

Dato che stiamo parlando di implementazioni beta, sono per lo più piccole implementazioni, anche se alcuni + 100 implementazioni server di produzione saranno aggiunte in futuro.

InfoQ: E 'il focus sulle applicazioni singolo nodo (WAR, EAR, JAR) o può liverebel gestire più complesse multi-nodo implementazioni?

Siamo in grado di gestire tutti i tipi di installazioni, tra cui gruppi di dimensioni illimitate e cloud anche elastico.

InfoQ: In quali casi sarebbe LiveRebel da preferire per un più tradizionale dei metodi disponibili (ad esempio l'aggiornamento di un singolo server di un cluster alla volta)?

Ecco i motivi concettuale:
  • Riavviare i server uno alla volta, richiede molto tempo e per i piccoli cambiamenti diventa costoso
  • In caso di modifiche struttura qualsiasi stato l'applicazione, la migrazione sessione non riesce. Scarico sessione può prendere per sempre se l'applicazione è utilizzata attivamente.
  • In caso di cambiamento nella struttura del database o API remoto, la versione vecchia e nuova applicazione potrebbe non essere compatibile e in questo caso non può essere eseguito in parallelo.

InfoQ: Quello che gli utenti possono aspettarsi nella prossima release

LiveRebel 1.0 è molto minimalista. Nel prossimo futuro si aggiungeranno:
  • uno Hudson / Jenkins plugin,
  • gestione automatica e manuale dei cambiamenti di stato (ad esempio un campo aggiunto),
  • integrazione database aggiornamento e l'integrazione con alcuni prodotti per la gestione del ciclo di vita dell'applicazione.
A lungo termine abbiamo in programma di affrontare molteplici carenze critiche che vediamo nelle attuali applicazioni del ciclo di vita offerte di gestione.

Funzionalità del release includono:

  • Un server completamente script e console Web in grado di gestire a nodo singolo, cluster o nuvola applicazioni Java EE di qualsiasi dimensione su qualsiasi contenitore.
  • Versioni di ogni categoria e risorsa individuale, invece di ricaricare l'intera applicazione, evitando i problemi legati alla riconversione contenitore e aggiornamenti in sequenza.
  • Stendete aggiornamenti istantaneamente e opachi per gli utenti. Il codice viene aggiornato sul posto, conservando tutto lo stato esistente.
  • Utilizza un all-plugin Java JVM (-javaagent) sui nodi causando un sovraccarico di prestazioni del 3-5%.

Tuttavia, ci sono alcune limitazioni. Anche se LiveRebel gestisce tutte le modifiche alle risorse, che non supporta:

  • sostituzione della superclasse
  • implementazione di una nuova interfaccia
  • gestione delle modifiche alle JAR che non includono il liverebel.xml file (molto probabilmente incontrato durante l'aggiornamento JAR 3rd party e le librerie di supporto)

Inoltre, poiché LiveRebel non è possibile creare nuovo Stato, i seguenti tipi di cambiamenti possono avere effetti collaterali indesiderati:

  • Aggiunta nuovo campo di istanza o rinominare una già esistente causerà oggetti esistenti di averlo inizializzato a null
  • Cambiare costruttori avranno effetto solo sugli oggetti creati dopo l'aggiornamento
  • Generalmente modifiche inizializzatori vari non avranno effetto su oggetti esistenti

Una recente indagine condotta che ZeroTurnaround, confermato la necessità di LiveRebel. Ha rilevato che spiegamento di automazione server è l'eccezione piuttosto che la regola (in particolare per 2-50 gamma di server che costituivano la maggioranza degli intervistati) e che le sessioni di tempi di inattività e la perdita è una pratica accettabile, qualcosa che ZeroTurnaround vuole cambiare: " La migrazione degli utenti, delle applicazioni e dello stato del database in un ambiente
ricco di dipendenze fragile è la realtà quotidiana di aggiornare le applicazioni java, che vogliamo cambiare per il meglio. "

Corso Java - Corsi Java - Corsi programmazione Java

Corso programmazione Android - Certificazione Android


Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.