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.
fonte
Respostas:
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:
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).
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).
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).
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.
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 :)
fonte
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:
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.
fonte
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.
fonte
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.
fonte
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!
fonte
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).
fonte