Azure File Sync–Otimizando seu File Server e Storage

Duas aplicações mais consomem storage em ambientes de TI:

  • Banco de dados – Por conterem dados analiticos e indexados podemos utilizar tecnicas de drill down para separar os dados analiticos dos dados resumidos facilitando o acesso e otimizando custos
  • File Server – Ao longo dos anos as empresas acumulam milhares de arquivos, o que custa caro e raramente é agrupado ou tierizado

Tierização: Tecnologia onde os dados são separados conforme regras de performance em discos mais caros ou mais baratos. Por exemplo, arquivos pouco usados ficam em discos SATA, arquivos com acesso ocasional em discos SAS e arquivos que são acessados diariamente em discos SSD.

Vamos abordar como utilizar o Azure File Sync para criar uma tierização dos dados em um File Server para permitir que arquivos mais acessados fiquem localmente guardados e os mais antigos apenas em nuvem.

Cenários Frequentes

O primeiro cenário é o de diminuir o tamanho total de espaço ocupado por arquivos antigos.

Nesse caso utilizamos as configurações de data do arquivo e espaço livre desejado para diminuir o espaço em disco que o File Server ocupa, liberando para uso com outras necessidades.

O segundo cenário é servidor de arquivos distribuidos, onde em cada filial da empresa é necessário ter um servidor para acessar os dados.

Nesse exemplo todos os servidores replicam a mesma pasta, o que não cria problemas de saturação local, já que o cache é apenas dos arquivos recentes e controlado pelo percentual desejado de espaço livre a ser mantido.

Componentes do Azure File Sync

  1. Storage Account – Um storage virtual onde os dados serão armazenados
  2. File Share no Storage Account – Pasta dentro do Storage Account para receber os arquivos que serão enviados
  3. Azure File Sync Service no Market Place – É o serviço e deve ser habilitado, diferente de outros serviços nativos. Porem, apesar de estar no Market Place o AFS não tem um custo, trata-se apenas da inclusão de um serviço
  4. File Sync Service – É o serviço no painel do Azure onde podemos criar os grupos, incluir os servidores e configurar storage
  5. Registered Services (servidores) – São os servidores que serão sincronizados, onde os arquivos estão armazenados e servirão de cache
  6. Sync Group – Forma a lista de servidores que irá receber a cópia dos arquivos a serem copiados e dar acesso aos arquivos em qualquer localidade

Criando um Storage

Esse é o primeiro passo e bem conhecido de quem já utiliza o Azure, uma vez que para tudo precisamos de um storage.

armazenamento

Para usar o AFS não é necessário qualquer configuração adicional, você poderá escolher qual região, tipo de storage e replicação que melhor se aplique ao seu ambiente. Obviamente algumas coisas precisam ser levadas em conta:

  • O tipo de conta envolve a performance maxima e irá afetar tanto o download quanto upload quando os usuários utilizam os arquivos
  • Replicação é importante se você terá servidores em várias localidades/paises
  • Camada Hot or Cold envolve a performance diretamente e tambem o custo, já que o acesso é bem lento em discos Cold e não recomendaria para uma solução como essa

Na sequencia é necessário criar o File Share para onde os arquivos irão quando sincronizados, e o conceito é o mesmo de um servidor comum:

compartilhamento

Quando sincronizado, os arquivos irão aparecer primeiro na pasta Sincronization e depois na pasta principal como podemos ver abaixo.

syncstaging

Files Sync

Lembrando que as duas telas acima se referem a sincronização já finalizada, a primeira para ver os arquivos sendo copiados e a segunda quando a primeira sincronização já finalizou.

Habilitando o Azure File Sync

Procure no Marketplace pelo Azure File Sync ou Serviço de Sincronização do Azure em portugues:

mktplace

mktplace-2

Nesse momento pode-se optar por utilizar um Resource Group existente ou um novo, não importando em qual Resource Group o Storage foi criado, uma vez que ele pode ter varios outros serviços atribuidos.

Criando o Serviço de Sincronização

A criação do grupo de sincronização é bem simples, bastante indicar a assinatura, storage e a pasta compartilhada definida anteriormente.

Servico

grupo sincronizacao

Registrando Servidores de Arquivos

Você poderá indicar servidores:

  • Novos servidores que não tenham arquivos e incluí-los em um grupo já sincronizado para que ele sirva de cache dos arquivos que já estão na pasta compartilhada do Storage no Azure
  • Servidor com dados onde o conteudo será copiado para o Azure e acrescentado

O primeiro passo é instalar as bibliotecas PowerShell do Azure (AZ) no servidor, o que pode ser feito seguindo os passos na página https://docs.microsoft.com/pt-br/powershell/azure/install-az-ps?view=azps-2.6.0&wt.mc_id=4029139

Após ter o Azure CLI instalado, baixe e instale o Agente de Sincronização que é muito simples de ser feito.

AZFAgente

registerserver

Após isso, já será possivel ver o servidor no painel do Azure:

serverregistrado

Nesse passo não é necessário configurações nem qualquer definição adicional, já que se trata de uma operação simples de agente.

Criando o Endpoint (Servidores Cache)

Aqui é onde realmente criamos o serviço e vemos a mágica acontecer!

Entrando dentro do grupo de sincronização que criamos anteriormente e usar a opção Adicionar ponto de extremidade ou Add Endpoint para incluir o servidor no grupo que criamos.

Extremidade

Vamos ver as opções que estão listadas:

  1. Caminho – É o diretório que queremos que fique sincronizado, lembrando que se estiver vazio para um grupo já existente ele irá baixar o conteudo conforme for sendo utilizado. Se for um servidor que já contem arquivos, esses serão carregadso para o Azure.
    Importante: Não é possivel usar a unidade root (C:) e sim um disca parte por conta dos arquivos de sistema.
  2. Percentual livre no volume – Não definimos quanto irá ser usado para cache e sim quanto de espaço no volume deverá ficar livre. Pode parecer um calculo invertido mas não é por conta de outros arquivos que o mesmo disco contenha. Por exemplo, se o volume é de 100GB e contem outros arquivos totalizando 40GB e definirmos que queremos deixar 50% do disco livre, apenas 10GB será usado pelo cache (50% de 100GB=50GB sempre livre) e conforme o uso de outros arquivos aumentar que não sejam sincronizados, menos irá ter espaço para o cache.
    Dica: Por conta dessa dificuldade, prefira utilizar um volume dedicado para fazer o File Sync
  3. Cache apenas de arquivos acessados ou modificados a x dias – Vimos que temos a opção de preservar um percentual do disco. Mas e se arquivos antigos ocupam muito espaço não irá adiantar muito. Nesse caso do meu exemplo qualquer arquivo com mais de 60 dias irá automaticamente para o Azure e será deletado no disco do servidor, ganhando espaço livre mesmo que o percentual de cache ainda esteja disponivel.

Painel

Ao finalizar essa configuração já é possivel acompanhar a sincronização clicando no servidor:

Server sync

Assim que sincronizado, podemos usar os paineis de metricas abaixo da tela para criar alertas quando ocorrerem erros ou distorções:

Metricas

No meu exemplo posso utilizar uma regra que se o numero de arquivos sincronizados for maior que 100 para upload no intervalo de 15 minutos pode ser uma alteração em massa causada por uma cópia indevida ou mesmo um malware.

System Center 2019 e Windows Server 2019 – Upgrade in place II

Com o lançamento oficial do System Center 2019 semana passada agora já podemos testar a migração da versão final.

https://cloudblogs.microsoft.com/windowsserver/2019/03/07/coming-soon-microsoft-system-center-2019?wt.mc_id=4029139

Nova Politica de Versões

Na nova politica de versões do System Center, não haverá os canais Semi-Anuais como Windows.

Ou seja, você terá a versão 2019 por aproximadamente 3 anos com os updates que em geral ocorrem 3 vezes por ano.

Isso significa que diferente das primeiras versões que foram o 1801 e 1807, daqui em diante não teremos mais esse mesmo tipo de nomenclatura retornando ao antigo modelo de versões com updates (2019 UR 99).

Importante: System Center Configuration Manager continua com o canal Semi-Anual

https://docs.microsoft.com/en-us/system-center/ltsc-and-sac-overview?wt.mc_id=4029139

Executando o Upgrade

No mesmo documento acima, vemos o suporte para upgrade in-place que é garantido até as ultimas 2 versões.

Isso significa que os usuários das versões 2012 R2 precisarão primeiro fazer o upgrade para a 1801 e depois para o SC 2019.

Importante: System Center Configuration Manager terá as regras de update diferentes, dependendo do canal escolhido

Assim como o upgrade da versão 2016 para a 1801 foi tranquila e já demonstrei aqui http://www.marcelosincic.com.br/post/System-Center-2019-e-Windows-Server-2019-Upgrade-in-place.aspx, a migração do 2019 tambem foi bem satisfatória.

Todos eles precisamos apenas confirmar a instalação, apenas com excessão do SCOM e VMM que é necessário o upgrade de agentes.

O DPM não executei o upgrade pois atualmente utilizo o Microsoft Azure Backup que é um subset especializado para backup no Azure.

System Center Operations Manager (SCOM)

SCOM (2)

SCOM (3)

No caso do SCOM uma mudança é agora poder ativar pela interface no “About”, antes era necessário fazer pelo PowerShell com o comando Set-SCOMLicense.

SCOM (1)

Lembrando que no caso do SCOM é necessário autorizar o upgrade do agente para todos os servidores logo após a instalação. Caso não o faça continuará havendo comunicação, mas ele irá criar alertas constantes de aviso e novos recursos podem ocasionar falha nos agentes.

System Center Service Manager (SCSM) e System Center Orchestrator (SCO)

Literalmente nada precisou ser feito ou alterado e o mesmo aconteceu com o Orchestrator.

Service Manager (1)

Service Manager (2)

System Center Virtual Machine Manager (SCVMM ou VMM)

O VMM já exigiu um pouco mais de trabalho, pois é necessário rever as contas no “Run-AS” que agora limita contas locais e reinstalar os agentes.

No meu caso, fiz o exercicio de desinstalar para validar se apenas utilizando o banco de dados retornaria e funcionou!

VMM (1)

VMM (2)

VMM (3)

VMM (4)

Azure Virtual Datacenter (VDC) Parte II-Conceitos Básicos

No post anterior falamos sobre a migração para Cloud http://www.marcelosincic.com.br/post/Azure-Virtual-Datacenter-(VDC)-Parte-I-Migracao-AS-IS-e-TO-BE.aspx 

Neste post vamos entender os conceitos básicos, que são representados por esse diagrama:

image

Cada parte representa um dos pilares que sustentam um Datacenter Virtual:

  • Encriptação – Todos os dados trafegados dentro de um datacenter onde vários clientes se hospedam precisam ser protegidos de forma que um não tenha acesso aos dados de outros. Isso envolve criptografia de comunicação, discos e trafégo
  • Identity – Um modelo consistente de identidade onde os clientes consigam se logar e ver seus objetos com todos os recursos disponiveis. No caso do Azure isso é feito pelo Active Directory multi-tenant (multi locatário). Como já conhecido no mercado sistemas de diretório permitem que multiplas empresas estejam hospedadas e compartilhem o modelo de banco de dados e autenticação com total isolamento
  • Software-Defined Networks – Como hospedar vários clientes se todos querem ter o mesmo range de IP e se comunicam pelos mesmos conjuntos de cabos?
    Esse é o desafio das SDNs, permitir trafego isolado. No passado faziamos isso com o recurso de VLAN mas era limitado a 65535. Hoje isso é feito de forma lógica por usar recursos como o NVRE e outros onde os pacotes de rede são tageados (marcados) a quem pertence, similar ao que a VLAN fazia mas sem o limite de 32 bits.
    Isso permite que multiplos clientes tenha o mesmo range de IP 10.0.0.0/24, já que cada rede virtual recebe um diferente TAG nos pacotes, com a criptografia e identidade garantindo a confiabilidade na entrega dos pacotes de dados
  • Compliance – De nada adiantaria se ao migrar para um datacenter público você ficasse preso a padrões que só funcionam lá. As clouds publicas precisam adotar os padrões de mercado para as redes se comunicarem. Isso não quer dizer que a forma como o Machine Learning da Microsoft é codificado é igual ao Machine Learning da AWS, mas sim que a parte básica segue padrões de interoperabilidade.
    Por exemplo, uma VMs na AWS pode se comunicar por IP com uma VM no Azure ou no Google Cloud, pois todas usam os mesmos protocolos, mesmo que um provedor tenha serviços agregados diferentes.
    O mesmo vale para uma aplicação em Moodle ou SAP, se está no Azure ou AWS não importa pois seguem os padrões de rede e comunicação (interchange) identicos.
    Por conta do compliance que posso deixar metade dos meus servidores local e os outros espalhados em 3 diferentes datacenter publicos e todos se comunicando normalmente.
  • Logging, Audit e Report – Ao migrar de uma nuvem privada (local) para uma pública preciso saber os custos e ter certeza que meus dados estão seguros e acessados só pelos meus usuários.
    Aqui não estamos tratando de log, auditoria e reports para o cliente e sim a infra interna para que o provedor tenha certeza que não há vazamento de dados, quem fez cada operação e reportar isso quando necessário.
    Por isso os cockpits de provedores de cloud pública são gigantescos. Precisam controlar e serem capazas de se refazer em qualquer tipo de falha que ocorra.
    Os primeiros datacenters surgiram do conceito de hosting, ou seja você tirava os servidores do seu rack em casa para levar ao provedor onde a eletrica, links e segurança fisica ficam por conta deles. Nesse modelo toda a responsabilidade de comunicação, segurança lógica e relatórios é sua.
    No modelo público uma boa parte dos recursos são alocados para controlar os recursos, por exemplo ao criar o antigo Microsoft Azure Pack (atualmente descontinuado) várias VMs eram criadas com o objetivo de fornecer os itens de controle.

Conclusão

Nesse segundo post falamos sobre os componentes básicos que formam uma cloud pública.

Sinta-se seguro ao colocar seus dados nesses provedores, eles são preparados para garantir o isolamento e segurança dos seus dados.