Construindo uma rede Linux para nossa empresa - por onde começar?

16

Essa será uma pergunta um pouco carregada. Estou programando em uma empresa que existe desde 1962. Muitas coisas, especialmente coisas de computadores / redes, são muito antigas. Deixe-me dar um pouco mais de experiência.

A empresa já opera um servidor Windows. No servidor, muitos computadores possuem arquivos em unidades de rede compartilhadas e também existem alguns programas. É assim que o acesso da empresa a coisas como contabilidade e inventário é concedido e como os arquivos são compartilhados. Infelizmente, nunca houve um administrador de sistema forte desempenhando um papel em nenhum dos designs. O sistema de contabilidade está sendo executado no Foxpro. Os arquivos são totalmente caóticos. Os funcionários parecem saber o que fazer em geral, mas, para crescer e escalar, precisamos controlar rapidamente essa rede. Algumas das coisas que vejo necessárias:

  • Um banco de dados relacional, acessível por todos os computadores da rede que armazenará:
    • Arquivos (ou seja, desenhos, citações, fotos de projetos concluídos, etc.)
    • Funcionários (então podemos começar a fazer coisas como entrada do cartão de ponto computadorizado)
    • Faturas, pagamentos a receber e estoque
    • Gerenciamento de senha
    • Rastreamento de trabalho

Eu gostaria de criar aplicativos personalizados sobre esse banco de dados para potencializar tudo e criar APIs que permitam que nossos sites interajam com nossas coisas internas. Obviamente, devo deixar intactos os sistemas existentes à medida que crio novos. Estou vindo de uma experiência na Web ... e estou muito confortável com o Unix (administrei dezenas de servidores que atendem sites), PHP e desenvolvimento de front-end. Eu gostaria de ficar com as tecnologias de código aberto que eu já conheço bem.

A maior questão em minha mente é por onde começar. Compro um rack de servidor e apenas começo a construir uma rede totalmente nova? Empurro todo mundo para a nova rede assim que estiver pronto, ou tento usar os dois ao mesmo tempo de alguma forma e migrar lentamente para longe da antiga?

Sei que esse pode ser um projeto que leva um ano ou mais. Eu realmente aprecio algumas orientações - quaisquer recursos em design de sistema, como eu começo, qualquer que seja. Estou disposto a colocar no trabalho - só preciso de ajuda para criar uma visão.

Calvin Froedge
fonte
3
Se você já possui servidores Windows, por que deseja servidores Linux?
Jim B
2
@ Jim B, Algumas razões que eu faria: Sem taxas de licenciamento, confiabilidade, implementação de rede que faz sentido, churn tecnologia menos perturbadora, há pesadelos de registro, nenhuma MS Exchange ...
Mike Pennington
4
@ Mike - Eu não vou tentar convencê-lo de qualquer maneira, mas gostaria de saber quanto tempo faz desde que você analisou o Windows? O Server 2008, além das taxas óbvias de licenciamento, atende aos seus critérios mencionados acima. Apenas um pensamento - eu sou preconceituoso, no entanto, como eu sou um cara do Windows. Faz integração entre desktops Windows e os servidores de um acéfalo, enquanto você pode estar batendo com a cabeça tentando integrar desktops Windows em um servidor * nix por ações e autenticação etc
Mark Henderson
3
Eu praticamente não sei nada sobre a Microsoft. Toda a minha experiência com o administrador de sistemas está no Unix ... e eu adoro isso. E como Mike mencionou ...
Calvin Froedge
11
Alguém tem experiência com servidor SME? wiki.contribs.org/SME_Server:About
Calvin Froedge

Respostas:

13

Por favor, não se ofenda com isso, mas eu sugiro fortemente que você traga uma empresa de consultoria de TI local, especializada em administração de sistemas e redes. Eu também vim de um background de programação há muitas luas e aprendi muitas lições difíceis sobre o que fazer e o que não fazer no gerenciamento de um ambiente de servidor em rede. Eu (felizmente) tive muitos mentores e ajuda ao longo dos anos, porque sem ela, quem sabe que tipo de destroços ardentes seriam deixados para trás.

Agora, vamos à sua pergunta original: vejo dois erros, um deles o Linux: não me entenda mal, adoro o Linux e o uso em todos os tipos de funções, mas como um servidor único em uma pequena empresa que (novamente , sem ofensa) não tem um administrador de sistema em tempo integral pedindo problemas. Encontrar administradores competentes do Linux (e é ainda mais difícil encontrar aqueles que seguem as melhores práticas) não é fácil. Mais adiante, se você sair ou contratar uma nova pessoa para assumir seus deveres, quem cuidará disso?

Supondo que você tenha menos de 75 usuários finais, eu recomendaria fortemente o Microsoft Small Business Server 2011 Standard em hardware sólido de camada 1 (como Dell, HP, IBM) com uma garantia de substituição de 3 anos no local / 4 horas. Tenha pelo menos uma matriz espelhada RAID 1 para os dados (e outra para o sistema, se você puder pagar). Obtenha pelo menos 8 GB de RAM, 12 GB é melhor. Invista em um backup offline / fora do local: você pode começar com algumas unidades externas ou uma unidade de fita, mas algo que você pode levar para fora do local todas as noites.

Também não sou vendido por sua sugestão de um banco de dados "tudo-em-um" personalizado: existem muitas opções de software melhores e mais viáveis ​​por aí, a menos que você tenha alguns requisitos de nicho muito específicos que somente uma solução personalizada pode fornecer , seria muito melhor usar uma oferta de terceiros bem suportada. Você precisa resistir aos desejos do programador "Eu posso escrever algo" e pensar em apoiar essa solução a longo prazo.

E, finalmente, acho que você e seu empregador precisam decidir qual será o seu papel nesta empresa. Parece que você é novo por lá e, enquanto estiver certo, eles provavelmente precisam atualizar seus sistemas, você não quer se incomodar mais do que pode mastigar e deixar de fornecer o que quer que tenha sido contratado para Faz.

EDITAR

Há muitas opiniões circulando no momento, por isso vou dar um passo atrás e, esperançosamente, fornecer alguns conselhos independentes de plataforma que serão úteis para você, independentemente do que você queira fazer:

  1. Faça um inventário completo de todos os sistemas e dispositivos; verificar o status da garantia do hardware (se for Dell, IBM etc., você poderá usar a etiqueta de serviço para obter uma verificação de garantia; se for um servidor de caixa branca, eles ainda poderão ter algum tipo de identificador, mas você terá ligar para descobrir qual é o status mais provável).

  2. Faça um inventário completo dos dados: não confie que eles não tenham dados nas unidades C:; eles provavelmente têm, na verdade eles provavelmente têm arquivos PST em todo o lugar do correio antigo. Descubra o que é crítico, o que está sendo copiado, o que não está sendo copiado, como está sendo copiado e se algo é retirado do local ou não. CORRIGIR ISTO PRIMEIRO. AGORA MESMO. Se eles não tiverem uma configuração de backup, compre uma unidade USB externa em uma loja Big Box e use o NTBackup (provavelmente já está nesse servidor), faça um backup completo e leve-o para fora do local. Se eles tiverem backup no lugar, faça uma restauração de teste (veja abaixo).

  3. Verifique os níveis de correção em todos os sistemas (obtenha o 2º classificado primeiro!): Não apenas as atualizações do Windows, mas o Java e todos os produtos da Adobe, especialmente, e atualize-os adequadamente (convém fazer o nº 4 primeiro, para que você saiba quais máquinas têm prioridade mais alta do que outras isto é, que a estação de trabalho para o funcionário de meio período poderia suportar uma atualização mal feita muito mais do que o contador que corta os cheques de pagamento).

  4. Converse com seus usuários: descubra o que está funcionando bem, o que não está funcionando, sinta o nível de tolerância a mudanças de todos, o nível de conforto com a TI (você pode estar recrutando um ajudante para organizar as coisas) e quaisquer listas de desejos que eles possam ter. Entenda seus processos de negócios; como administrador de sistemas, sua prioridade deve garantir que os sistemas dos quais os negócios dependem para funcionar estejam funcionando em boas condições e, para isso, é necessário saber como todos os usuários usam esses sistemas.

  5. Após o nº 1, você deve ter uma idéia de como a rede está configurada. Procure por hubs antigos que possam ser substituídos; você desejará pelo menos 10/100 em todos os lugares, alternadamente. Verifique o firewall / roteador (verifique se existe um), verifique se há pontos de acesso wi-fi abertos, etc.

Se você seguir a rota do Linux, use uma distro que seja bem suportada pela comunidade (o Ubuntu seria uma boa escolha) e configure-a em qualquer hardware que você puder pagar (como você sabe, uma caixa LAMP pode ser uma alternativa). locação da estação de trabalho P4 por enquanto) e o mais isolado possível do sistema atualmente em funcionamento. Como um exercício de aprendizado (e pode render enormes dividendos em um cenário de recuperação de desastre), tente fazer com que os aplicativos principais que estão sendo executados no servidor atual funcionem primeiro em outra caixa do Windows - use o backup completo que você fez no nº 2 para fazer uma restauração de teste; Divirta-se com isso :)

Quanto à configuração do teste, você pode optar por comprar algo robusto com muita memória RAM e virtualizar (o ESXi é gratuito, o XenServer e o VirtualBox), mas se o servidor atual for o Windows 2003 ou mais antigo, é possível que você obtenha esse aplicativo FoxPro trabalhando em uma estação de trabalho Windows XP fora do aluguel por um preço baixo.

Agora dê um tapinha nas costas; agora você tem bons backups; você também fez uma restauração de teste e agora entende melhor como tudo funciona em conjunto. Você provavelmente também tem uma lista TODO de prioridade (longa) que o manterá ocupado no futuro próximo.

Ah, e quando tudo estiver pronto, agora você tem um ambiente de teste. Você pode começar a criar seu sistema utópico de "sonhos" ... ou talvez tirar férias :)

gravyface
fonte
2
Eu moro em uma cidade com 2000 pessoas. A interestadual mais próxima fica a uma hora de distância. Não há ninguém além de mim. É o negócio da família, meu avô começou, então não estou vendo isso da perspectiva dos funcionários. Eu quero o que vai construir o negócio. Eu dirigi uma empresa de consultoria na web por alguns anos, mas recentemente a vendi e voltei para casa para me envolver. Nenhuma ofensa tomada.
Calvin Froedge
11
Estamos em 40 usuários finais. Vou precisar verificar o hardware existente. Como eu disse, como eu não têm janelas experimentá-la apenas uma espécie de sustos mim =)
Calvin Froedge
Ainda mais razões para não seguir esse caminho; você terá as mãos ocupadas fazendo todo o resto, como estações de trabalho, telefones, impressoras, calculadoras (talvez não calculadoras, mas será o cara com todas as baterias sobressalentes em seu escritório).
gravyface 27/05
2
Microsoft SBS Server é uma pedra; apoiamos dezenas na cidade sem equipe de TI no local. Quando nossos funcionários são chamados, 99% das vezes não tem nada a ver com o servidor, mas "Sally excluiu um email, você pode restaurá-lo?" ou "O Word travou, você pode recuperar meu arquivo?"
gravyface 27/05
11
Não foi o que ouvi: "semanas de serviço degradado" theregister.co.uk/2011/05/13/microsoft_bpos_apology
gravyface
6

Embora eu prefira o Linux no lado do servidor, essa definitivamente não é uma dessas situações. Fique com o Windows e você nunca saberá os horrores do gerenciamento de permissões do Windows com ACLs POSIX. Não despeje arquivos em bancos de dados, e seus backups serão muito mais fáceis. Crie um ambiente limpo do Active Directory e você terá tempo para almoços longos em vez de alterar as senhas dos usuários em uma dúzia de lugares sempre que os esquecerem.

Você está realmente tentando reinventar todos os tipos de rodas aqui:

  • Arquivos em um banco de dados - Sharepoint.
  • Acompanhamento do tempo dos funcionários - provavelmente uma centena de produtos de software diferentes fazem isso.
  • Senhas - Active Directory (qualquer produto de software que se preze será autenticado no AD)
  • Contabilidade - Grandes Planícies ou similares.

E garanto que, se você tentar escrever tudo do zero, sua empresa perderá mais dinheiro, seus usuários o odiarão e sua segurança no trabalho será severamente reduzida.

Max Alginin
fonte
Legal, obrigado pelo feedback. Isso definitivamente faz sentido.
Calvin Froedge
Alguma visão sobre a migração do FoxPro para Great Plains?
Calvin Froedge
FoxPro é um ambiente de banco de dados / desenvolvimento (tipo de coisa pré-Access / VB). Se o programa funcionar / fizer tudo o que for necessário, eu o moverei e manteria bons backups até que você tenha tempo para migrá-lo para outro pacote de software (isso por si só será uma experiência dolorosa).
Gravyface 27/05
3

Queria esperar um pouco para ver o que os outros responderam, mas pelo que posso obter de suas perguntas e respostas, dificilmente justificaria a criação de uma infraestrutura de servidor. Eu daria uma olhada na solução para pequenas empresas do office 365 ( http://www.microsoft.com/en-us/office365/online-software.aspx ), que parece ser exatamente o que você precisa. Você não possui experiência em gerenciamento de servidores Windows, mas claramente se sente confortável ao usar produtos MS. Para todas as tarefas de banco de dados que você deseja realizar, você pode usar o sharepoint (você também obtém o acesso do MS on-line para essas necessidades leves, mas personalizadas). O custo por usuário começa em US $ 6. E se você deseja ir para o Dynamix Great Plains, mesmo que esteja disponível em uma solução hospedada (aqui está um dos sites escolhidos pelo Google -http://www.mygpcloud.com/accounting-solutions/business-essentials.aspx ).

Em poucas palavras, realmente acho que é uma decisão difícil para uma pequena empresa sem muita experiência justificar as despesas necessárias para possuir sua própria infraestrutura.

ATUALIZAR:

algo está me incomodando nessa questão e finalmente me ocorreu que você está procurando resolver problemas técnicos em vez de analisar problemas de negócios. Por exemplo, você mencionou na postagem original que deseja armazenar arquivos em um banco de dados. Por quê? Existe alguma razão comercial para fazer isso? O que havia de errado com o compartilhamento de arquivos? Penso que, antes de considerar coisas como opções de plataforma e software, faria sentido examinar as necessidades da empresa e avaliar quais são as possíveis soluções para cada conjunto de requisitos.

Jim B
fonte
Exceto se você tiver algum tipo de latência na sua conexão com a Internet ... e se tudo estiver na nuvem, eu desejaria conexões redundantes com a Internet, porque agora você não pode fazer nada localmente ... e se estiver preocupado com a privacidade dos dados ... ou se você tiver aplicativos legados que não estão disponíveis como uma oferta hospedada / cloud ... ou se você tiver arquivos grandes para partilhar ...
gravyface
A latência não é um problema para 99% dos aplicativos, pois quase todos usam armazenamento local para armazenar em cache o aplicativo e as alterações nos dados. Arquivos grandes tendem a ser mais rápidos na nuvem, porque o aplicativo geralmente não envia todo o documento, apenas carrega uma visualização.
Jim B
Eu pretendo experimentá-lo, mas sou sempre um pouco cauteloso com as novas tecnologias (e por que gosto da abordagem híbrida, especialmente para empresas existentes ...).
Gravyface 27/05
O Hybrid Works é apenas mais caro e, a menos que você tenha razões regulatórias, não compre nada, pois as falhas (pelo menos até agora) são recuperadas antes que você possa colocar sua infraestrutura interna em produção.
Jim B
1

Espero que uma das pessoas mais experientes e eloqüentes aqui escreva um post realmente longo e autoritário em resposta à sua pergunta. No entanto, aqui está minha melhor facada:

Etapa 1: faça alguma pesquisa, conte o número de usuários, a quantidade total de dados, como ele está protegido contra falhas? Etapa 2: inventarie o hardware existente, conte tudo, servidores, roteadores, switches e, espero, sem hubs). Etapa 3: (Meu favorito) Decida se você pode transferir alguns serviços para um provedor externo de uma maneira econômica. Por exemplo, para pequenas organizações o email hospedado é uma coisa boa para não ter que se preocupar com as despesas gerais de gerenciamento. Etapa 4: determine qual hardware e software são necessários para manter os negócios normalmente e se existem problemas existentes, como espaço de armazenamento, desempenho, etc. Etapa 5: planeje um plano para corrigir os problemas existentes.

Você precisará encontrar um equilíbrio aqui entre o que sua empresa precisa, o que deseja (para facilitar seu trabalho) e o que fica bem no meio. Se fosse eu, começaria na infraestrutura e garantiria que o roteamento e a comutação sejam sólidos (leia-se: não hubs de 10mb). Depois, avaliava a idade do "servidor" e planejava substituí-lo por um par de parceiros redundantes. Se um único servidor faz o trabalho há muito tempo, um bom par de sistemas provavelmente fará o trabalho daqui para frente.

Quanto à migração de usuários, isso é simplesmente uma questão de planejamento. Como eu disse, comece fazendo o inventário.

SpacemanSpiff
fonte
Eu já tenho todo o email na nuvem da rackspace, assim como nos sites, por isso não precisa se preocupar com isso. Fazer um inventário e conhecer melhor a rede existente soa como um primeiro passo sólido =) Obrigado pelo seu feedback.
Calvin Froedge
Eu retive a sugestão de contratar um consultor porque indicou que está disposto a dedicar um tempo. Você também pode considerar adquirir alguns livros básicos sobre sistemas e gerenciamento de rede.
SpacemanSpiff 27/05
1

Se eu fosse você, começaria pequeno e faria melhorias incrementais que não custam nada além de tempo.

Eu fiz algo parecido com o que você está dizendo há mais de 10 anos. Embora tenhamos começado com 7 funcionários e crescido para um pico de 30 ímpares. Não havia sistema de TI, então montei tudo.

O sistema que eu instalei na época e mantive até cerca de 5 anos atrás (além de todas as atualizações recentes) ainda está em uso hoje e a empresa ainda está operando. Em um ponto, era tudo Linux, mas principalmente porque não podíamos comprar um servidor Windows.

Agora é o servidor Windows com AD e DNS interno para fornecer resolução para impressoras locais e assim por diante. Um roteador / firewall que é realmente freebsd e faz a varredura de e-mails, etc., embora você possa se safar com o pfsense ou muito menos.

A propósito, o Linux é ótimo, mas o Samba é uma verdadeira dor de cabeça e, mesmo quando configurado corretamente e funcionando como deveria, não funciona tão bem quanto o servidor Windows! Naquela época, faltavam recursos importantes e acredito que ainda existem. Então faça um favor a si mesmo e vá com o Windows Server.

Não atualize o sistema de contabilidade, a menos que você realmente precise. Não conserte o que não está quebrado. Está atendendo às necessidades da empresa? ou, caso contrário, considere uma atualização para outra coisa.

Organizar arquivos é simplesmente uma questão de fornecer algum gerenciamento de compartilhamentos e coisas e ensinar às pessoas onde colocar as coisas. Pode ser apenas um processo manual. Não os coloque em um banco de dados, você se arrependerá. Com um banco de dados, o backup e a restauração ficam difíceis. E se você perder um arquivo e apenas quiser restaurar um único registro contendo esse arquivo? nesse meio tempo, você adicionou outros registros .. agora você precisa mesclar para recuperar o arquivo yuck!

Matt
fonte
11
Está atendendo às necessidades agora ... mas um dos principais problemas é que nossos dados não são ricos o suficiente. Não temos informações suficientes sobre cada produto. Ele realmente precisa ser limpo. Quanto ao armazenamento de arquivos de banco de dados, acho que eu deveria ter dito que queria as referências em um banco de dados, para que pudéssemos marcar fotos, adicionar descrições, categorizar e pesquisá-las. As imagens / vídeos ainda seriam armazenados no sistema de arquivos. Quanto tempo você levou para construir seu servidor? Você tem alguma experiência com o servidor SME? wiki.contribs.org/SME_Server:About
Calvin Froedge
Você está vendendo produtos online? dê uma olhada na criação de um catálogo de catálogos com Magento ou similar. Você pode manter o catálogo de produtos através dele, incluindo todas as imagens do produto.
27511 Matt
Estamos vendendo produtos on-line ... mas eu NUNCA criaria um site com o Magento. Eu quero trabalhar em direção a uma solução incrível de comércio eletrônico .... mas eu gostaria de criar e controlar ela mesma.
Calvin Froedge
Magento foi apenas uma sugestão. Por que reinventar a roda? com muitas dessas soluções de comércio eletrônico de código aberto, você tem todo o código-fonte disponível. Consegui criar um site de comércio eletrônico muito simples com o Magento em algumas semanas. Se eu tivesse feito isso do zero, não teria tantos recursos ou teria sido construído tão rápido ou custaria tão pouco. O cliente tem controle sobre o que coloca lá e não precisa de um programador para mantê-lo. Eu acredito que é tolice dizer apenas "eu quero fazer tudo do zero". Crie algo em que não seja necessário um programador para manter o catálogo.
Matt
Use uma estrutura com uma biblioteca de comércio eletrônico. Eu até usaria o Wordpress antes do Magento. Ou faça compras. Se você estiver criando sites de comércio eletrônico com o Magento, eu sugeriria apenas que olhasse em volta para ver quais outras opções você tem. Comecei com osCommerce e Magento e sim ele é rápido, mas você começa o que você paga =)
Calvin Froedge
1

Meus 2 centavos, a menos que você faça negócios com consultoria em TI. É melhor gastar o ROI se os negócios impulsionarem a tecnologia e não o contrário. Se você deseja que um laboratório construa um laboratório, mas se utilizar a tecnologia para expandir seus negócios, contrate um consultor, o custo total de propriedade é menor.

@ Calvin Eu moro em um lugar como esse. Nossos consultores vieram da região, a 2-3 horas de distância. Principalmente, eles trabalham remotamente quando tivemos um problema, mas entram no local para executar a implementação do projeto.

(nota do escritor: eu me arrependo de usar termos como ROI e TCO, mas IMHO são relevantes aqui).

JamesBarnett
fonte