all-in-one privacy solution":["Proton Unlimited è una soluzione completa per la privacy"],"Black Friday":["Black Friday"],"No ads. Privacy by default.":["Niente pubblicità. La prima regola è la privacy."],"People before profits":["Le persone prima dei profitti"],"Security through transparency":["Più sicurezza grazie alla trasparenza"],"The best Proton Mail ${ BLACK_FRIDAY } deals":["Le migliori offerte di Proton Mail per il ${ BLACK_FRIDAY }"],"The world’s only community- supported email service":["L'unico servizio di email al mondo supportato dalla community"]},"specialoffer:limited":{"${ hours } hour":["${ hours } ora","${ hours } ore"],"${ hoursLeft }, ${ minutesLeft } and ${ secondsLeft } left":["Restano ${ hoursLeft }, ${ minutesLeft } e ${ secondsLeft }"],"${ minutes } minute":["${ minutes } minuto","${ minutes } minuti"],"${ seconds } second":["${ seconds } secondo","${ seconds } secondi"],"Limited time offer":["Offerta a tempo limitato"]},"specialoffer:listitem":{"Create multiple addresses":["Crea indirizzi multipli"],"Hide-my-email aliases":["Alias hide-my-email"],"Quickly unsubscribe from newsletters":["Annulla rapidamente l'iscrizione alle newsletter"],"Use your own domain name":["Utilizza il tuo nome di dominio"]},"specialoffer:logos":{"As featured in":["Ne hanno parlato"]},"specialoffer:metadescription":{"Get an encrypted email that protects your privacy":["Scegli un'email cifrata per proteggere la tua privacy"]},"specialoffer:metatitle":{"Proton Mail Black Friday Sale - Up to 40% off":["Offerta Black Friday di Proton Mail - sconti fino al 40%"]},"specialoffer:newmetadescription":{"Get up to 40% off Proton Mail subscriptions this Black Friday. Find great deals on our secure end-to-end encrypted email plans.":["Per questo Black Friday ti offriamo fino al 40% di sconto sugli abbonamenti a Proton Mail. Scopri le straordinarie offerte sui piani di abbonamento alla nostra email dotata di crittografia end-to-end."]},"specialoffer:newmetatitle":{"Proton Mail Black Friday sale | Up to 40% off secure email":["Offerta di Proton Mail per il Black Friday | Fino al 40% di sconto sulla nostra email sicura"]},"specialoffer:note":{"* Billed at ${ TOTAL_SUM } for the first year":["* Addebito di ${ TOTAL_SUM } per il primo anno"],"*Billed at ${ TOTAL_SUM } for the first 2 years":["*Addebito di ${ TOTAL_SUM } per i primi 2 anni"],"30-day money-back guarantee":["Garanzia soddisfatti o rimborsati di 30 giorni"],"Billed at ${ TOTAL_SUM } for the first 2 years":["Addebito di ${ TOTAL_SUM } per i primi 2 anni"],"Billed at ${ TOTAL_SUM } for the first year":["Addebito di ${ TOTAL_SUM } per il primo anno"],"You save ${ SAVE_SUM }":["Risparmi ${ SAVE_SUM }"]},"specialoffer:off":{"${ PERCENT_OFF } off":["−${ PERCENT_OFF }"]},"specialoffer:testimonial":{"I love my ProtonMail":["Adoro ProtonMail"],"My favorite email service":["Il mio servizio email preferito"],"Thanks Proton for keeping us all safe in the complicated internet universe.":["Grazie Proton perché ci proteggi nell'universo complicato di internet."],"You get what you pay for. In the case of big tech, if you pay nothing, you get used. I quit using Gmail and switched to @ProtonMail":["Ottieni quello per cui hai pagato. Nel caso di big tech, se non paghi niente, vieni usato. Ho smesso di usare Gmail e sono passata a @ProtonMail"]},"specialoffer:time":{"Days":["Giorni"],"Hours":["Ore"],"Min":["Min"]},"specialoffer:title":{"And much more":["E altro ancora"],"Safe from trackers":["Protezione dai tracker"],"Stay organized":["Tieni tutto in ordine"],"Black Friday email deals":["Offerte email del Black Friday"],"Don’t just take our word for it":["Non lo diciamo solo noi"],"Make your inbox yours":["Rendi la tua posta in arrivo davvero tua"],"Our story":["La nostra storia"],"Transfer your data from Google in one click":["Trasferisci i tuoi dati da Google con un solo clic"]},"specialoffer:tooltip":{"Access blocked content and browse privately. Includes ${ TOTAL_VPN_SERVERS }+ servers in ${ TOTAL_VPN_COUNTRIES }+ countries, connect up to 10 devices, access worldwide streaming services, malware and ad-blocker, and more.":["Accedi a contenuti bloccati e naviga in modalità privata. Include oltre ${ TOTAL_VPN_SERVERS } server in più di ${ TOTAL_VPN_COUNTRIES } Paesi, possibilità di connettere fino a 10 dispositivi, accesso a servizi di streaming in tutto il mondo, anti-malware, ad-blocker e altro ancora."],"Easily share your calendar with your family, friends or colleagues, and view external calendars.":["Condividi facilmente il tuo calendario con familiari, amici o colleghi e visualizza calendari esterni."],"Includes support for 1 custom email domain, 10 email addresses, 10 hide-my-email aliases, calendar sharing, and more.":["Include il supporto per 1 dominio email personalizzato, 10 indirizzi email, 10 alias hide-my-email, condivisione del calendario e altro ancora."],"Includes support for 3 custom email domains, 15 email addresses, unlimited hide-my-email aliases, calendar sharing, and more.":["Include il supporto per 3 domini email personalizzati, 15 indirizzi email, alias hide-my-email illimitati, condivisione del calendario e altro ancora."],"Manage up to 25 calendars, mobile apps, secured with end-to-end encryption, 1-click calendar import from Google, and more.":["Gestisci fino a 25 calendari, app per dispositivi mobili, protezione con la crittografia end-to-end, importazione del calendario da Google in un solo clic e altro ancora."]},"Status banner":{"Learn more":["Scopri di più"],"Please note that at the moment we are experiencing issues with the ${ issues[0] } service.":["Attenzione: stiamo riscontrando dei problemi con il servizio di ${ issues[0] }"],"We are experiencing issues with one or more services at the moment.":["Stiamo riscontrando dei problemi con uno o più servizi."]},"Status Banner":{"At the moment we are experiencing issues with the Proton VPN service":["Al momento abbiamo dei problemi con il servizio di Proton VPN"],"Learn more":["Scopri di più"]},"steps":{"Step":["Passaggio"]},"suggestions":{"Suggestions":["Suggerimenti"]},"Support":{"Sub category":["Sottocategoria","Sottocategorie"]},"Support article":{"${ readingTime } min":["${ readingTime } minuto","${ readingTime } minuti"],"Category":["Categoria","Categorie"],"Didn’t find what you were looking for?":["Non hai trovato quello che cercavi?"],"General contact":["Contatti generali"],"Get help":["Ottieni supporto"],"Legal contact":["Contatti legali"],"Media contact":["Contatti per la stampa"],"Partnerships contact":["Contatti per collaborazioni"],"Reading":["Lettura"]},"Support Form Platform option":{"VPN for Android TV":["VPN per Android TV"],"VPN for Apple TV":["VPN per Apple TV"],"VPN for Chromebook":["VPN per Chromebook"]},"Support troubleshooting":{"App version":["Versione dell'app"],"Browser":["Browser"],"Check if this helps":["Verifica se questo ti è utile"],"Choose a product":["Scegli un prodotto"],"Did this solve your issue?":["Ha risolto il tuo problema?"],"Faster assistance is just a few clicks away":["Ottieni assistenza più velocemente con pochi clic"],"How can we help?":["Come possiamo aiutarti?"],"No, contact support":["No, contatta il supporto"],"Please fill out one field after another":["Compila un campo dopo l'altro"],"Please make your selections":["Fai la tua selezione"],"Proton account":["Account Proton"],"Proton for Business":["Proton for Business"],"Thank you for your feedback":["Grazie per il feedback"],"What can we help with?":["In cosa possiamo esserti di aiuto?"],"Yes":["Sì"]},"support_modal_search_query":{"Search query":["Query di ricerca"]},"support_search_button":{"Search":["Cerca"]},"support_search_i_am_looking_for":{"I'm looking for":["Sto cercando"]},"SupportForm":{"For a faster resolution, please report the issue from the Bridge app: Help > Report a problem.":["Per una risoluzione più rapida, segnala il problema dall'app Bridge: Aiuto > Segnala un problema."],"Information":["Informazioni"]},"SupportForm:option":{"Account Security":["Sicurezza dell'account"],"Contacts":["Contatti"],"Custom email domain":["Dominio email personalizzato"],"Email delivery and Spam":["Consegna delle email e spam"],"Encryption":["Crittografia"],"Login and password":["Login e password"],"Merge aliases and accounts":["Unione di alias e account"],"Migrate to Proton":["Migrazione a Proton"],"Notifications":["Notifiche"],"Other":["Altro"],"Plans and billing":["Piani e fatturazione"],"Proton for Business":["Proton for Business"],"Sign up":["Iscrizione"],"Storage":["Archiviazione"],"Users, addresses, and identities":["Utenti, indirizzi e identità"]},"SupportForm:optionIntro":{"Select a topic":["Seleziona un argomento"]},"Testimonial":{"Awards":["Premi"],"Customers":["Clienti"],"Featured":["In evidenza"],"Go to testimonial source":["Vai alle testimonianze"],"Open source of award":["Apri la fonte del premio"],"Open source of quote":["Apri la fonte della citazione"],"Reviews":["Recensioni"],"Videos":["Video"],"Watch on TikTok":["Guarda su TikTok"],"Watch on YouTube":["Guarda su YouTube"]},"TestimonialCategory":{"Awards":["Premi"],"Customers":["Clienti"],"Featured":["In evidenza"],"Media":["Media"],"Reviews":["Recensioni"],"Videos":["Video"]},"Text":{"If you need help, check out our ${ supportLink }.":["Se ti serve assistenza dai un’occhiata alla nostra ${ supportLink }."],"The page you’re looking for might have been removed, or it could be an\nold link.":["La pagina che stai cercando potrebbe essere stata rimossa, o il link potrebbe essere vecchio."],"Your question may already have an answer in our knowledge base:":["La risposta alla tua domanda potrebbe essere già disponibile nella nostra base di conoscenza:"]},"Title":{"On this page":["In questa pagina"],"Related articles":["Articoli correlati"],"Share ${ thisPage }":["Condividi ${ thisPage }"],"Switch to Proton Pass - Contact us":["Passa a Proton Pass - Contattaci"],"Thank you!":["Grazie"],"this page":["questa pagina"]},"tooltip_vpn":{"Access blocked content and browse privately. Includes ${ TOTAL_VPN_SERVERS }+ servers in ${ TOTAL_VPN_COUNTRIES }+ countries, highest VPN speed, ${ TOTAL_VPN_CONNECTIONS } VPN connections, worldwide streaming services, malware and ad-blocker, and more.":["Accedi a contenuti bloccati e naviga in modalità privata. Include oltre ${ TOTAL_VPN_SERVERS } server in più di ${ TOTAL_VPN_COUNTRIES } Paesi, VPN ad altissima velocità, ${ TOTAL_VPN_CONNECTIONS } connessioni VPN, servizi di streaming in tutto il mondo, anti-malware, ad-blocker e altro ancora."]},"vpn_servers":{"Get Proton VPN Plus":["Scegli Proton VPN Plus"]},"wallet_signup_2024:Action":{"Get Proton Wallet":["Ottieni Proton Wallet"]},"wallet_signup_2024:Homepage hero product link title":{"Wallet":["Wallet"]},"wallet_signup_2024:Homepage product navigation bar":{"Wallet":["Wallet"]},"wallet_signup_2024:menu item":{"Bitcoin guide":["Guida Bitcoin"],"Proton Wallet news":["Novità di Proton Wallet"],"Proton Wallet support":["Supporto di Proton Wallet"]},"wallet_signup_2024:Pricing":{"Includes everything in Proton Unlimited and":["Include tutte le funzionalità di Proton Unlimited e"],"Limited availability":["Disponibilità limitata"],"The easiest way to securely own, send, and receive Bitcoin":["Il modo più semplice di possedere, inviare e ricevere Bitcoin in modo sicuro"]},"wallet_signup_2024:ProductRange":{"Discover Proton Wallet":["Scopri Proton Wallet"],"Store and transact Bitcoin privately with an encrypted self-custody wallet.":["Conserva ed esegui transazioni in Bitcoin in modo privato con un portafoglio a custodia autonoma crittografato."]},"wallet_signup_2024:wallet bitcoin":{"Learn about Bitcoin, the Internet's value network.":["Scopri il Bitcoin, la rete di valore di Internet."]},"wallet_signup_2024:wallet overview":{"Ensure you're always in control of your Bitcoin.":["Assicurati di avere sempre il controllo dei tuoi Bitcoin."]},"wallet_signup_2024:wallet security":{"The encrypted, open-source wallet that puts you in control.":["Il portafoglio crittografato e open source che ti dà il controllo."]}}},"base":"blog","cdn":{"enabledForAssets":true,"enabledForImages":true,"url":"https://pmecdn.protonweb.com/"},"unleashApi":"https://account.proton.me/api"};
window.frameworkContext = frameworkContext;
const context = frameworkContext.base === '' ? '' : `${frameworkContext.base}/`;
window.__toAssetUrl = (filename) => {
if (frameworkContext.cdn !== undefined && frameworkContext.cdn.enabledForAssets === true) {
return `${frameworkContext.cdn.url}${context}${filename}`;
} else {
return `/${context}${filename}`;
}
};
})();
Analisi della disruzione del servizio Proton di luglio | Proton
Dal lunedì 11 luglio al mercoledì 13 luglio, Proton Mail, Proton VPN(nuova finestra) e Proton Drive hanno subito interruzioni di servizio intermittenti, alcune delle quali hanno colpito gli utenti per un’ora o più. Queste sono state causate da un errore inaspettato, non da un attacco o altre attività malevole.
Questo non soddisfa gli standard a cui ci atteniamo, né è ciò che la comunità Proton si aspetta da noi. Ci scusiamo con te e abbiamo preso provvedimenti per ridurre al minimo la probabilità di queste interruzioni in futuro. Di seguito spieghiamo cosa è successo, come abbiamo stabilizzato la situazione e cosa abbiamo fatto per prevenire future interruzioni.
Background
Negli ultimi mesi, il nostro team di database ha aggiornato i nostri database relazionali per renderli più affidabili, veloci e scalabili. Abbiamo testato ampiamente questi aggiornamenti e, fino a questo punto, ne abbiamo eseguiti decine senza incidenti.
Abbiamo completato l’ultimo aggiornamento la mattina di domenica 10 luglio. Abbiamo salvato questo particolare database per ultimo perché è la fonte principale di informazioni sugli account dei membri della community e sugli indirizzi email. È anche molto, molto utilizzato. Avevamo già identificato l’alta frequenza d’uso di questo database come un rischio. Avevamo già in corso diverse iniziative per ridurre il suo carico di lavoro e migliorare le prestazioni per rendere l’intero sistema più resiliente e scalabile.
Abbiamo deciso di aggiornare il database prima che queste iniziative fossero completate perché i test approfonditi e la nostra esperienza negli aggiornamenti dei database precedenti indicavano che il nuovo database sarebbe stato più veloce. Come parte di questo aggiornamento, abbiamo anche spostato il database su un server più recente e veloce. Credevamo che questa combinazione di software e hardware più recenti avrebbe migliorato le prestazioni e ci avrebbe dato un margine aggiuntivo per implementare in modo sicuro le nostre ottimizzazioni più invasive del database.
L’incidente
Tutti i servizi e le metriche erano normali fino a lunedì 11 luglio, alle 14:35 UTC. Man mano che il traffico aumentava, nuove connessioni al nuovo database iniziavano a fallire, attivando misure protettive automatiche che impedivano nuove connessioni. Ci siamo affrettati a capire cosa non andasse e ridurre il carico del database disattivando i servizi opzionali o a bassa priorità, come le notifiche di messaggi.
Di solito, se si verifica un problema del genere, annulliamo semplicemente l’aggiornamento e torniamo alla versione precedente del software. Sfortunatamente, questo particolare aggiornamento era irreversibile poiché riguardava la modifica dei formati dei dati del database e avevamo già registrato oltre 24 ore di modifiche utilizzando la nuova versione. Questo significava che eravamo sotto pressione per mitigare i sintomi che osservavamo, trovare la causa principale e trovare una soluzione permanente.
Ora sappiamo che il software del database era più veloce dopo l’aggiornamento, ma le nuove connessioni a quel database non lo erano. Parte di questa latenza di connessione aggiuntiva era intrinseca al nuovo codice del database, ma ogni nuova connessione aveva anche una comunicazione di rete a viaggio di andata e ritorno extra, aumentando il carico su una rete già occupata.
Questa comunicazione di andata e ritorno extra è stata causata da un nuovo default di autenticazione introdotto in una recente patch del software del database. Questo potrebbe non sembrare molto, ma questo database gestisce così tante connessioni che i due pacchetti extra aggiunti dal nuovo processo di autenticazione e la latenza di connessione intrinseca erano sufficienti per sovraccaricare il server sia a livello MySQL che a livello kernel della rete.
La nostra risposta
Entro la fine di lunedì, non avevamo scoperto questi pacchetti extra, quindi mentre continuavamo a indagare, abbiamo anche lavorato per ridurre il tasso di connessione del database. I passi che abbiamo intrapreso includono:
Spostare più carichi di lavoro in sola lettura da un server di database scrivibile
Caching aggiuntivo di oggetti e query comuni dove possibile
Rimandare le email a bassa priorità per smussare i picchi di consegna
Abbiamo confermato il problema di autenticazione mercoledì 13 luglio alle 1:00 UTC. Per mitigarne gli effetti, il nostro team ha lavorato per rendere operativi nuovi server, che abbiamo utilizzato per distribuire il carico su più server per evitare che uno solo venisse sopraffatto.
Alle 8:42 UTC, abbiamo ripristinato il parametro di autenticazione al default usato nella versione precedente. Questo ha contribuito a ridurre il carico di attività sul server database e, insieme alle ottimizzazioni già effettuate, ha sostanzialmente eliminato gli errori e gli avvisi ricevuti negli ultimi due giorni.
Tuttavia, abbiamo scoperto un problema secondario alle 14:14 UTC che è iniziato quando abbiamo distribuito il carico di lavoro su più server. Questi nuovi server replica dedicavano oltre il 50% della loro potenza di elaborazione per verificare la loro sincronizzazione con il database primario scrivibile. Questo significava che nei momenti di picco di attività, il numero di connessioni sopraffaceva i server replica, facendo sì che il traffico fosse reindirizzato di nuovo al database principale, creando instabilità e occasionalmente interrompendo il servizio fino a quando i livelli di attività non scendevano.
Abbiamo eliminato questo carico di sincronizzazione (caching) poco prima delle 16:00 UTC e abbiamo stabilizzato i database replica, il che ha risolto definitivamente l’instabilità intermittente.
Andando avanti
Nei giorni successivi all’incidente, abbiamo sviluppato, validato ed eseguito il primo di diversi piani di divisione di questo database per ridurre permanentemente il suo carico di lavoro. Il nostro team ha implementato queste divisioni con successo senza interrompere il nostro servizio. Abbiamo anche iniziative in corso per migliorare il nostro pooling delle connessioni in modo che questo specifico problema non possa ripresentarsi in futuro.
Queste misure, sebbene necessarie, non sono sufficienti. Ci rendono meglio preparati a combattere l’ultima guerra, ma non anticipano i problemi futuri né affrontano il processo decisionale che ha portato a questo incidente.
Per raggiungere questo obiettivo, i nostri team infrastrutturali e applicativi stanno eseguendo una revisione approfondita in più fasi di tutti i servizi e sistemi per comprendere meglio i possibili modi di guasto e come possiamo mitigarli. I revisori consistono di proprietari di servizio e altri membri del team per garantire di avere competenze specifiche e nuovi punti di vista. L’enfasi di questa revisione è prevenire i guasti ma anche localizzare potenziali guasti e prevenire cascami e interruzioni di servizio su larga scala ove possibile. Alcuni interventi saranno rapidi, mentre altri sono architettonici e richiederanno tempo, ma siamo impegnati a rendere i servizi Proton affidabili come la comunità Proton si aspetta e merita.
Dal lato decisionale, abbiamo analizzato il processo e le informazioni che hanno portato alla decisione di fare l’aggiornamento prima della divisione per assicurarci di prendere la decisione corretta la prossima volta. Molto, molto poche modifiche che apportiamo, sia all’infrastruttura che al codice dell’applicazione, sono irreversibili, e per una buona ragione. In effetti, questa è l’unica modifica di questo tipo negli ultimi anni. In questo caso, tentare di rendere la modifica reversibile non sarebbe stato fattibile. Ma il fatto che fosse irreversibile avrebbe dovuto attivare un processo di approvazione delle modifiche più cauto, e il successo precedente dell’aggiornamento ci ha reso eccessivamente sicuri che questo database si sarebbe comportato allo stesso modo, nonostante il carico di lavoro molto più pesante.
Questa è un’opportunità per noi di rivalutare il nostro approccio infrastrutturale e alla fine ci porterà ad essere più resilienti e meglio preparati in futuro. Grazie a tutti nella comunità Proton per la vostra pazienza durante la disruzione del servizio. Abbiamo imparato molte lezioni che ci serviranno bene mentre lavoriamo per costruire un internet in cui la privacy sia la norma, e ti ringraziamo ancora per il tuo supporto.