Creación de una red Linux para nuestra empresa: ¿por dónde empiezo?

16

Esta será una pregunta algo cargada. Estoy programando en una compañía que ha estado presente desde 1962. Muchas cosas, especialmente cosas de computadora / red, están muy anticuadas. Déjame darte un poco más de historia.

La compañía ya opera un servidor de Windows. En el servidor, muchas computadoras tienen archivos en unidades de red compartidas, y también hay algunos programas. Así es como se otorga el acceso de toda la compañía a cosas como contabilidad e inventario, y cómo se comparten los archivos. Desafortunadamente, nunca ha habido un administrador de sistemas fuerte que participe en ninguno de los diseños. El sistema de contabilidad se ejecuta en Foxpro. Los archivos son totalmente caóticos. Los empleados parecen saber cómo moverse en general, pero para crecer y escalar, necesitamos controlar rápidamente esta red. Algunas de las cosas que veo son necesarias:

  • Una base de datos relacional, accesible a través de todas las computadoras en la red que almacenará:
    • Archivos (es decir, dibujos, citas, imágenes de proyectos terminados, etc.)
    • Empleados (entonces podemos comenzar a hacer cosas como la entrada de tarjeta de tiempo computarizada)
    • Facturas, pagos por cobrar e inventario
    • Gestión de contraseñas
    • Seguimiento de trabajos

Me gustaría construir aplicaciones personalizadas sobre esta base de datos para potenciar todo, y construir API que permitan a nuestros sitios web interactuar con nuestras cosas internas. Obviamente, debo dejar intactos los sistemas existentes a medida que construyo otros nuevos. Vengo de un fondo web ... y estoy muy cómodo con Unix (he administrado docenas de servidores que sirven sitios web), PHP y desarrollo front-end. Me gustaría seguir con esas tecnologías de código abierto que ya conozco bien.

La mayor pregunta en mi mente es por dónde empezar. ¿Compro un rack de servidores y empiezo a construir una red totalmente nueva? ¿Empujo a todos a la nueva red una vez que estoy lista, o trato de usar ambos al mismo tiempo de alguna manera y migro lentamente lejos de la anterior?

Me doy cuenta de que este podría ser un proyecto que lleva un año o más. Realmente agradecería alguna orientación: cualquier recurso sobre el diseño del sistema, cómo empiezo, lo que sea. Estoy dispuesto a trabajar, solo necesito ayuda para crear una visión.

Calvin Froedge
fuente
3
Si ya tiene servidores Windows, ¿por qué quiere servidores Linux?
Jim B
2
@Jim B, algunas razones por las que lo haría: sin tarifas de licencia, confiabilidad, implementación de redes que tenga sentido, menos interrupción tecnológica disruptiva, sin pesadillas de registro, sin MS Exchange ...
Mike Pennington
44
@ Mike: no voy a tratar de convencerte de ninguna manera, pero me pregunto cuánto tiempo ha pasado desde que revisaste Windows. Server 2008, además de las tarifas de licencia obvias, se ajusta a los criterios que mencionó anteriormente. Solo un pensamiento: sin embargo, soy parcial ya que soy un chico de Windows. Esto hace que la integración entre los escritorios de Windows y los servidores de una obviedad, mientras que podría estar golpeando la cabeza tratando de integrar los escritorios de Windows en un servidor * nix para las acciones y autenticación etc
Mark Henderson
3
Prácticamente no sé nada de Microsoft. Toda mi experiencia de administrador de sistemas está en Unix ... y me encanta. Y como Mike mencionó ...
Calvin Froedge
1
¿Alguien tiene experiencia con el servidor SME? wiki.contribs.org/SME_Server:Acerca de
Calvin Froedge

Respuestas:

13

No se ofenda por esto, pero le sugiero encarecidamente que traiga una firma de consultoría de TI de área local que se especialice en administración de sistemas y redes. También llegué de un fondo de programación hace muchas lunas y aprendí muchas lecciones difíciles sobre qué hacer y qué no hacer para administrar un entorno de servidor en red. (Afortunadamente) tuve muchos mentores y ayuda a lo largo de los años, porque sin ella, quién sabe qué tipo de restos ardientes quedarían atrás.

Pasando ahora a su pregunta original: veo dos errores, uno es Linux: no me malinterpreten, amo Linux y lo uso en todo tipo de roles, pero como servidor único en una pequeña empresa que (nuevamente , sin ofender) no tiene un administrador de sistemas a tiempo completo que está pidiendo problemas. Encontrar administradores competentes de Linux (y es aún más difícil encontrar aquellos que sigan las mejores prácticas) no es fácil. En el futuro, si te vas o contratas a una nueva persona para que se haga cargo de tus deberes, ¿quién se ocupará de eso?

Suponiendo que tiene menos de 75 usuarios finales, recomendaría Microsoft Small Business Server 2011 Standard en hardware sólido de nivel 1 (como Dell, HP, IBM) con una garantía de reemplazo de 3 años en el sitio / 4 horas. Tenga al menos una matriz duplicada RAID 1 para los datos (y otra para el sistema si puede permitírselo). Obtenga al menos 8 GB de RAM, 12 GB es mejor. Invierta en una copia de seguridad fuera de sitio o fuera de línea: puede comenzar con un par de unidades externas o una unidad de cinta, pero algo que puede llevar fuera del sitio todas las noches.

Tampoco me convence su sugerencia de una base de datos "todo en uno" personalizada: existen muchas opciones de software mejores y más viables, que a menos que tenga algunos requisitos de nicho muy específicos que solo una solución personalizada puede proporcionar , sería mucho mejor usar una oferta de terceros bien respaldada. Debe resistir los instantes del programador "Puedo escribir algo" y pensar en apoyar esta solución a largo plazo.

Y finalmente, creo que usted y su empleador deben decidir cuál será su rol en esta empresa. Parece que eres nuevo allí y, si bien tienes razón, es probable que necesiten actualizar sus sistemas, no quieres morder más de lo que puedes masticar y no puedes proporcionar lo que sea que te contrataron allí. hacer.

EDITAR

Hay muchas opiniones flotando en este momento, así que voy a dar un paso atrás y espero brindarles algunos consejos agnósticos de plataforma que serán de utilidad para ustedes, independientemente de lo que terminen haciendo:

  1. Haga un inventario completo de todos los sistemas y dispositivos; verifique el estado de la garantía del hardware (si se trata de Dell, IBM, etc., debe poder usar la etiqueta de servicio para obtener una verificación de garantía; si se trata de un servidor de caja blanca, es posible que todavía tengan algún tipo de identificador, pero tendrá llamar para averiguar cuál es el estado más probable).

  2. Haga un inventario completo de datos: no confíe en que no tienen datos en sus unidades C: probablemente lo tengan, en realidad probablemente tengan archivos PST en todo el lugar del correo antiguo. Descubra qué es crítico, qué se está respaldando, qué no se está respaldando, cómo se está respaldando y si algo se lleva fuera del sitio o no. ARREGLAR ESTO PRIMERO. AHORA MISMO. Si no tienen una configuración de copia de seguridad, compre una unidad USB externa en una tienda Big Box por ahora y use NTBackup (probablemente ya esté en ese servidor) y haga una copia de seguridad completa y llévela fuera del sitio con usted. Si tienen una copia de seguridad, realice una restauración de prueba (consulte a continuación).

  3. Verifique los niveles de parche en todos los sistemas (¡obtenga el n. ° 2 primero!): No solo las actualizaciones de Windows, sino también Java y todos los productos de Adobe y actualícelos en consecuencia (es posible que desee hacer el n. ° 4 primero para que sepa qué máquinas tienen mayor prioridad que otras) es decir, esa estación de trabajo para el miembro del personal a tiempo parcial podría soportar una actualización fallida mucho más que el contador que corta los cheques de pago).

  4. Hable con sus usuarios: descubra qué funciona bien, qué no funciona, tenga una idea del nivel de tolerancia al cambio de todos, su nivel de comodidad con TI (puede estar reclutando un ayudante para que todo esté en orden) y cualquier lista de deseos que puedan tener. Comprender sus procesos de negocio; Como administrador de sistemas, su prioridad debe ser garantizar que los sistemas de los que depende el negocio funcionen en buen estado y para hacerlo, debe saber cómo todos usan esos sistemas.

  5. Después del n. ° 1, debe tener una idea de cómo se configura la red. Busque cualquier centro viejo que pueda ser reemplazado; querrás al menos 10/100 en todas partes, por conmutación. Verifique el cortafuegos / enrutador (asegúrese de que haya uno), verifique si hay puntos de acceso wi-fi abiertos, etc.

Si va por la ruta de Linux, quédese con una distribución que esté bien respaldada por la comunidad (Ubuntu sería una buena opción) y configúrela en cualquier hardware que pueda pagar (como ya sabe, una caja LAMP podría estar apagada) arrendar la estación de trabajo P4 por ahora) y lo más aislado posible del sistema actualmente en funcionamiento. Como ejercicio de aprendizaje (y podría pagar grandes dividendos en un escenario de recuperación de desastres), intente primero que las aplicaciones principales que se ejecutan en el servidor actual funcionen en otra caja de Windows: use su copia de seguridad completa que hizo en el n. ° 2 para hacer un prueba de restauración; divertirse con eso :)

En cuanto a la configuración de su prueba, puede optar por comprar algo robusto con mucha RAM y luego puede virtualizar (ESXi es gratis, también lo es XenServer, también lo es VirtualBox), pero si el servidor actual es Windows 2003 o anterior, es probable que pueda obtener esa aplicación FoxPro que funciona en una estación de trabajo Windows XP fuera de arrendamiento a bajo precio.

Ahora date una palmadita en la espalda; ahora tienes buenas copias de seguridad; también realizó una restauración de prueba y ahora comprende mejor cómo funciona todo junto. También es probable que tenga una lista TODO de prioridad (larga) que lo mantendrá ocupado en el futuro previsible.

Ah, y cuando todo esté listo, ahora tiene un entorno de prueba en el que puede comenzar a construir su sistema de "sueño" utópico ... o tal vez tomarse unas vacaciones :)

salsa
fuente
2
Vivo en un pueblo con 2000 personas. La interestatal más cercana está a una hora de distancia. No hay nadie más que yo. Es el negocio familiar, mi abuelo lo inició, así que no estoy viendo esto desde la perspectiva de los empleados. Quiero lo que construirá el negocio. Dirigí una empresa de consultoría web durante un par de años, pero recientemente la vendí y volví a casa para participar. No se ofende.
Calvin Froedge
1
Estamos en 40 usuarios finales. Tendré que verificar el hardware existente. Como dije, como no tengo experiencia con Windows, simplemente me asusta =)
Calvin Froedge
Aún más razones para no seguir este camino; tendrás las manos ocupadas haciendo todo lo demás, como estaciones de trabajo, teléfonos, impresoras, calculadoras (tal vez no calculadoras, pero serás el tipo con todas las baterías de repuesto en tu oficina).
gravyface
2
Microsoft SBS Server es una roca; apoyamos a docenas en la ciudad sin personal de TI en el sitio. Cuando llaman a nuestros chicos de break / fix, el 99% del tiempo no tiene nada que ver con el servidor, pero "Sally eliminó un correo electrónico, ¿puede restaurarlo?" o "Word se bloqueó, ¿puedes recuperar mi archivo?"
gravyface
1
No es lo que escuché: "semanas de servicio degradado" theregister.co.uk/2011/05/13/microsoft_bpos_apology
gravyface
6

Aunque generalmente prefiero Linux en el lado del servidor, esta definitivamente no es una de esas situaciones. Quédese con Windows y nunca sabrá los horrores de administrar los permisos de Windows con las ACL POSIX. No descargue archivos en bases de datos, y sus copias de seguridad serán mucho más fáciles. Cree un entorno limpio de Active Directory, y tendrá tiempo para tomar almuerzos largos en lugar de cambiar las contraseñas de los usuarios en una docena de lugares cada vez que los olviden.

En realidad, estás tratando de reinventar todo tipo de ruedas aquí:

  • Archivos en una base de datos - Sharepoint.
  • Seguimiento del tiempo de los empleados: probablemente lo hagan cientos de productos de software diferentes.
  • Contraseñas: Active Directory (cualquier producto de software respetuoso se autenticará contra AD)
  • Contabilidad - Grandes llanuras o similares.

Y le garantizo que si intenta escribir todo desde cero, su empresa perderá más dinero, sus usuarios lo odiarán y su seguridad laboral se verá severamente reducida.

Max Alginin
fuente
Genial, gracias por los comentarios. Esto definitivamente tiene sentido.
Calvin Froedge
¿Alguna idea sobre la migración de FoxPro a Great Plains?
Calvin Froedge
FoxPro es un entorno de base de datos / desarrollo (tipo de acceso previo / VB). Si el programa funciona / hace todo lo que necesita hacer, simplemente lo movería y mantendría buenas copias de seguridad hasta que tenga tiempo de migrarlo a otro paquete de software (eso solo será una experiencia dolorosa).
gravyface
3

Quería esperar un poco para ver qué respondieron los demás, pero de lo que puedo deducir de su pregunta y sus respuestas, me sería difícil justificar la creación de una infraestructura de servidor. Echaría un vistazo a la solución de Office 365 para pequeñas empresas ( http://www.mygpcloud.com/accounting-solutions/business-essentials.aspx ). http://www.microsoft.com/en-us/office365/online-software.aspx ) que parece que es exactamente lo que necesita. No tiene experiencia en la administración de servidores de Windows, pero claramente se siente cómodo usando productos de MS. Para todas las tareas de la base de datos que desea realizar, puede usar sharepoint (también puede obtener acceso a MS en línea para esas necesidades ligeras pero personalizadas) El costo por usuario comienza en $ 6. Y si está buscando ir a Dynamix Great Plains, incluso eso está disponible en una solución alojada (aquí hay uno elegido por Google:

En pocas palabras, realmente creo que es una decisión difícil para una pequeña empresa sin mucha experiencia para justificar los gastos necesarios para poseer su propia infraestructura.

ACTUALIZAR:

Me ha preocupado algo sobre esta pregunta y finalmente me di cuenta de que está buscando resolver un problema técnico en lugar de analizar los problemas comerciales. Por ejemplo, usted menciona en la publicación original que desea almacenar archivos en una base de datos. ¿Por qué? ¿Hay alguna razón comercial para hacerlo? ¿Qué estaba mal con el uso compartido de archivos? Creo que antes de considerar cosas como las opciones de plataforma y software, tendría sentido analizar las necesidades comerciales y evaluar cuáles son las posibles soluciones para cada conjunto de requisitos.

Jim B
fuente
Excepto si tiene algún tipo de latencia en su conexión a Internet ... y si todo está en la nube, querría conexiones de Internet redundantes porque ahora no puede hacer nada localmente ... y si le preocupa la privacidad de los datos ... o si tiene aplicaciones heredadas que no están disponibles como una oferta alojada / nube ... o si tiene grandes archivos a compartir ...
gravyface
La latencia no es un problema para el 99% de las aplicaciones, ya que casi todas usan almacenamiento local para almacenar en caché tanto la aplicación como los cambios en los datos. Los archivos grandes tienden a ser más rápidos en la nube porque la aplicación generalmente no envía todo el documento, solo carga una vista.
Jim B
He tenido la intención de probarlo, pero siempre soy un poco cauteloso con las nuevas tecnologías (y por qué me gusta el enfoque híbrido, especialmente para las empresas existentes ...).
gravyface
Hybrid funciona es simplemente más caro y, a menos que tenga razones regulatorias, realmente no le compra nada, ya que (al menos hasta ahora) se recuperan las interrupciones antes de que pueda poner en producción su infraestructura interna.
Jim B
1

Esperaría que una de las personas más experimentadas y elocuentes aquí escriba una publicación realmente larga y autorizada en respuesta a su pregunta. Sin embargo, aquí está mi mejor puñalada:

Paso 1: Investigue un poco, cuente el número de usuarios, la cantidad total de datos, ¿cómo está protegido contra fallas? Paso 2: haga un inventario del hardware existente, cuente todo, servidores, enrutadores, conmutadores, esperemos que no haya concentradores). Paso 3: (Mi favorito personal) Decide si puedes descargar algunos servicios a un proveedor externo de manera rentable. Por ejemplo, para las organizaciones pequeñas, el correo electrónico alojado es una buena cosa para no tener que preocuparse por los gastos generales de administración. Paso 4: Determine qué hardware y software se requieren para mantener el negocio de manera normal y si hay problemas existentes, como espacio de almacenamiento, rendimiento, etc. Paso 5: Alcance un plan para remediar problemas existentes.

Tendrá que lograr un equilibrio aquí entre lo que su empresa necesita, lo que desea (para facilitar su trabajo) y lo que se encuentra muy bien en el medio. Si fuera yo, comenzaría en la infraestructura y me aseguraría de que el enrutamiento y la conmutación sean sólidos (léase: no concentradores de 10 MB). Luego mediría la antigüedad del "servidor" y planearía reemplazarlo con un par de socios redundantes. Si un solo servidor ha hecho el trabajo durante años, un buen par de sistemas probablemente haría bien el trabajo en el futuro.

En cuanto a la migración de usuarios, eso es simplemente una cuestión de planificación. Como dije, comience haciendo un inventario.

SpacemanSpiff
fuente
Ya tengo todo el correo electrónico en la nube de Rackspace, así como los sitios web, por lo que no debe preocuparse por eso. Hacer un inventario y conocer mejor la red existente suena como un primer paso sólido =) Gracias por sus comentarios.
Calvin Froedge
Retuve sugerirle que contrate a un consultor porque indicó que está dispuesto a dedicarle tiempo. También puede considerar obtener algunos libros básicos sobre sistemas y administración de redes.
SpacemanSpiff
1

Si yo fuera usted, comenzaría poco a poco y realizaría mejoras incrementales que solo cuestan tiempo.

Hice algo similar a lo que dices hace más de 10 años. Aunque comenzamos con 7 empleados y crecimos a un pico de 30 impares. No había un sistema de TI, así que lo armé.

El sistema que instalé en ese momento y que mantuve hasta hace unos 5 años (aparte de todas las actualizaciones recientes) todavía está en uso hoy en día y la compañía todavía está operando. En un momento, todo era Linux, pero principalmente porque no podíamos permitirnos un servidor de Windows.

Ahora es el servidor de Windows con AD y DNS interno para proporcionar resolución para impresoras locales, etc. Un enrutador / cortafuegos que en realidad es freebsd y hace escaneo de correo, etc., aunque podría salirse con la suya usando pfsense o mucho menos.

Por cierto, Linux es genial, pero Samba es un verdadero dolor de cabeza e incluso cuando está configurado correctamente y funciona como debería, ¡no funciona tan bien como lo hace el servidor de Windows! En ese momento, faltaban características importantes y creo que todavía las hay. Hazte un favor y ve con Windows Server.

No actualice el sistema de contabilidad a menos que realmente lo necesite. No arregles lo que no está roto. ¿Satisface las necesidades de la empresa? o si no, considere una actualización a otra cosa.

Organizar archivos es simplemente una cuestión de proporcionar un poco de gestión de acciones y cosas y enseñar a las personas dónde colocar las cosas. Puede ser solo un proceso manual. No los pongas en una base de datos, te arrepentirás de haberlo hecho. Con una base de datos, la copia de seguridad y restauración se vuelve difícil. ¿Qué sucede si pierde un archivo y solo desea restaurar un solo registro que contiene ese archivo? mientras tanto, ha agregado otros registros ... ¡ahora necesita fusionar para recuperar el único archivo!

Mate
fuente
1
Satisface las necesidades ahora ... pero uno de los principales problemas es que nuestros datos no son lo suficientemente ricos. No tenemos suficiente información sobre cada producto. Realmente necesita ser limpiado. En cuanto al almacenamiento de archivos de la base de datos, supongo que debería haber dicho que quería las referencias en una base de datos, para poder etiquetar fotos, agregar descripciones, clasificarlas y buscarlas. Las imágenes / videos aún se almacenarían en el sistema de archivos. ¿Cuánto tiempo le llevó construir su servidor? ¿Tienes alguna experiencia con el servidor SME? wiki.contribs.org/SME_Server:Acerca de
Calvin Froedge
¿Estás vendiendo productos en línea? Echa un vistazo a la construcción de un catálogo con Magento o similar. Puede mantener el catálogo a través de él, incluidas todas las imágenes del producto.
Matt
Estamos vendiendo productos en línea ... pero NUNCA construiría un sitio web con Magento. Quiero trabajar hacia una solución de comercio electrónico increíble ... pero me gustaría construirla y controlarla yo mismo.
Calvin Froedge
Magento fue solo una sugerencia. ¿Por qué reinventar la rueda? Con muchas de esas soluciones de comercio electrónico de código abierto, tiene todo el código fuente disponible. Pude poner un sitio web de comercio electrónico muy simple con Magento en un par de semanas. Si lo hubiera hecho desde cero, no habría tenido tantas características ni se habría construido tan rápido o habría costado tan poco. El cliente tiene control sobre lo que pone allí y no necesita un programador para mantenerlo. Creo que es insensato decir "Quiero hacerlo todo desde cero". Cree algo donde no necesite un programador para mantener el catálogo.
Matt
Use un marco con una biblioteca de comercio electrónico. Incluso usaría Wordpress antes que Magento. O shopify. Si está creando sitios de comercio electrónico con Magento, le sugiero que simplemente mire a su alrededor para ver qué otras opciones tiene. Comencé con oscommerce y Magento y sí, es rápido, pero obtienes lo que pagas =)
Calvin Froedge
1

Mis 2 centavos a menos que su negocio sea consultoría de TI. El ROI se gastaría mejor si la empresa impulsara la tecnología y no al revés. Si desea un laboratorio, cree un laboratorio pero si aprovecha la tecnología para hacer crecer su negocio, contrate a un consultor, el costo total de propiedad es menor.

@ Calvin, vivo en un lugar así. Nuestros consultores vinieron de la región, a 2-3 horas de distancia. La mayoría de las veces trabajan de forma remota cuando tuvimos un problema, pero visitamos el sitio para implementar el proyecto.

(Nota del escritor: me da pena usar términos como ROI y TCO, pero en mi humilde opinión, son relevantes aquí).

JamesBarnett
fuente