{"id":85605,"date":"2020-06-17T13:42:57","date_gmt":"2020-06-17T11:42:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2"},"modified":"2020-06-17T13:42:57","modified_gmt":"2020-06-17T11:42:57","slug":"iz-autsorsa-v-razrabotku-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","title":{"rendered":"Dal outsourcing allo sviluppo (Parte 2)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audit-telecom\/blog\/504376\/\">articolo precedente<\/a><\/noindex>, ho parlato della storia della creazione di Veliam e della sua diffusione tramite il sistema SaaS. In questo articolo, vi racconter\u00f2 cosa \u00e8 stato fatto affinch\u00e9 il prodotto diventasse pubblico anzich\u00e9 locale. Di come abbiamo iniziato la distribuzione e quali problemi abbiamo affrontato.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Pianificazione<\/h3>\n<p>\nL'attuale parte server per gli utenti era su Linux. Quasi ogni organizzazione ha server Windows, il che non si pu\u00f2 dire di Linux. Il principale punto di forza di Veliam \u00e8 la connessione remota a server e dispositivi di rete dietro NAT. Ma questa funzionalit\u00e0 era molto strettamente legata al fatto che il router doveva necessariamente essere un Mikrotik. E questo ovviamente non avrebbe soddisfatto molte persone. Inizialmente ho iniziato a pensare di aggiungere il supporto per i router dei fornitori pi\u00f9 comuni. Ma capivo che sarebbe stata una corsa infinita per ampliare l'elenco delle aziende supportate. Inoltre, anche quelli gi\u00e0 supportati potrebbero avere, da modello a modello, un insieme di comandi diversi per modificare le regole NAT. L'unica soluzione che vedevo era il VPN. <\/p>\n<p>Poich\u00e9 abbiamo deciso di distribuire il prodotto, ma non come open source, non \u00e8 stato pi\u00f9 possibile includere nella propria composizione diverse librerie con licenze aperte come la GPL. Questo \u00e8 un argomento a parte: dopo aver preso la decisione di vendere il prodotto, abbiamo dovuto rivedere met\u00e0 delle librerie a causa del fatto che erano GPL. Quando scrivevamo per noi stessi, andava bene. Ma per la distribuzione non \u00e8 utile. Il primo VPN che viene in mente \u00e8 OpenVPN. Ma \u00e8 GPL. Avevamo anche l'opzione di usare il giapponese SoftEther VPN. La sua licenza permetteva di includerlo nel proprio prodotto. Dopo un paio di giorni di vari test su come integrarlo in modo che l'utente non dovesse configurare nulla e non dovesse sapere nulla di SoftEther VPN, \u00e8 emerso un prototipo. Tutto era come doveva essere. Ma, per qualche motivo, questo schema ci ha comunque confusi e alla fine abbiamo rinunciato ad esso. Ma naturalmente abbiamo rinunciato solo dopo aver pensato a un'altra opzione. Alla fine, abbiamo fatto tutto su normali connessioni TCP. Parte delle connessioni funziona attraverso un coordinatore, parte direttamente tramite la tecnologia Nat Hole Punching (NHP), che \u00e8 stata anch'essa implementata su Free Pascal. Devo dire che di NHP non ne avevo mai sentito parlare prima. E non mi era nemmeno venuto in mente che fosse possibile collegare 2 dispositivi di rete, entrambi dietro NAT, direttamente. Ho studiato l'argomento, ho capito il principio di funzionamento e ho iniziato a scrivere. Quello che avevo in mente \u00e8 stato realizzato; l'utente si connette con un clic al dispositivo desiderato dietro NAT tramite RDP, SSH o Winbox senza inserire password e configurare VPN. Inoltre, la maggior parte di queste connessioni avviene senza passare per il nostro coordinatore, il che influisce positivamente sul ping e sul costo di gestione di queste connessioni.<\/p>\n<h3>Traduzione della parte server da Linux a Windows<\/h3>\n<p>\nCi sono stati diversi problemi durante il passaggio a Windows. Il primo \u00e8 che il wmic integrato in Windows non consente di effettuare query WQL. E nel nostro sistema tutto era gi\u00e0 basato su di esse. C'era anche qualcos'altro, ma ora non ricordo perch\u00e9 abbiamo definitivamente rinunciato al suo utilizzo. Forse le differenze tra le versioni di Windows. La seconda problematica \u00e8 la multithreading. Non trovando un buon strumento di terze parti con una licenza 'consentita' per noi, ho riavviato l'IDE Lazarus. E ho scritto l'utilit\u00e0 necessaria. In input fornisco l'elenco degli oggetti richiesti e quali query devono essere eseguite, e come risposta ottengo i dati. E il tutto in modalit\u00e0 multithreading. Ottimo.<\/p>\n<p>Dopo aver configurato pthreads per PHP su Windows, pensavo che tutto sarebbe partito senza problemi, ma cos\u00ec non \u00e8 stato. Dopo un po' di debugging, ho capito che pthreads sembrava funzionare, ma nella nostra sistema non andava. \u00c8 diventato chiaro che c'era qualche particolarit\u00e0 nel funzionamento di pthreads su Windows. Ed era proprio cos\u00ec. Ho letto la documentazione e l\u00ec c'era scritto che per Windows il numero di thread \u00e8 limitato, e per quanto ricordo in modo neppure troppo chiaro. Questo \u00e8 diventato un problema. Perch\u00e9, quando ho cominciato a ridurre il numero di thread con cui l'applicazione funzionava, essa lavorava molto lentamente. Ho riaperto l'IDE e nella stessa utility \u00e8 stata aggiunta una funzionalit\u00e0 per il ping multithreading degli oggetti. E per di pi\u00f9, \u00e8 stata inclusa anche la scansione delle porte. Diciamo che dopo questo, la necessit\u00e0 di pthreads per PHP \u00e8 venuta meno e non \u00e8 pi\u00f9 stato utilizzato. Successivamente, in questa utility sono state aggiunte altre funzionalit\u00e0 e continua a funzionare fino ad oggi. Dopo di che \u00e8 stato creato un installer per Windows, che includeva Apache, PHP, MariaDB, l'applicazione PHP stessa e un insieme di utility per interagire con il sistema, scritte in Free Pascal. Per quanto riguarda l'installer, pensavo di risolvere rapidamente questo problema, dato che \u00e8 una cosa molto comune e necessaria per quasi ogni software. O non cercavo nel modo giusto, o c'era qualcos'altro. Ma continuavo a trovare prodotti che erano o non abbastanza flessibili, o costosi e comunque anche poco flessibili. Eppure, ho trovato un installer gratuito, che permette di prevedere tutte le esigenze. Questo \u00e8 InnoSetup. Scrivo qui di questo perch\u00e9 mi \u00e8 costato una ricerca, magari risparmio del tempo a qualcuno.<\/p>\n<h3>Abbandono del plugin a favore del proprio cliente<\/h3>\n<p>\nHo scritto in precedenza che la parte client era un browser con un \"plugin\". C'erano momenti in cui Chrome si aggiornava e la formattazione risultava un po' distorta, oppure Windows si aggiornava e gli schemi URI personalizzati si disattivavano. Non avrei voluto avere questo tipo di sorprese nella versione pubblica del prodotto. Inoltre, gli URI personalizzati hanno iniziato a disattivarsi dopo ogni aggiornamento di Windows. Microsoft semplicemente rimuoveva tutti i rami estranei nella sezione necessaria. Inoltre, Google Chrome ora non consente di salvare la scelta di aprire o meno l'applicazione dagli URI personalizzati, e pone questa domanda ad ogni clic sull'oggetto di monitoraggio. E in generale, era necessario avere una normale interazione con il sistema locale dell'utente, cosa che il browser non offre. L'opzione pi\u00f9 semplice in tale schema sembrava semplicemente creare un proprio browser, come fanno molti ora tramite Electron. Ma molte cose erano gi\u00e0 state scritte in Free Pascal, anche nella parte server, quindi abbiamo deciso di realizzare anche il client nello stesso linguaggio, piuttosto che moltiplicare gli zoologhi. Cos\u00ec \u00e8 stato scritto un client con Chromium a bordo. Dopo di che ha iniziato a arricchirsi di vari collegamenti.<\/p>\n<h3>Rilascio<\/h3>\n<p>\nFinalmente abbiamo scelto il nome per il sistema. Abbiamo esaminato diverse opzioni mentre procedevamo alla trasformazione dalla versione locale al SaaS. Poich\u00e9 inizialmente pianificavamo di espanderci non solo nel mercato interno, il criterio principale per la scelta del nome \u00e8 stato che il dominio nella zona \u201c.com\u201d fosse disponibile o non troppo costoso. Alcune funzioni\/module non erano ancora state portate dalla versione locale a Veliam, ma abbiamo deciso di lanciarsi con le attuali funzionalit\u00e0 e completare il resto successivamente tramite aggiornamenti. Nella prima versione non c'era HelpDesk, n\u00e9 Veliam Connector, non si potevano modificare le soglie per attivare le notifiche e molto altro. Abbiamo acquistato un certificato di firma del codice, firmato le parti client e server. Abbiamo creato un sito per il prodotto, avviato le procedure di registrazione del software, del marchio, ecc. In sintesi, eravamo pronti a partire. Leggera euforia per il lavoro svolto e per la possibilit\u00e0 che qualcuno potesse usare il nostro prodotto, anche se in merito a questo non avevamo dubbi. E poi stop. Il partner ha detto che non si pu\u00f2 entrare nel mercato senza notifiche nei messaggi. Si pu\u00f2 fare a meno di molte altre cose, ma non di questo. Dopo brevi discussioni, \u00e8 stata aggiunta l'integrazione con Telegram, che ci ha soddisfatti. Tra tutti i messaggeri attuali, questo \u00e8 l'unico che offre accesso alle proprie API gratuitamente e senza procedure di approvazione complicate. Lo stesso WhatsApp invita a contattare fornitori che chiedono buone cifre per utilizzare i loro servizi; tutte le e-mail di richiesta di accesso diretto sono state ignorate. E per quanto riguarda Viber\u2026 Non so chi lo usi ora, poich\u00e9 spam e pubblicit\u00e0 sono fuori controllo. A fine dicembre, dopo vari test interni e test tra amici, abbiamo aperto le registrazioni per tutti e pubblicato il software per il download. <\/p>\n<h3>Inizio della distribuzione<\/h3>\n<p>\nFin dall'inizio abbiamo capito che avevamo bisogno di un numero limitato di utenti del sistema affinch\u00e9 potessero testare il prodotto in modalit\u00e0 operativa e fornire un primo feedback. Alcuni post sponsorizzati su VK hanno dato buoni risultati. Sono arrivate le prime registrazioni. <\/p>\n<p>Qui bisogna dire che entrare nel mercato quando la tua azienda non ha un nome famoso e fornire funzionalit\u00e0 di monitoraggio senza agenti, per le quali \u00e8 necessario inserire le credenziali dei propri server e workstation, non \u00e8 affatto semplice. Molte persone ne sono spaventate. Fin dall'inizio abbiamo capito che ci sarebbero state delle difficolt\u00e0 e siamo stati pronti a farvi fronte sia tecnicamente che moralmente. Tutte le connessioni remote, nonostante RDP e SSH siano gi\u00e0 cifrati di default, vengono ulteriormente cifrate dal nostro software secondo lo standard AES. Tutti i dati dai server locali vengono trasferiti nel cloud tramite HTTPS. Le credenziali sono conservate in forma cifrata. Le chiavi di cifratura per tutti i subsistemi dei clienti sono individuali. Per le connessioni remote vengono utilizzate chiavi di sessione di cifratura. <\/p>\n<p>Tutto ci\u00f2 che possiamo fare in questa situazione per rassicurare le persone \u00e8 essere il pi\u00f9 trasparenti possibile, lavorare sulla sicurezza e non stancarci mai di rispondere alle domande che li preoccupano. <\/p>\n<p>Per molti, la comodit\u00e0 e le funzionalit\u00e0 del software superano la paura, e si registrano. Alcune persone nei post pubblicati su VK hanno scritto che questo software non pu\u00f2 essere usato perch\u00e9 raccoglie le loro password ed \u00e8 una company senza nome. Va detto che questo punto di vista non era di una sola persona. Molti semplicemente non capiscono che quando installano un altro software proprietario sul server, che opera come servizio, ha esattamente gli stessi diritti nel sistema e non ha bisogno di credenziali per compiere azioni illecite (\u00e8 chiaro che \u00e8 possibile cambiare l'utente da cui viene avviato il servizio, ma anche qui si possono inserire credenziali qualunque). In realt\u00e0, le preoccupazioni delle persone sono comprensibili. L'installazione di software su un server \u00e8 qualcosa di abituale, ma inserire le credenziali \u00e8 gi\u00e0 un po' spaventoso e intimo, visto che molti hanno una sola password per tutti i servizi e sono riluttanti a creare un account separato anche solo per un test. Tuttavia, al momento ci sono un'enorme quantit\u00e0 di servizi ai quali le persone affidano le loro credenziali e non solo. E ci sforziamo di diventare uno di questi. <\/p>\n<p>Molti commenti erano di questo tipo, che noi avessimo rubato da qualche parte. Questo ci ha sorpreso un po'. Va bene l'opinione di una persona, ma commenti simili sono apparsi in varie pubblicazioni da diverse persone. Non sapevamo inizialmente come reagire a ci\u00f2. Se rattristarsi per il fatto che alcuni pensano che in Russia nessuno possa fare nulla da solo, ma possa solo rubare, o rallegrarsi che pensano che cose del genere si possano solo rubare. <\/p>\n<p>Ora abbiamo concluso la procedura per ottenere il certificato EV Code Sign. Per ottenerlo, \u00e8 necessario passare attraverso una serie di controlli e inviare un sacco di documenti sull'azienda, parte dei quali devono essere certificati da un avvocato. Ottenere il certificato EV Code Sign in tempi di pandemia \u00e8 un argomento completamente a parte. La procedura si \u00e8 protratta per un mese. E non \u00e8 stato un mese di attesa, ma di richieste costanti di documenti aggiuntivi. Potrebbe che la pandemia non c'entrasse nulla e che per tutti la procedura fosse cos\u00ec lunga? Condividi.<\/p>\n<p>Alcuni dicono che non utilizzeranno perch\u00e9 non c'\u00e8 il certificato FSTEK. Dobbiamo spiegare che non possiamo ottenerlo e non lo faremo perch\u00e9 per ottenere questo certificato la crittografia deve essere conforme al GOST, mentre noi pianifichiamo di distribuire il software non solo in Russia e utilizziamo AES.<\/p>\n<p>Tutti questi commenti suscitavano una certa insicurezza riguardo alla possibilit\u00e0 di promuovere un prodotto in cui \u00e8 necessario inserire credenziali senza essere noti. Anche considerando che sapevamo che ci sarebbero state persone che avrebbero reagito in modo molto negativo a questo. Dopo che il numero di registrazioni ha superato le mille, abbiamo smesso di pensarci. Soprattutto dopo che, oltre alle critiche di chi non aveva nemmeno provato il prodotto, hanno cominciato ad arrivare anche recensioni molto positive. Va detto che queste recensioni positive sono il pi\u00f9 grande motivatore per lo sviluppo del prodotto.<\/p>\n<h3>Aggiunta della funzionalit\u00e0 di accesso remoto per i dipendenti<\/h3>\n<p>\nUna delle richieste pi\u00f9 comuni da parte dei clienti \u00e8 \"fai in modo che Vania abbia accesso al suo computer da casa\". Abbiamo impostato una VPN su Mikrotik e creato account per gli utenti. Ma \u00e8 davvero un problema. Gli utenti non sono in grado di seguire le istruzioni e farlo passo dopo passo per connettersi tramite VPN. Diverse versioni di Windows. In un sistema Windows si connette tutto bene, in un altro \u00e8 necessario un protocollo differente. In generale, ci\u00f2 \u00e8 sempre stato collegato alla riconfigurazione dell'hardware di rete, che fungeva da server VPN, e non tutti i dipendenti hanno accesso a questo, il che \u00e8 scomodo. <\/p>\n<p>Ma abbiamo gi\u00e0 collegamenti remoti ai server e all'hardware di rete. Perch\u00e9 non sfruttare i trasporti gi\u00e0 pronti e creare un'utility di dimensioni ridotte che possiamo semplicemente fornire all'utente per la connessione? Volevo solo fare in modo che l'utente non dovesse inserire nulla di complicato. Solo un pulsante \"collegati\". Ma come far\u00e0 questa utility a capire dove collegarsi se ha solo un pulsante? C'era l'idea di una costruzione online dell'applicazione necessaria sui nostri server. L'amministratore di sistema preme il pulsante \"scarica collegamento\", e noi nel nostro cloud riceviamo il comando per assemblare un binario individuale con le informazioni di collegamento integrate al server\/computer giusto tramite RDP. In generale, si poteva fare. Ma \u00e8 lungo, l'amministratore dovrebbe prima aspettare che il binario venga compilato e poi scaricato. Certo, si potrebbe anche aggiungere semplicemente un secondo file di configurazione, ma ci\u00f2 comporterebbe avere 2 file, mentre per semplicit\u00e0 all'utente serve uno solo. Un file, un pulsante e niente installer. Dopo aver navigato un po' su Google, sono giunto alla conclusione che se si aggiunge qualche informazione alla fine di un \u201c.exe\u201d compilato, questo non si danneggia (beh, quasi). Si pu\u00f2 aggiungere anche Guerra e Pace, e continuer\u00e0 a funzionare come prima. \u00c8 un peccato non approfittarne. Adesso possiamo semplicemente estrarre l'applicazione al volo direttamente nel client, tra l'altro si chiama Veliam Connector, e aggiungere a essa le informazioni necessarie per la connessione alla fine. E l'applicazione stessa sa cosa fare con queste informazioni. Perch\u00e9 ho scritto tra parentesi \"quasi\"? Perch\u00e9 per questa comodit\u00e0 bisogna accettare che l'applicazione perda la sua firma digitale. Ma noi, a questo punto, riteniamo che sia un basso prezzo per tale comodit\u00e0. <\/p>\n<h3>Licenze dei moduli di terze parti<\/h3>\n<p>\nHo gi\u00e0 scritto sopra che, dopo aver deciso di rendere il prodotto accessibile al pubblico e non solo per uso personale, \u00e8 stato necessario lavorare duramente per trovare sostituzioni per alcuni moduli che non permettevano di essere inclusi nel nostro prodotto. Ma gi\u00e0 dopo il rilascio, \u00e8 emersa accidentalmente una questione piuttosto spiacevole. Nel Veliam Server, che era lato client, c'era il database MariaDB. E questo con licenza GPL. La licenza GPL implica che il software deve avere codice sorgente aperto e, se il nostro prodotto include MariaDB che ha questa licenza, allora anche il nostro prodotto deve essere sotto questa licenza. Ma per fortuna, l'obiettivo di questa licenza \u00e8 il codice sorgente aperto e non la punizione legale di chi ha commesso un errore. Se il titolare dei diritti presenta un reclamo, deve avvertire il trasgressore per iscritto e quest'ultimo deve correggere la violazione entro 30 giorni. Abbiamo scoperto il nostro errore da soli e non abbiamo ricevuto lettere e ci siamo subito messi a esplorare opzioni su come risolvere il problema. La soluzione \u00e8 risultata ovvia: passare a SQLite. Questo DB non ha alcuna restrizione di licenza. La maggior parte dei moderni browser utilizza SQLite, cos\u00ec come un sacco di altri programmi. Ho trovato sul web informazioni che indicano che SQLite \u00e8 considerato il database pi\u00f9 diffuso al mondo, proprio a causa dei browser, ma non ho cercato prove, quindi questa \u00e8 un'informazione imprecisa. Ho iniziato a studiare i rischi del passaggio a SQLite.<\/p>\n<p>Diventa gi\u00e0 un compito non banale quando ci sono alcune centinaia di server installati presso i clienti con MariaDB e i dati in essa. Alcune funzionalit\u00e0 di MariaDB non sono disponibili in SQLite. Ad esempio, nel codice sono state utilizzate query del tipo <\/p>\n<pre><code class=\"sql\">Select * FROM `table` WHERE `id`&gt;1000 FOR UPDATE\n<\/code><\/pre>\n<p>\nQuesta costruzione non fa solo la selezione dalla tabella, ma blocca anche le righe di dati. E ci sono state altre costruzioni che abbiamo dovuto riscrivere. Ma oltre al fatto che abbiamo dovuto riscrivere molte query, \u00e8 stato necessario anche inventare un meccanismo che durante l'aggiornamento di Veliam Server presso il cliente porti tutti i dati nel nuovo DB e rimuova il vecchio. Inoltre, le transazioni in SQLite non funzionavano e questo era un vero problema. Ma dopo aver esplorato il vasto mare del web, ho trovato facilmente che le transazioni in SQLite possono essere attivate, passando un semplice comando durante la connessione <\/p>\n<pre><code class=\"sql\">PRAGMA journal_mode=WAL;<\/code><\/pre>\n<p>\nAlla fine, il compito \u00e8 stato completato e ora la parte server sui client funziona con SQLite. Non abbiamo notato alcuna modifica nel funzionamento del sistema.<\/p>\n<h3>Nuovo HelpDesk<\/h3>\n<p>\nEra necessario portare il sistema HelpDesk dalla versione interna alla versione SaaS, ma con alcune modifiche. La prima cosa che volevamo fare era integrare il dominio del cliente per la trasparente autorizzazione degli utenti nel sistema. Adesso, per accedere a HelpDesk e lasciare una richiesta nel sistema, l'utente deve semplicemente cliccare sull'icona sul desktop, e si apre il browser. L'utente non inserisce alcun dato di accesso. Il modulo per Apache SSPI, che fa parte di Veliam Server, autorizza automaticamente l'utente con l'account di dominio. Per lasciare una richiesta nel sistema quando l'utente si trova al di fuori della rete aziendale, clicca su un pulsante e riceve un link via email, tramite il quale si autorizza nel sistema HelpDesk senza password. Se l'utente viene disattivato o rimosso dal dominio, anche l'account in HelpDesk smetter\u00e0 di funzionare. In questo modo, l'amministratore di sistema non deve controllare manualmente gli account sia nel dominio che in HelpDesk. Se un dipendente si dimette, l'amministratore disattiva l'account nel dominio e basta, non potr\u00e0 accedere al sistema n\u00e9 dalla rete aziendale n\u00e9 tramite il link. Per far funzionare questa integrazione, l'amministratore di sistema deve impostare una GPO che <noindex><a rel=\"nofollow\" href=\"https:\/\/veliam.com\/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F\/helpdesk\/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B2-%D0%B7%D0%BE%D0%BD%D1%83\/\">aggiunge il sito interno alla zona intranet<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/veliam.com\/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F\/helpdesk\/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%8F%D1%80%D0%BB%D1%8B%D0%BA%D0%B0-helpdesk-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8-gpo\/\">distribuisce l'icona a tutti gli utenti sul desktop<\/a><\/noindex>. <\/p>\n<p>La seconda cosa che riteniamo estremamente necessaria per i sistemi HelpDesk, almeno per noi, \u00e8 la connessione all'utente direttamente dalla richiesta con un clic. Inoltre, le connessioni devono funzionare anche se l'amministratore di sistema si trova su una rete diversa. Per il lavoro esternalizzato \u00e8 fondamentale, ma anche per gli amministratori di sistema internamente \u00e8 spesso molto necessario. Esistono gi\u00e0 diversi prodotti che gestiscono perfettamente l'accesso remoto. Abbiamo quindi deciso di fare integrazioni per loro. Attualmente abbiamo realizzato un'integrazione per VNC e in futuro prevediamo di aggiungere Radmin e TeamViewer. Utilizzando il nostro trasporto di rete per connessioni remote all'infrastruttura, abbiamo configurato VNC in modo che possa collegarsi a workstation remote dietro NAT. Lo stesso avverr\u00e0 con Radmin. Ora, per collegarsi a un utente, basta premere il pulsante \"collegati all'utente\" direttamente nella richiesta. Si apre il client VNC e si connette all'utente indipendentemente dal fatto che siate nella stessa rete o che siate a casa in ciabatte. Prima di tutto, l'amministratore di sistema deve installare VNC Server su tutte le workstation tramite GPO. <\/p>\n<p>Ora stiamo passando a un nuovo HelpDesk e stiamo utilizzando l'integrazione con il dominio e VNC. Questo \u00e8 molto comodo per noi. Ora possiamo smettere di pagare per TeamViewer, che abbiamo utilizzato per oltre tre anni per il nostro servizio di supporto.<\/p>\n<h3>Cosa intendiamo fare in seguito<\/h3>\n<p>\nQuando abbiamo lanciato il prodotto, non abbiamo creato piani a pagamento, ma abbiamo semplicemente limitato il piano gratuito a 50 oggetti di monitoraggio. Cinque dozzine di dispositivi di rete e server avrebbero dovuto bastare a tutti, abbiamo pensato. E poi hanno iniziato a pervenire richieste per aumentare il limite. Dire che siamo rimasti un po' scioccati \u00e8 dire poco. Davvero le aziende con cos\u00ec tanti server sono interessate al nostro software? Abbiamo ampliato gratuitamente il limite per coloro che presentavano tali richieste. A alcuni abbiamo chiesto, in risposta alla loro richiesta, perch\u00e9 avessero bisogno di cos\u00ec tanti, non avendo cos\u00ec tanti server e apparecchiature di rete. E si \u00e8 scoperto che gli amministratori di sistema hanno iniziato a utilizzare il sistema in un modo che non avevamo affatto previsto. \u00c8 stato tutto molto semplice: hanno iniziato a monitorare non solo i server, ma anche le stazioni di lavoro con il nostro software. Ecco perch\u00e9 sono arrivate molte richieste di ampliamento dei limiti. Ora abbiamo gi\u00e0 introdotto piani a pagamento e i limiti possono essere ampliati autonomamente. <\/p>\n<p>I server lavorano quasi sempre con SAN o con dischi locali in un array RAID. E inizialmente abbiamo creato un prodotto per loro. Il monitoraggio SMART non era interessante per questo scopo. Tuttavia, considerando che le persone hanno adattato il software per monitorare le stazioni di lavoro, sono emerse richieste per implementare il monitoraggio SMART. Lo realizzeremo a breve. <\/p>\n<p>Con l'arrivo di Veliam Connector, non \u00e8 pi\u00f9 necessario implementare un server VPN nella rete aziendale, fare RDGW, o semplicemente inoltrare le porte verso le macchine necessarie per la connessione tramite RDP. Molti utilizzano il nostro sistema solo per queste connessioni remote. Veliam Connector \u00e8 disponibile solo per Windows, mentre alcuni utenti aziendali si connettono alle stazioni di lavoro o ai terminali nella rete aziendale con i loro laptop domestici che eseguono MacOS. Cos\u00ec, l'amministratore di sistema si trova costretto, a causa di alcuni utenti, a tornare alla questione dell'inoltro delle porte o della VPN. Pertanto, stiamo gi\u00e0 terminando la versione di Veliam Connector per MacOS. Gli utenti della loro amata tecnologia Apple avranno anche la possibilit\u00e0 di connettersi all'infrastruttura aziendale con un solo clic.<\/p>\n<p>Mi piace molto il fatto che, avendo un gran numero di utenti del sistema, non c'\u00e8 bisogno di chiedersi cosa necessitano le persone e cosa sarebbe pi\u00f9 comodo. Loro stessi scrivono i propri desideri, quindi ci sono molti piani per lo sviluppo a breve termine.<\/p>\n<p>Parallelamente, stiamo pianificando di tradurre il sistema in inglese e di espanderlo all'estero. Non sappiamo ancora come distribuiremo il prodotto al di fuori del nostro paese, stiamo cercando delle opzioni. Forse in seguito ci sar\u00e0 un articolo separato su questo. Potrebbe darsi che qualcuno di coloro che hanno letto questo articolo possa suggerire la giusta direzione, oppure conosce e sa come farlo e offrir\u00e0 i propri servizi. Saremmo grati per l'aiuto.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audit-telecom\/blog\/505678\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e \u0431\u044b \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441\u0442\u0430\u043b \u043d\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c, \u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c. \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0431\u044b\u043b\u0430 \u043d\u0430 Linux. \u041f\u043e\u0447\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-85605","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0437 \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0430 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-17T11:42:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-17T11:42:57+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Dal outsourcing allo sviluppo (Parte 2) - ProHoster","description":"Nell'articolo precedente, ho parlato della storia della creazione di Veliam e della sua diffusione attraverso il sistema SaaS.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0437 \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0430 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster","og:description":"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-17T11:42:57+00:00","article:modified_time":"2020-06-17T11:42:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"85605","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:33:42","updated":"2022-09-28 15:54:11","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/85605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=85605"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/85605\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=85605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=85605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=85605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}