{"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\/nl\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","title":{"rendered":"Van outsourcing naar ontwikkeling (Deel 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\/\">vorig artikel<\/a><\/noindex>, ik heb het verhaal achter de ontwikkeling van Veliam verteld en de beslissing om het via een SaaS-systeem te verspreiden. In dit artikel zal ik bespreken wat er gedaan moest worden om het product niet lokaal, maar publiekelijk te maken. Over hoe we met de verspreiding zijn begonnen en met welke problemen we zijn geconfronteerd.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Planning<\/h3>\n<p>\nDe huidige serverzijde voor gebruikers was op Linux. Bijna elke organisatie heeft Windows-servers, wat niet gezegd kan worden van Linux. De grootste kracht van Veliam is de mogelijkheid tot externe verbindingen met servers en netwerkapparatuur achter NAT. Maar deze functionaliteit was sterk afhankelijk van het feit dat de router per se een Mikrotik moest zijn. Dit zou duidelijk voor veel mensen ontevredenheid veroorzaken. Ik begon eerst na te denken over het toevoegen van ondersteuning voor routers van de meest voorkomende leveranciers. Maar ik begreep dat dit een eindeloze race zou zijn met het uitbreiden van de lijst van ondersteunde merken. Bovendien konden diegenen die al ondersteund worden, van model tot model verschillende commando's hebben voor het wijzigen van NAT-regels. De enige oplossing die ik zag, was VPN. <\/p>\n<p>Aangezien we besloten hebben om het product te verspreiden, maar niet als open source, kunnen we daarom geen verschillende bibliotheken met open source-licenties zoals de GPL opnemen. Dit is in het algemeen een apart onderwerp, na de beslissing om het product te verkopen, moesten we de helft van de bibliotheken herzien omdat ze GPL waren. Toen we het voor onszelf schreven, was dat in orde. Maar voor distributie is het niet geschikt. De eerste VPN die in me opkomt is OpenVPN. Maar dat is GPL. Er was ook de mogelijkheid om de Japanse SoftEther VPN te gebruiken. De licentie daarvan stond ons toe het op te nemen in ons product. Na een paar dagen verschillende testen over hoe je dit moest integreren zodat de gebruiker helemaal niets hoefde in te stellen of te weten over SoftEther VPN, was er een prototype. Alles was zoals het moest zijn. Maar om de een of andere reden maakte deze aanpak ons toch ongemakkelijk, en uiteindelijk hebben we het opgegeven. Maar natuurlijk hebben we het afgewezen nadat we een ander idee hadden bedacht. Uiteindelijk hebben we alles gedaan met gewone TCP-verbindingen. Een deel van de verbindingen werkt via een co\u00f6rdinator, een deel rechtstreeks via de technologie Nat Hole Punching (NHP), die ook in Free Pascal werd ge\u00efmplementeerd. Ik moet zeggen dat ik voorheen nooit van NHP had gehoord. En het kwam niet in me op dat je twee netwerkapparaten, die zich beide achter NAT bevinden, rechtstreeks met elkaar kunt verbinden. Ik heb me in het onderwerp verdiept, begreep het principe en begon te schrijven. Wat ik bedacht had, werd gerealiseerd, de gebruiker maakt met \u00e9\u00e9n klik verbinding met het gewenste apparaat achter NAT via RDP, SSH of Winbox zonder het invoeren van wachtwoorden en het instellen van een VPN. Bovendien gaat het grootste deel van deze verbindingen langs onze co\u00f6rdinator, wat een positief effect heeft op de ping en de kosten van het onderhoud van deze verbindingen.<\/p>\n<h3>Migratie van de serverzijde van Linux naar Windows<\/h3>\n<p>\nEr waren verschillende problemen bij de overstap naar Windows. Het eerste probleem is dat de ingebouwde wmic in Windows geen WQL-query's mogelijk maakt. In ons systeem was alles al opgebouwd rondom deze. En er was nog iets, maar ik kan me nu niet herinneren waarom we uiteindelijk besloten hebben het gebruik ervan te staken. Mogelijk zijn het de verschillen tussen de Windows-versies. En het tweede probleem is meerthreading. Zonder een goede externe tool te vinden onder een 'toegestane' licentie ben ik opnieuw IDE Lazarus gestart. En heb de benodigde tool geschreven. Als invoer wordt de benodigde lijst met objecten en de specifieke verzoeken die gedaan moeten worden, gegeven, en als antwoord ontvang ik de gegevens. En dat allemaal in een meerthreading modus. Uitstekend.<\/p>\n<p>Nadat ik pthreads voor PHP Windows had ingesteld, dacht ik dat alles direct zou starten, maar dat was niet het geval. Na enige tijd van debuggen realiseerde ik me dat pthreads wel leek te werken, maar in ons systeem functioneerde het niet. Het werd duidelijk dat er een bijzondere eigenschap was in de werking van pthreads op Windows. En dat klopte. Ik las de documentatie en er stond dat het aantal threads op Windows beperkt is, en volgens mij was dit impliciet. Dit werd een probleem. Want toen ik begon het aantal threads te verminderen waarmee de applicatie werkte, deed het zijn werk heel langzaam. Ik opende opnieuw de IDE en aan diezelfde tool werd functionaliteit voor multithreaded pingen van objecten toegevoegd. En bovendien ook poortscanning. Eigenlijk daarna raakte de noodzaak voor pthreads voor PHP verdwenen, en het wordt niet meer gebruikt. Vervolgens werden er nog enkele functionaliteiten aan deze tool toegevoegd en werkt het tot op de dag van vandaag. Daarna werd er een installer voor Windows samengesteld die Apache, PHP, MariaDB, de PHP-applicatie zelf en een set hulpprogramma's voor interactie met het systeem, geschreven in Free Pascal, bevatte. Wat betreft de installer, dacht ik dat ik dat probleem snel zou oplossen, omdat het een veelvoorkomende en essenti\u00eble functie is voor bijna elke software. Of ik zocht verkeerd, of iets anders. Maar ik kwam voortdurend producten tegen die ofwel niet flexibel genoeg waren, ofwel duur en tegelijkertijd ook niet flexibel. En toch vond ik een gratis installer waarin ik al mijn wensen kon realiseren. Dat is InnoSetup. Ik schrijf hier over omdat ik het moest zoeken, hopelijk bespaar ik iemand anders tijd.<\/p>\n<h3>Afstand doen van de plugin ten gunste van mijn klant<\/h3>\n<p>\nIk heb eerder geschreven dat de clientkant een browser met een 'plugin' was. Er waren tijden dat Chrome werd bijgewerkt en de opmaak een beetje scheef was, of dat Windows werd bijgewerkt en de custom uri-schemes niet meer werkten. Ik wilde absoluut geen dergelijke verrassingen in de openbare versie van het product hebben. Bovendien begonnen de custom uri's na elke Windows-update niet meer te werken. Microsoft verwijderde gewoon alle niet-Microsoft vertakkingen in het betreffende gedeelte. Ook staat Google Chrome nu niet meer toe om de keuze te onthouden om een applicatie te openen vanuit een custom uri, en stelt deze vraag bij elke klik op een monitorobject. En over het algemeen was er behoefte aan een normale interactie met het lokale systeem van de gebruiker, wat de browser niet biedt. De eenvoudigste optie in dit geval was om gewoon onze eigen browser te maken, zoals velen nu doen via Electron. Maar veel dingen waren al geschreven in Free Pascal, waaronder de serverkant, dus besloten we om de client ook in dezelfde taal te maken en geen zooitje te cre\u00ebren. Zo werd de client met Chromium aan boord geschreven. Daarna begon deze zich uit te breiden met verschillende omhulsels.<\/p>\n<h3>Release<\/h3>\n<p>\nWe have finally chosen a name for the system. We constantly went through various options while transitioning from the local version to SaaS. Since we originally planned to launch not only in the domestic market, the main criterion for selecting a name was the availability of an unregistered or not very expensive domain in the '.com' zone. Some features\/modules had not yet been ported from the local version to Veliam, but we decided to release with the current functionality and complete the rest as updates. The very first version didn\u2019t have a HelpDesk, Veliam Connector, it was not possible to change the thresholds for notification triggers, and much more. We purchased a Code Sign Certificate, signed the client and server parts. We created a website for the product and started the software and trademark registration procedures, etc. In general, we are ready to start. There is a light euphoria from the work done and from the possibility that someone may use your product, although we had no doubts about this. And then it hit us. A partner said that we cannot enter the market without notifications in messengers. We can do without a lot of other things, but not this. After a short debate, we added integration with Telegram, which suited us. Of all current messengers, it is the only one that provides access to its API for free and without complex approval processes. WhatsApp, on the other hand, suggests contacting providers, who charge decent fees for using their services, and all our requests to provide access directly have been ignored. As for Viber... I am not sure who uses it now, as spam and advertising have skyrocketed there. At the end of December, after a series of internal tests and tests among friends, we opened registration for everyone and released the software for download. <\/p>\n<h3>Start of Distribution<\/h3>\n<p>\nFrom the very beginning, we understood that we needed a small flow of users for the system to test the product in a live environment and provide some initial feedback. A few purchased posts on VK yielded results. The first registrations started coming in. <\/p>\n<p>Het is belangrijk te vermelden dat het moeilijk is om de markt te betreden zonder een bekend merk en tegelijkertijd functionaliteit voor agentloze monitoring te bieden, waarbij gebruikers hun server- en werkstationaccounts moeten invoeren. Dit schrikt veel mensen af. Vanaf het begin begrepen we dat dit problemen zou geven en we waren daar zowel technisch als moreel op voorbereid. Alle externe verbindingen, ondanks dat RDP en SSH standaard al versleuteld zijn, worden daarnaast door onze software versleuteld volgens de AES-standaard. Alle gegevens van lokale servers worden via HTTPS naar de cloud verzonden. De accounts worden in versleutelde vorm opgeslagen. De versleutelingssleutels voor alle subsystemen zijn voor elke klant uniek. Voor externe verbindingen worden zelfs sessiesleutels gebruikt. <\/p>\n<p>Wat we in deze situatie kunnen doen om mensen gerust te stellen, is zo open mogelijk zijn, aan de veiligheid werken en onvermoeid de vragen van mensen beantwoorden. <\/p>\n<p>Voor velen wegen het gebruiksgemak en de functionaliteit van de software zwaarder dan de angst, en zij registreren zich. Sommige personen hebben in gepubliceerde berichten op VK geschreven dat deze software niet gebruikt kan worden omdat het hun wachtwoorden verzamelt en het \u00fcberhaupt een onbekend bedrijf is. Dit idee leefde niet bij slechts \u00e9\u00e9n persoon. Veel mensen begrijpen gewoon niet dat wanneer ze andere propri\u00ebtaire software op hun server installeren, die als een dienst functioneert, deze net zo goed volledige rechten in het systeem heeft en dat ze geen accounts nodig hebben om iets illegaals te doen (het is duidelijk dat je de gebruiker van de dienst kunt wijzigen, maar ook hier kan elke account worden ingevoerd). In werkelijkheid zijn de zorgen van mensen begrijpelijk. Het installeren van software op een server is gebruikelijk, maar het invoeren van een account is al wat beangstigender en intiemer, aangezien bij een goed deel van de mensen \u00e9\u00e9n wachtwoord voor alle diensten wordt gebruikt, en het is lui om een aparte account te maken, zelfs voor een test. Maar op dit moment zijn er talloze diensten waaraan mensen hun inloggegevens en meer toevertrouwen. En wij streven ernaar een van hen te worden. <\/p>\n<p>Veel reacties waren dat we dit ergens gestolen hadden. Dat verraste ons een beetje. Nou ja, dat is de mening van \u00e9\u00e9n persoon, maar zulke opmerkingen kwamen in verschillende publicaties van verschillende mensen voor. We wisten eerst niet hoe we hierop moesten reageren. Moeten we treuren dat sommige mensen denken dat in Rusland niemand iets zelf kan bereiken en alleen kan stelen, of moeten we blij zijn dat ze denken dat zoiets alleen gestolen kan worden? <\/p>\n<p>We hebben nu de procedure voor het verkrijgen van het EV Code Sign Certificate afgerond. Voor het verkrijgen hiervan moeten we een aantal controles doorlopen en een heleboel documenten van het bedrijf indienen, waarvan een deel door een advocaat moet worden gewaarmerkt. Het verkrijgen van het EV Code Sign certificaat in tijden van een pandemie is trouwens een apart onderwerp voor een artikel. De procedure duurde een maand. En dat was geen maand van wachten, maar van constante verzoeken om aanvullende documenten. Misschien heeft de pandemie hier niets mee te maken, en duurde het voor iedereen even lang? Deel je ervaringen.<\/p>\n<p>Sommigen zeggen dat ze het niet zullen gebruiken omdat er geen FSTEK-certificaat is. Dan moeten we uitleggen dat we het niet kunnen verkrijgen en dat we dat niet zullen doen omdat voor het krijgen van dat certificaat de encryptie volgens GOST moet zijn, en wij van plan zijn de software niet alleen in Rusland te verspreiden en AES gebruiken.<\/p>\n<p>Al deze opmerkingen wekten enige onzekerheid over de mogelijkheid om een product te promoten dat vereist dat gebruikersaccounts worden aangemaakt, terwijl we niet voet aan de grond kregen. Zelfs met inachtneming van het feit dat we wisten dat er mensen zouden zijn die hier zeer negatief tegenover stonden. Nadat het aantal registraties de duizend was gepasseerd, zijn we hier niet meer over na gaan denken. Vooral nadat er niet alleen negatief commentaar van mensen die het product niet eens hadden geprobeerd kwam, maar ook zeer positieve beoordelingen. Het is belangrijk te vermelden dat deze positieve beoordelingen de grootste motivatie zijn voor de ontwikkeling van het product.<\/p>\n<h3>Toevoegen van functionaliteit voor externe toegang voor medewerkers<\/h3>\n<p>\nEen van de veelvoorkomende verzoeken van klanten is: \"zorg ervoor dat Ivan toegang heeft tot zijn computer vanuit huis\". We hebben een VPN ingesteld op de MikroTik en gebruikersaccounts aangemaakt. Maar dit is echt een probleem. Gebruikers kunnen de instructies niet volgen en de stappen niet doorlopen om verbinding te maken via VPN. Verschillende versies van Windows. Op de ene versie maakt het goed verbinding, terwijl op een andere een ander protocol nodig is. En over het algemeen was het altijd verbonden met het opnieuw configureren van netwerkinfrastructuur, die fungeerde als de VPN-server, en niet alle medewerkers hebben toegang hiertoe, wat het ongemakkelijk maakte. <\/p>\n<p>Maar we hebben al externe verbindingen met servers en netwerkapparatuur. Waarom zouden we geen kant-enklaar transport gebruiken en een aparte, kleine tool maken die we gewoon aan de gebruiker kunnen geven om verbinding te maken? Het was alleen de bedoeling dat de gebruiker daar niets ingewikkelds invoert. Gewoon \u00e9\u00e9n knop 'verbinden'. Maar hoe zou deze tool weten waar ze verbinding mee moet maken, als er alleen maar \u00e9\u00e9n knop is? Er was een idee om de benodigde applicatie online samen te stellen op onze servers. De systeembeheerder drukt op de knop 'download snelkoppeling', en er wordt een opdracht naar onze cloud gestuurd om een individuele binaire bestand te maken met ingebedde informatie voor verbinding met de juiste server\/computer via RDP. In principe was dit mogelijk. Maar het zou lang duren, de beheerder zou eerst moeten wachten tot de binaire bestand gecompileerd is en vervolgens gedownload. Natuurlijk zou je gewoon een tweede bestand met configuratie kunnen toevoegen, maar dat zijn al twee bestanden, en voor de eenvoud heeft de gebruiker er maar \u00e9\u00e9n nodig. E\u00e9n bestand, \u00e9\u00e9n knop en geen installateurs. Na wat onderzoek op Google kwam ik tot de conclusie dat als je aan het eind van een gecompileerde '.exe' wat informatie toevoegt, het niet beschadigt (nou ja, bijna). Je kunt er zelfs Oorlog en Vrede aan toevoegen, en het zal nog steeds werken zoals voorheen. Het zou zonde zijn om daar geen gebruik van te maken. Nu kunnen we gewoon ter plaatse in de client de applicatie uitpakken, die trouwens Veliam Connector heet, en gewoon de benodigde verbindingsinformatie aan het eind toevoegen. En de applicatie weet zelf wat ze ermee moet doen. Waarom heb ik net hierboven in haakjes 'nou ja, bijna' geschreven? Omdat je voor dit gemak moet betalen met het verlies van de digitale handtekening van de applicatie. Maar op dit moment beschouwen we dat als een kleine prijs voor zo'n gemak. <\/p>\n<h3>Licenties van derden modules<\/h3>\n<p>\nBoven heb ik al geschreven dat nadat was besloten om het product openbaar te maken en niet alleen voor eigen gebruik, er aanzienlijke inspanningen moesten worden geleverd om alternatieven te vinden voor enkele modules die niet konden worden opgenomen in ons product. Maar na de release ontdekte ik per toeval een zeer onaangename zaak. In de Veliam Server, die aan de klantzijde was, bevond zich de database MariaDB. En deze heeft een GPL-licentie. De GPL-licentie houdt in dat software open source moet zijn, en als ons product MariaDB bevat, dat onder deze licentie valt, dan moet ons product ook onder deze licentie vallen. Gelukkig is het doel van deze licentie open source, en niet het straffen in de rechtbank van degenen die per ongeluk een fout hebben gemaakt. Als de rechthebbende een bezwaar heeft, moet hij de overtreder schriftelijk op de hoogte stellen, en deze moet binnen 30 dagen de overtreding verhelpen. We ontdekten onze eigen fout en ontvingen geen brieven, en begonnen onmiddellijk naar oplossingen te zoeken. De uitweg bleek voor de hand liggend \u2014 overstappen op SQLite. Deze database heeft geen licentiebeperkingen. De meeste moderne browsers gebruiken SQLite, net als een heleboel andere programma's. Ik vond op internet informatie dat SQLite de meest gebruikte database ter wereld wordt beschouwd, voornamelijk door de browsers, maar ik heb geen bewijs gezocht, zodat dit onnauwkeurige informatie is. Ik begon te onderzoeken wat de gevolgen van de overstap naar SQLite zijn.<\/p>\n<p>Dit wordt een niet triviale taak wanneer er honderden servers met MariaDB en gegevens erin bij klanten zijn ge\u00efnstalleerd. Sommige functies van MariaDB zijn niet beschikbaar in SQLite. Bijvoorbeeld, in de code werden aanvragen gebruikt zoals <\/p>\n<pre><code class=\"sql\">Select * FROM `table` WHERE `id`&gt;1000 FOR UPDATE\n<\/code><\/pre>\n<p>\nDeze constructie maakt niet alleen een selectie uit de tabel, maar blokkeert ook de betreffende rijen. En nog een paar constructies moesten ook worden herschreven. Maar naast het feit dat er veel aanvragen herschreven moesten worden, moest er ook een mechanisme worden bedacht dat bij de update van Veliam Server bij de klant alle gegevens naar de nieuwe database migreert en de oude verwijdert. Daarnaast werkten transacties niet in SQLite en dat was een echt probleem. Maar na wat lezen op het wereldwijde web ontdekte ik zonder problemen dat transacties in SQLite kunnen worden ingeschakeld door een eenvoudige opdracht mee te geven bij de verbinding. <\/p>\n<pre><code class=\"sql\">PRAGMA journal_mode=WAL;<\/code><\/pre>\n<p>\nUiteindelijk is de taak voltooid en werkt de serverkant bij klanten nu op SQLite. We hebben geen veranderingen in de werking van het systeem opgemerkt.<\/p>\n<h3>Nieuwe HelpDesk<\/h3>\n<p>\nHet was nodig om het HelpDesk-systeem van de interne versie naar de SaaS-versie te porteren, maar met enkele aanpassingen. Het eerste wat we wilden doen, was integratie met het domein van de klant voor transparante authenticatie van gebruikers in het systeem. Nu hoeft de gebruiker alleen maar op het pictogram op het bureaublad te klikken om toegang te krijgen tot de HelpDesk en een aanvraag in te dienen. De gebruiker voert geen inloggegevens in. De module voor Apache SSPI, die deel uitmaakt van Veliam Server, authenticates de gebruiker automatisch met het domeinaccount. Om een aanvraag in te dienen als de gebruiker zich buiten het bedrijfsnetwerk bevindt, klikt hij op de knop en ontvangt hij een link per e-mail waarmee hij zich zonder wachtwoorden in het HelpDesk-systeem kan authentiseren. Als de gebruiker wordt uitgeschakeld of verwijderd in het domein, functioneert ook het account in HelpDesk niet meer. Op deze manier hoeft de systeembeheerder niet zelf de accounts in zowel het domein als in HelpDesk te bewaken. Een werknemer is vertrokken \u2014 het account in het domein is uitgeschakeld en daarmee kan hij het systeem niet binnengaan, noch vanuit het bedrijfsnetwerk, noch via de link. Voor deze integratie moet de systeembeheerder een GPO instellen die <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\/\">de interne site aan de intranetzone toevoegt<\/a><\/noindex> en <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\/\">het pictogram naar alle gebruikers op het bureaublad verspreidt<\/a><\/noindex>. <\/p>\n<p>Het tweede dat we als absoluut noodzakelijk beschouwen voor HelpDesk-systemen, in ieder geval voor onszelf, is de mogelijkheid om met een klikt de aanvrager rechtstreeks vanuit het verzoek te verbinden. Meer nog, de verbindingen moeten ook werken als de systeembeheerder zich in een ander netwerk bevindt. Voor outsourcing is dit verplicht, en ook voor interne systeembeheerders is het vaak erg nodig. Er zijn al verschillende producten die deze taak van externe verbindingen uitstekend uitvoeren. We hebben besloten om integraties voor hen te maken. Momenteel hebben we een integratie voor VNC gemaakt en we zijn van plan om in de toekomst Radmin en TeamViewer toe te voegen. Door gebruik te maken van ons netwerktransport voor externe verbindingen met de infrastructuur, hebben we ervoor gezorgd dat VNC verbinding kan maken met externe werkstations achter NAT. Hetzelfde geldt voor Radmin. Nu, om verbinding te maken met een gebruiker, hoef je alleen maar op de knop \"verbinden met aanvrager\" in het verzoek te klikken. De VNC-client opent en maakt verbinding met de aanvrager, ongeacht of je in hetzelfde netwerk zit of thuis in je slippers. Voorafgaand moet de systeembeheerder, met behulp van GPO, VNC Server op alle werkstations installeren. <\/p>\n<p>Op dit moment schakelen we zelf over naar een nieuw HelpDesk en maken we gebruik van de integratie met het domein en VNC. Dit is erg handig voor ons. Nu hoeven we niet meer te betalen voor TeamViewer, dat we meer dan drie jaar hebben gebruikt voor onze klantenservice.<\/p>\n<h3>Wat we van plan zijn om verder te doen<\/h3>\n<p>\nToen we het product uitbrachten, hadden we geen betaalde abonnementen, maar beperkten we het gratis abonnement tot 50 monitoringsobjecten. Vijftig netwerkapparaten en servers zouden voldoende moeten zijn voor iedereen, dachten we. En toen begonnen de verzoeken voor het verhogen van de limiet binnen te komen. Zeggen dat we een beetje geschokt waren, is niets zegt. Was er echt interesse in onze software van bedrijven met zoveel servers? We verhoogden gratis de limiet voor degenen die dergelijke verzoeken indienen. Bij sommigen vroegen we in antwoord op hun verzoek waarom ze zoveel nodig hadden, of ze echt zoveel servers en netwerkapparatuur hadden. En het bleek dat systeembeheerders het systeem begonnen te gebruiken op een manier die we helemaal niet hadden gepland. Het bleek heel eenvoudig te zijn: niet alleen servers, maar ook werkstations werden met onze software gemonitord. Dit is de reden voor de vele verzoeken om limietverhoging. Inmiddels hebben we betaalde abonnementen ge\u00efntroduceerd en kunnen limieten zelfstandig worden verhoogd. <\/p>\n<p>Servers werken vrijwel altijd met SAN of met lokale schijven in een RAID-array. En we hebben oorspronkelijk een product voor hen ontwikkeld. En het monitoren van SMART was niet interessant voor deze taak. Maar gezien het feit dat mensen de software hebben aangepast voor het monitoren van werkstations, kwamen er verzoeken voor de implementatie van SMART-monitoring. Binnenkort zullen we dit realiseren. <\/p>\n<p>Met de komst van de Veliam Connector is het niet langer nodig om een VPN-server in het bedrijfsnetwerk op te zetten, of RDGW te maken, of gewoon poorten door te sturen naar de benodigde machines voor RDP-verbindingen. Veel mensen gebruiken ons systeem alleen voor deze externe verbindingen. De Veliam Connector is alleen beschikbaar voor Windows, terwijl sommige gebruikers van bedrijven met hun persoonlijke laptops met MacOS verbinding maken met werkstations of terminals in het bedrijfsnetwerk. Hierdoor is de systeembeheerder genoodzaakt om vanwege enkele gebruikers terug te keren naar het probleem van poortdoorsturing of VPN. Daarom zijn we nu druk bezig met de ontwikkeling van een versie van de Veliam Connector voor MacOS. Gebruikers van hun favoriete Apple-producten krijgen ook de mogelijkheid om met \u00e9\u00e9n klik verbinding te maken met de bedrijfsinfrastructuur.<\/p>\n<p>Het is geweldig dat, met een groot aantal gebruikers van het systeem, je je geen zorgen hoeft te maken over wat mensen nodig hebben en wat het handigst is. Ze schrijven zelf hun wensen, waardoor er veel ontwikkelingsplannen voor de nabije toekomst zijn.<\/p>\n<p>Tegelijkertijd zijn we nu van plan om het systeem naar het Engels te vertalen en het internationaal te verspreiden. We weten nog niet hoe we het product buiten ons land zullen verspreiden, we zijn op zoek naar opties. Misschien komt er later een apart artikel hierover. Wellicht kan iemand die dit artikel leest ons de juiste richting wijzen, of weet hij of zij zelf hoe dit te doen en biedt hij of zij hun diensten aan. We zouden dankbaar zijn voor hulp.<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Van outsourcen naar ontwikkeling (Deel 2) | ProHoster","description":"In het vorige artikel vertelde ik over de achtergrond van de creatie van Veliam en de beslissing om het te verspreiden via het SaaS-systeem.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/85605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=85605"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/85605\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=85605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=85605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=85605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}