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.
fuente
Respuestas:
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:
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).
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).
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).
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.
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 :)
fuente
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í:
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.
fuente
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.
fuente
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.
fuente
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!
fuente
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í).
fuente