{"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\/es\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","title":{"rendered":"De la externalizaci\u00f3n al desarrollo (Parte 2)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>En <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audit-telecom\/blog\/504376\/\">art\u00edculo anterior<\/a><\/noindex>, habl\u00e9 sobre la historia de la creaci\u00f3n de Veliam y sobre la decisi\u00f3n de su difusi\u00f3n a trav\u00e9s del sistema SaaS. En este art\u00edculo, hablar\u00e9 sobre lo que se tuvo que hacer para que el producto pasara de ser local a p\u00fablico. Sobre c\u00f3mo comenzamos la difusi\u00f3n y con qu\u00e9 problemas nos encontramos.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Planificaci\u00f3n<\/h3>\n<p>\nLa actual parte del servidor para los usuarios estaba en Linux. Casi en cada organizaci\u00f3n hay servidores Windows, lo cual no se puede decir de Linux. La principal fortaleza de Veliam son las conexiones remotas a servidores y equipos de red detr\u00e1s de NAT. Pero esta funcionalidad estaba muy estrictamente atada a que el router deb\u00eda ser necesariamente Microtik. Y esto claramente no satisfar\u00eda a muchos. Primero, comenc\u00e9 a pensar en agregar soporte para los routers de los fabricantes m\u00e1s comunes. Pero entend\u00ed que esto ser\u00eda una carrera interminable para ampliar la lista de empresas compatibles. Adem\u00e1s, incluso aquellos que ya son compatibles pueden tener un conjunto diferente de comandos para cambiar las reglas de NAT de un modelo a otro. La \u00fanica salida que ve\u00eda a la situaci\u00f3n era un VPN. <\/p>\n<p>Dado que decidimos distribuir el producto, pero no como c\u00f3digo abierto, no pudimos incluir diversas bibliotecas con licencias abiertas como la GPL. Este es un tema aparte; tras la decisi\u00f3n de vender el producto, tuvimos que revisar la mitad de las bibliotecas debido a que eran GPL. Cuando se desarrollaba para uso propio, era aceptable. Pero no es adecuado para la distribuci\u00f3n. El primer VPN que viene a la mente es OpenVPN. Pero es GPL. Tambi\u00e9n exist\u00eda la opci\u00f3n de usar SoftEther VPN de Jap\u00f3n. Su licencia permit\u00eda incluirlo en nuestro producto. Despu\u00e9s de un par de d\u00edas probando diferentes formas de integrarlo para que el usuario no tuviera que configurar nada ni conocer SoftEther VPN, obtuvimos un prototipo. Todo funcionaba como deb\u00eda. Sin embargo, por alguna raz\u00f3n, esa configuraci\u00f3n nos incomodaba y finalmente decidimos no seguir adelante con ella. Naturalmente, abandonamos esta opci\u00f3n solo despu\u00e9s de idear otra. Al final, todo se implement\u00f3 sobre conexiones TCP normales. Algunas conexiones funcionan a trav\u00e9s de un coordinador, mientras que otras van directamente a trav\u00e9s de la tecnolog\u00eda Nat Hole Punching (NHP), que tambi\u00e9n se implement\u00f3 en Free Pascal. Debo decir que previamente no hab\u00eda o\u00eddo hablar de NHP. No se me habr\u00eda ocurrido que se pudieran vincular 2 dispositivos de red, ambos detr\u00e1s de un NAT, directamente. Estudi\u00e9 el tema, comprend\u00ed el principio de funcionamiento y comenc\u00e9 a programar. Lo planeado se llev\u00f3 a cabo, el usuario se conecta con un clic al dispositivo detr\u00e1s de NAT a trav\u00e9s de RDP, SSH o Winbox sin ingresar contrase\u00f1as ni configurar el VPN. Adem\u00e1s, la mayor parte de estas conexiones pasa por alto nuestro coordinador, lo que es beneficioso para el ping y el costo de mantenimiento de estas conexiones.<\/p>\n<h3>Traduciendo la parte del servidor de Linux a Windows<\/h3>\n<p>\nHubo varios problemas al pasar a Windows. El primero es que el wmic integrado en Windows no permite hacer consultas WQL. Y en nuestro sistema, todo ya estaba basado en ello. Y hab\u00eda algo m\u00e1s, pero ahora no recuerdo por qu\u00e9 finalmente decidimos dejar de usarlo. Posiblemente las diferencias entre las versiones de Windows. Y el segundo problema es el multihilo. No encontrando una buena utilidad externa con una licencia 'aceptable' para nosotros, volv\u00ed a abrir el IDE Lazarus y escrib\u00ed la utilidad necesaria. La entrada es una lista de objetos y las consultas espec\u00edficas que se necesitan hacer, y como respuesta recibo los datos. Y todo esto en modo multihilo. Excelente.<\/p>\n<p>Despu\u00e9s de configurar pthreads para PHP en Windows, pens\u00e9 que todo funcionar\u00eda perfectamente, pero no fue as\u00ed. Despu\u00e9s de un tiempo de depuraci\u00f3n, me di cuenta de que pthreads parec\u00eda funcionar, pero en nuestra sistema no lo hac\u00eda. Qued\u00f3 claro que hab\u00eda alguna peculiaridad en el funcionamiento de pthreads en Windows. Y as\u00ed fue. Le\u00ed la documentaci\u00f3n y all\u00ed se dec\u00eda que para Windows el n\u00famero de hilos est\u00e1 limitado, adem\u00e1s de que, si no recuerdo mal, de manera impl\u00edcita. Esto se convirti\u00f3 en un problema. Porque cuando comenc\u00e9 a reducir el n\u00famero de hilos en los que la aplicaci\u00f3n funcionaba, esta realizaba el trabajo muy lentamente. Nuevamente abr\u00ed la IDE y se agreg\u00f3 funcionalidad para el ping multihilo de objetos en esa misma utilidad. Y, ya de paso, tambi\u00e9n se incluy\u00f3 el escaneo de puertos. Despu\u00e9s de esto, la necesidad de pthreads para PHP desapareci\u00f3, y ya no se utiliza. Luego, se a\u00f1adieron varias funciones m\u00e1s a esta utilidad y sigue funcionando hasta el d\u00eda de hoy. Despu\u00e9s de eso, se cre\u00f3 un instalador para Windows que inclu\u00eda Apache, PHP, MariaDB, la propia aplicaci\u00f3n PHP y un conjunto de utilidades para interactuar con el sistema, escritas en Free Pascal. En cuanto al instalador, pens\u00e9 que resolver\u00eda eso r\u00e1pidamente, ya que es algo muy com\u00fan y necesario para casi todo software. O no busqu\u00e9 de la manera correcta, o algo m\u00e1s. Pero siempre encontraba productos que eran o bien poco flexibles, o caros y adem\u00e1s tambi\u00e9n poco flexibles. Sin embargo, encontr\u00e9 un instalador gratuito en el cual se puede prever cualquier necesidad. Este es InnoSetup. Escribo sobre esto aqu\u00ed porque tuve que buscarlo, quiz\u00e1s le ahorre tiempo a alguien.<\/p>\n<h3>Renuncia al plugin en favor de su cliente<\/h3>\n<p>\nAnteriormente escrib\u00ed que la parte del cliente era un navegador con un \"plugin\". Hubo momentos en los que, tras una actualizaci\u00f3n de Chrome, el dise\u00f1o se ve\u00eda un poco desajustado, o cuando Windows se actualizaba y se perd\u00edan los esquemas de URI personalizados. No quer\u00eda tener ese tipo de sorpresas en la versi\u00f3n p\u00fablica del producto. Adem\u00e1s, los esquemas de URI personalizados empezaron a fallar tras cada actualizaci\u00f3n de Windows, ya que Microsoft eliminaba todas las ramas que no pertenec\u00edan a ellos en la secci\u00f3n correspondiente. Tambi\u00e9n, Google Chrome ahora no permite recordar la elecci\u00f3n de abrir o no la aplicaci\u00f3n desde un esquema de URI personalizado, y formula esta pregunta en cada clic sobre el objeto de monitoreo. En general, era necesario un funcionamiento adecuado con el sistema local del usuario, algo que el navegador no proporcionaba. La opci\u00f3n m\u00e1s sencilla en tal esquema parec\u00eda ser crear su propio navegador, como muchos est\u00e1n haciendo ahora con Electron. Sin embargo, ya se hab\u00edan escrito muchas cosas en Free Pascal, incluida la parte del servidor, por lo que decidimos hacer el cliente en el mismo lenguaje, en lugar de crear un zool\u00f3gico de tecnolog\u00edas. As\u00ed se escribi\u00f3 un cliente con Chromium a bordo. Despu\u00e9s de eso, comenz\u00f3 a adquirir varios complementos.<\/p>\n<h3>La versi\u00f3n<\/h3>\n<p>\nFinalmente elegimos un nombre para el sistema. Estuvimos considerando varias opciones mientras llev\u00e1bamos a cabo el proceso de transformaci\u00f3n de la versi\u00f3n local a SaaS. Dado que inicialmente plane\u00e1bamos salir no solo al mercado interno, uno de los criterios principales para elegir el nombre fue la disponibilidad de un dominio sin usar o no muy caro en la zona \".com\". Algunas funciones\/m\u00f3dulos a\u00fan no se hab\u00edan portado de la versi\u00f3n local a Veliam, pero decidimos lanzar con la funcionalidad actual y completar el resto en forma de actualizaciones. En la primera versi\u00f3n no hab\u00eda HelpDesk, Veliam Connector, no se pod\u00edan cambiar los umbrales de activaci\u00f3n de las notificaciones y muchas otras cosas. Compramos un Certificado de Firma de C\u00f3digo, firmamos las partes del cliente y del servidor. Creamos un sitio web para el producto, comenzamos los procedimientos de registro del software, de la marca registrada, etc. En resumen, estamos listos para empezar. Una ligera euforia por el trabajo realizado y por la posibilidad de que alguien use tu producto, aunque no ten\u00edamos dudas al respecto. Y entonces, alto. Un socio dijo que no se puede salir al mercado sin notificaciones en los mensajes. Se puede prescindir de muchas otras cosas, pero no de esto. Despu\u00e9s de breves discusiones, se a\u00f1adi\u00f3 la integraci\u00f3n con Telegram, que fue satisfactoria para nosotros. De todos los mensajeros actuales, este es el \u00fanico que ofrece acceso a su API de forma gratuita y sin procedimientos complicados de aprobaci\u00f3n. Por otro lado, WhatsApp sugiere contactar a proveedores que cobran precios considerables por el uso de sus servicios, todas las solicitudes de acceso sin intermediarios fueron ignoradas. Y Viber\u2026 No s\u00e9 qui\u00e9n lo usa ahora, ya que el spam y la publicidad son excesivos. A finales de diciembre, despu\u00e9s de varias pruebas internas y pruebas entre amigos, abrimos el registro para todos y pusimos el software disponible para descarga. <\/p>\n<h3>Inicio de la difusi\u00f3n<\/h3>\n<p>\nDesde el principio entendimos que necesit\u00e1bamos un peque\u00f1o flujo de usuarios del sistema para que probaran el producto en modo operativo y dieran alg\u00fan primer feedback. Varias publicaciones compradas en VK dieron sus frutos. Llegaron las primeras registraciones. <\/p>\n<p>Es importante decir que ingresar al mercado sin un nombre de empresa conocido y ofrecer funcionalidad de monitoreo sin agente, que requiere introducir credenciales de sus servidores y estaciones de trabajo, es muy dif\u00edcil. Esto asusta a muchas personas. Desde el principio entendimos que habr\u00eda problemas y est\u00e1bamos preparados t\u00e9cnica y moralmente para enfrentarlos. Todas las conexiones remotas, a pesar de que RDP y SSH ya est\u00e1n cifrados por defecto, se cifran adicionalmente con nuestro software usando el est\u00e1ndar AES. Todos los datos de los servidores locales se transmiten a la nube a trav\u00e9s de HTTPS. Las credenciales se almacenan en un formato cifrado. Las claves de cifrado para todos los subsistemas de cada cliente son individuales. Para las conexiones remotas se utilizan claves de cifrado de sesi\u00f3n. <\/p>\n<p>Todo lo que podemos hacer en esta situaci\u00f3n para que la gente se sienta m\u00e1s tranquila es ser lo m\u00e1s transparentes posible, trabajar en la seguridad y no cansarnos de responder a las preguntas que les inquietan. <\/p>\n<p>Para muchos, la conveniencia y funcionalidad del software superan el miedo, y se registran. Algunas personas en publicaciones en VK han dicho que este software no se puede usar porque recopila sus contrase\u00f1as y es una empresa completamente desconocida. Hay que decir que esta opini\u00f3n no era \u00fanica. Muchos simplemente no entienden que, al instalar otro software propietario en el servidor, que funciona como un servicio, este tambi\u00e9n tiene plenos derechos en el sistema y no necesita credenciales para hacer cosas ilegales (es obvio que se puede cambiar el usuario desde el que se inicia el servicio, pero aqu\u00ed tambi\u00e9n se puede introducir cualquier cuenta). De hecho, las preocupaciones de la gente son comprensibles. Instalar software en un servidor es algo habitual, pero introducir credenciales es un poco aterrador e \u00edntimo, ya que buena parte de las personas utiliza una \u00fanica contrase\u00f1a para todos los servicios, y da pereza crear una cuenta separada incluso para las pruebas. Pero en este momento hay una gran cantidad de servicios en los que la gente conf\u00eda sus credenciales y m\u00e1s. Y nosotros nos esforzamos por ser uno de ellos. <\/p>\n<p>Muchos comentarios eran del tipo que hab\u00edamos robado esto de alg\u00fan lugar. Nos sorprendi\u00f3 un poco. Bueno, es la opini\u00f3n de una persona, pero tales comentarios aparec\u00edan en varias publicaciones de diferentes personas. Al principio no sab\u00edamos c\u00f3mo reaccionar. Si sentir tristeza porque algunas personas piensan que en Rusia nadie puede hacer nada por s\u00ed mismo, y solo se puede robar, o alegrarnos de que creen que solo se puede robar algo as\u00ed. <\/p>\n<p>Ahora hemos completado el procedimiento para obtener el Certificado de Firma de C\u00f3digo EV. Para obtenerlo, es necesario pasar por una serie de verificaciones y enviar un mont\u00f3n de documentos sobre la empresa, algunos de los cuales deben ser certificados por un abogado. Obtener el certificado de firma de c\u00f3digo EV en condiciones de pandemia es un tema aparte para un art\u00edculo. El procedimiento se extendi\u00f3 durante un mes. Y fue un mes de no esperar, sino de constantes solicitudes de documentos adicionales. Puede que la pandemia no tenga nada que ver, y que a todos les haya tomado tanto tiempo el procedimiento. Compartan.<\/p>\n<p>Algunos dicen que no vamos a usarlo porque no tenemos el certificado del FSTEC. Tenemos que explicar que no podemos obtenerlo y no lo haremos porque para obtener ese certificado, la encriptaci\u00f3n debe ser conforme a GOST, y planeamos distribuir el software no solo en Rusia y usamos AES.<\/p>\n<p>Todos estos comentarios generaban cierta incertidumbre acerca de si era posible promocionar un producto que necesita que se ingresen cuentas, sin estar en el radar. Incluso considerando que sab\u00edamos que habr\u00eda quienes tuvieran una actitud muy negativa al respecto. Despu\u00e9s de que la cantidad de registros super\u00f3 mil, dejamos de pensar en eso. Especialmente despu\u00e9s de que adem\u00e1s de la negatividad de aquellos que ni siquiera probaron el producto, comenzaron a aparecer tambi\u00e9n comentarios muy agradables. Debo decir que esos comentarios positivos son el mayor motivador para el desarrollo del producto.<\/p>\n<h3>A\u00f1adiendo funcionalidad de acceso remoto para empleados<\/h3>\n<p>\nUna de las tareas m\u00e1s comunes de los clientes es \"conceder a Iv\u00e1n acceso a su computadora desde casa\". Configuramos una VPN en Mikrotik y creamos cuentas para los usuarios. Pero realmente es un problema. Los usuarios no son capaces de seguir las instrucciones y realizar los pasos para conectarse a la VPN. Existen diferentes versiones de Windows. En una versi\u00f3n todo se conecta bien, en otra se necesita un protocolo diferente. Y, en general, esto siempre ha estado relacionado con la reconfiguraci\u00f3n del equipo de red, que actuaba como servidor de VPN, y no todos los empleados tienen acceso a \u00e9l, lo que resultaba inc\u00f3modo. <\/p>\n<p>Pero ya tenemos conexiones remotas a servidores y equipos de red. \u00bfPor qu\u00e9 no aprovechar el transporte ya existente y crear una peque\u00f1a utilidad que se pueda entregar al usuario para conectarse f\u00e1cilmente? Solo quer\u00eda que el usuario no tuviera que introducir nada complicado. Simplemente un bot\u00f3n \"conectar\". Pero, \u00bfc\u00f3mo va a entender esta utilidad a d\u00f3nde conectarse si solo tiene un bot\u00f3n? La idea era compilar la aplicaci\u00f3n necesaria en l\u00ednea en nuestros servidores. El administrador del sistema presiona el bot\u00f3n \"descargar acceso directo\", y se env\u00eda una orden a nuestra nube para compilar un binario individual con la informaci\u00f3n integrada para conectarse al servidor o computadora deseada por RDP. En general, esto se podr\u00eda hacer. Pero es un proceso largo; el administrador tendr\u00eda que esperar primero a que el binario se compile y luego a que se descargue. Por supuesto, se podr\u00eda a\u00f1adir simplemente un segundo archivo de configuraci\u00f3n, pero ya ser\u00edan dos archivos, y por simplicidad, el usuario necesita uno. Un archivo, un bot\u00f3n y nada de instaladores. Despu\u00e9s de investigar un poco en Google, llegu\u00e9 a la conclusi\u00f3n de que si se a\u00f1ade alg\u00fan tipo de informaci\u00f3n al final de un \u201c.exe\u201d compilado, no se estropea (bueno, casi). Se puede a\u00f1adir cualquier cosa, incluso Guerra y Paz, y funcionar\u00e1 como antes. Ser\u00eda un pecado no aprovechar esto. Ahora se puede descomprimir la aplicaci\u00f3n directamente en el cliente, que por cierto se llama Veliam Connector, y simplemente anexar la informaci\u00f3n necesaria para la conexi\u00f3n al final. Y la propia aplicaci\u00f3n sabe qu\u00e9 hacer con eso. \u00bfPor qu\u00e9 escrib\u00ed \"bueno, casi\" m\u00e1s arriba entre par\u00e9ntesis? Porque por esta comodidad, hay que pagar el precio de que la aplicaci\u00f3n pierde su firma de la clave electr\u00f3nica. Pero en este momento, consideramos que es un precio peque\u00f1o por tal comodidad. <\/p>\n<h3>Licencias de m\u00f3dulos de terceros<\/h3>\n<p>\nComo mencion\u00e9 anteriormente, una vez que se decidi\u00f3 hacer el producto accesible p\u00fablicamente y no solo para uso interno, tuvimos que trabajar arduamente y buscar sustituciones para algunos m\u00f3dulos que no permit\u00edan incluirse en nuestro producto. Pero, despu\u00e9s del lanzamiento, descubrimos accidentalmente algo bastante desagradable. En el Veliam Server, que estaba del lado del cliente, ten\u00edamos la base de datos MariaDB. Y esta tiene licencia GPL. La licencia GPL implica que el software debe ser de c\u00f3digo abierto, y si nuestro producto incluye MariaDB, que tiene esta licencia, entonces nuestro producto tambi\u00e9n debe estar bajo esta licencia. Pero, afortunadamente, el objetivo de esta licencia es el c\u00f3digo abierto, no castigar en los tribunales a quienes cometen un error accidentalmente. Si el titular de los derechos presenta una reclamaci\u00f3n, debe notificar por escrito a la parte infractora, la cual tiene 30 d\u00edas para corregir la infracci\u00f3n. Nosotros mismos detectamos nuestro error y no recibimos cartas, y r\u00e1pidamente comenzamos a explorar opciones para resolver el problema. La salida result\u00f3 evidente: migrar a SQLite. Esta base de datos no tiene restricciones de licencia. La mayor\u00eda de los navegadores modernos utilizan SQLite, al igual que muchas otras aplicaciones. Encontr\u00e9 en internet informaci\u00f3n de que SQLite se considera la base de datos m\u00e1s extendida del mundo, precisamente por los navegadores, aunque no busqu\u00e9 pruebas, as\u00ed que eso es informaci\u00f3n inexacta. Comenc\u00e9 a estudiar lo que implicaba la migraci\u00f3n a SQLite.<\/p>\n<p>Esto se convierte en una tarea no trivial cuando hay varios cientos de servidores instalados en clientes con MariaDB y datos en ella. Algunas caracter\u00edsticas de MariaDB no est\u00e1n disponibles en SQLite. Por ejemplo, en el c\u00f3digo se utilizaron consultas del tipo <\/p>\n<pre><code class=\"sql\">Select * FROM `table` WHERE `id`&gt;1000 FOR UPDATE\n<\/code><\/pre>\n<p>\nEsta construcci\u00f3n no solo realiza una selecci\u00f3n de la tabla, sino que tambi\u00e9n bloquea esas filas de datos. Y tambi\u00e9n tuvimos que reescribir varias otras construcciones. Pero adem\u00e1s de tener que reescribir muchas consultas, tambi\u00e9n tuvimos que idear un mecanismo que, al actualizar el Veliam Server en el cliente, migre todos los datos a la nueva base de datos y elimine la antigua. Adem\u00e1s, las transacciones no funcionaban en SQLite y eso fue un problema real. Pero, tras investigar en las vastedades de la red, encontr\u00e9 sin problemas que se pueden habilitar las transacciones en SQLite simplemente enviando un comando al conectarse. <\/p>\n<pre><code class=\"sql\">PRAGMA journal_mode=WAL;<\/code><\/pre>\n<p>\nAl final, la tarea se ha completado y ahora la parte del servidor de los clientes funciona con SQLite. No hemos notado ning\u00fan cambio en el funcionamiento del sistema.<\/p>\n<h3>Nuevo HelpDesk<\/h3>\n<p>\nFue necesario portar el sistema HelpDesk de la versi\u00f3n interna a la versi\u00f3n SaaS, pero con algunos cambios. Lo primero que se quer\u00eda hacer era la integraci\u00f3n con el dominio del cliente en lo que respecta a la autorizaci\u00f3n transparente de los usuarios en el sistema. Ahora, para acceder al HelpDesk y dejar una solicitud en el sistema, el usuario solo hace clic en el acceso directo en el escritorio y se abre el navegador. El usuario no introduce ninguna credencial. Un m\u00f3dulo para Apache SSPI, que forma parte de Veliam Server, autoriza autom\u00e1ticamente al usuario con la cuenta de dominio. Para dejar una solicitud en el sistema, cuando el usuario est\u00e1 fuera de la red corporativa, presiona un bot\u00f3n y recibe un enlace por correo electr\u00f3nico, con el cual se autoriza en el sistema HelpDesk sin contrase\u00f1as. Si el usuario es desactivado o eliminado en el dominio, su cuenta en HelpDesk tambi\u00e9n dejar\u00e1 de funcionar. De este modo, el administrador del sistema no necesita preocuparse por las cuentas tanto en el dominio como en HelpDesk. Si un empleado es despedido, se desactiva la cuenta en el dominio y listo, no podr\u00e1 acceder al sistema ni desde la red corporativa ni a trav\u00e9s del enlace. Para que esta integraci\u00f3n funcione, el administrador del sistema necesita crear un GPO que <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\/\">agrega el sitio interno a la zona de intranet<\/a><\/noindex> y <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\/\">distribuye el acceso directo a todos los usuarios en el escritorio<\/a><\/noindex>. <\/p>\n<p>Lo segundo que consideramos absolutamente necesario para los sistemas HelpDesk, al menos para nosotros, es la conexi\u00f3n al solicitante directamente desde la solicitud con un solo clic. Adem\u00e1s, las conexiones deben realizarse incluso si el administrador del sistema se encuentra en otra red. Para el outsourcing esto es obligatorio, y tambi\u00e9n es muy necesario para los administradores de sistemas internos. Ya hay varios productos que manejan perfectamente la tarea de conexiones remotas. Y hemos decidido crear integraciones para ellos. Ahora hemos hecho la integraci\u00f3n para VNC, y en el futuro planeamos agregar Radmin y TeamViewer. Usando nuestro transporte de red para conexiones remotas a la infraestructura, hemos asegurado que VNC se conecte a estaciones de trabajo remotas detr\u00e1s de NAT. Lo mismo suceder\u00e1 con Radmin. Ahora, para conectarse a un usuario, solo hay que hacer clic en el bot\u00f3n \u201cconectar al solicitante\u201d en la propia solicitud. Se abre el cliente VNC y se conecta al solicitante, sin importar si est\u00e1n en la misma red o si uno est\u00e1 en casa en zapatillas. Previamente, el administrador del sistema debe instalar el VNC Server en todas las estaciones de trabajo mediante pol\u00edticas de grupo. <\/p>\n<p>Ahora mismo estamos migrando a un nuevo HelpDesk y utilizamos la integraci\u00f3n con el dominio y VNC. Es muy conveniente para nosotros. Ahora podemos dejar de pagar por TeamViewer, que utilizamos durante m\u00e1s de tres a\u00f1os para nuestra atenci\u00f3n al cliente.<\/p>\n<h3>\u00bfQu\u00e9 planeamos hacer a continuaci\u00f3n?<\/h3>\n<p>\nCuando lanzamos el producto, no ofrecimos planes de pago, simplemente limitamos el plan gratuito a 50 objetos de monitoreo. Cre\u00edmos que cinco docenas de dispositivos de red y servidores ser\u00edan suficientes para todos. Y pronto comenzaron a llegar solicitudes para aumentar el l\u00edmite. Decir que est\u00e1bamos un poco sorprendidos ser\u00eda un eufemismo. \u00bfAcaso nuestro software hab\u00eda llamado la atenci\u00f3n de empresas con tal cantidad de servidores? Ampliamos el l\u00edmite de forma gratuita para aquellos que hicieron tales solicitudes. A algunos les preguntamos, en respuesta a sus pedidos, por qu\u00e9 necesitaban tanto, \u00bfacaso ten\u00edan esa cantidad de servidores y equipos de red? Y result\u00f3 que los administradores de sistemas comenzaron a usar el sistema de una manera que nunca hab\u00edamos planeado. Todo result\u00f3 ser simple: comenzaron a monitorear no solo servidores, sino tambi\u00e9n estaciones de trabajo con nuestro software. De all\u00ed el gran n\u00famero de solicitudes para ampliar los l\u00edmites. Ahora ya hemos introducido planes de pago y los l\u00edmites se pueden ampliar de forma aut\u00f3noma. <\/p>\n<p>Los servidores casi siempre trabajan con almacenamiento de red o con discos locales en un arreglo RAID. Y, en un principio, creamos el producto para ellos. Y el monitoreo SMART no era relevante para esta tarea. Sin embargo, dado que la gente adapt\u00f3 el software para monitorear estaciones de trabajo, surgieron solicitudes para implementar el monitoreo SMART. Pronto lo implementaremos. <\/p>\n<p>Con la llegada de Veliam Connector, ya no es necesario desplegar un servidor VPN en la red corporativa, hacer RDGW o simplemente redirigir puertos a las m\u00e1quinas necesarias para conectarse por RDP. Muchas personas utilizan nuestro sistema solo para estas conexiones remotas. Veliam Connector solo est\u00e1 disponible para Windows, y algunos usuarios de empresas se conectan desde sus laptops en casa con MacOS a estaciones de trabajo o terminales en la red corporativa. As\u00ed que el administrador del sistema se ve obligado, debido a unos pocos usuarios, a volver a la cuesti\u00f3n de la redirecci\u00f3n de puertos o VPN. Por eso, ahora estamos terminando la versi\u00f3n de Veliam Connector para MacOS. Los usuarios de su querido equipo de Apple tambi\u00e9n podr\u00e1n conectarse a la infraestructura corporativa con un solo clic.<\/p>\n<p>Me encanta que, con una gran cantidad de usuarios en el sistema, no hay que romperse la cabeza sobre lo que la gente necesita y lo que ser\u00eda m\u00e1s conveniente. Ellos mismos escriben sus deseos, as\u00ed que hay muchos planes de desarrollo a corto plazo.<\/p>\n<p>Paralelamente, planeamos ahora traducir el sistema al ingl\u00e9s y expandirlo al extranjero. A\u00fan no sabemos c\u00f3mo vamos a distribuir el producto fuera de nuestro pa\u00eds, estamos buscando opciones. Quiz\u00e1s m\u00e1s adelante habr\u00e1 un art\u00edculo separado sobre esto. Tal vez alguien de los que lea este art\u00edculo pueda sugerir la direcci\u00f3n correcta, o tal vez sepa c\u00f3mo hacerlo y ofrezca sus servicios. Agradeceremos cualquier ayuda.<br \/>\n<br \/>Fuente: <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.2 - 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\/es\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47De outsourcing a desarrollo (Parte 2) | ProHoster","description":"En el art\u00edculo anterior, habl\u00e9 sobre la historia de la creaci\u00f3n de Veliam y sobre la decisi\u00f3n de su distribuci\u00f3n a trav\u00e9s del sistema SaaS.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/85605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=85605"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/85605\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=85605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=85605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=85605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}