DevOps – PowerShell – The shell cannot be started.

Introdução

Esse artigo tem como finalidade apoiar a resolução dos problemas:

– Ao tentar executar um Deploy utilizando a instrumentação PowerShell ocorre o erro: A failure occurred durin Object reference not set to an instance of an object.

– Ao tentar executar o PowerShell localmente ocorre o erro: The shell cannot be started. A failure occurred durin Object reference not set to an instance of an object.

Causa

Esse erro ocorre devido a falta da chave de registro Enviroment em HKEY_CURRENT_USER.

Solução

Logue no computador usando o usuário que apresenta a falha. Em seguida abra o editor de registro e vá em HKEY_CURRENT_USER.

image

Em seguida crie a chave “Environment” em seguida insira os valores em “Expandable String Value” Value Name: TEMP Value data: %USERPROFILE%\AppData\Local\Temp e TMP %USERPROFILE%\AppData\Local\Temp

image

Importante: Se possível compare a chave de registro de mesma versão do Windows com outro usuário para inserir algum valor adicional, que pode mudar conforme a edição do Sistema Operacional.

Por exemplo:

– Windows 10

image

– Windows 2003

image

Observe que o caminho do diretório temporário muda conforme a versão do sistema operacional.

Windows Cloud – Storage Space Replica – Requisitos

Introdução

Esse artigo tem como objetivo explanar os requisitos para a implantação do Storage Space Replica.

Requisitos Gerais

– Windows 2016 Datacenter Edition;

– Active Directory (Autenticação Kerberos);

– Discos do Storage iniciados em GPT;

– Mesma geometria de discos e particionamento de discos;

– Espaço livre para logs;

– Não replicar paginação, SystemRoot, hibernação, arquivos de dump ou similares. Replicar apenas discos de dados envolvidos no Storage Space;

– Portas liberadas no firewall ICMP, SMB e WS-MAN (Windows Server Management);

Requisitos Storage Space Stretch

– Active Directory Domain Services (não precisa executar o Windows Server 2016);

– Pelo menos dois servidores com Windows Server 2016 instalados;

– Dois conjuntos de armazenamento compartilhado, usando SAS JBODs, Fibre Channel SAN, VHDX Shared, ou iSCSI Target. O armazenamento deve conter uma mistura de mídias HDD e SSD e deve apoiar Reserva Persistente;

– Configurações do armazenamento: Você vai fazer com que cada de armazenamento definido disponível para dois dos servidores somente (assimétricas). Cada conjunto de armazenamento deve permitir a criação de pelo menos dois discos virtuais, um para dados replicados e um para logs. O armazenamento físico devem ter as mesmas dimensões do setor em todos os discos de dados. O armazenamento físico devem ter as mesmas dimensões do setor em todos os discos de log;

– Pelo menos uma conexão 1GbE em cada servidor para replicação síncrona, mas de preferência RDMA;

– Pelo menos 2 GB de RAM e dois núcleos por servidor;

– Você vai precisar de mais memória e núcleos para mais máquinas virtuais;

– Regras de firewall e roteador adequadas para permitir ICMP, SMB (porta 445, além de 5445 para SMB Direto) e WS-MAN (porta 5985) o tráfego bidirecional entre todos os nós. Uma rede entre os servidores com largura de banda suficiente para conter seu escrever carga de trabalho IO e uma média de = 5 ms de latência de ida e volta, para a replicação síncrona. replicação assíncrona não tem uma recomendação de latência;

– O armazenamento replicado não pode ser localizado na unidade que contém a pasta do sistema operacional Windows;

Windows Cloud – Storage Space Replica – Tipos

Stretch Cluster

Cenário onde dois nós compartilham um conjunto de armazenamento e dois nós compartilham um outro conjunto de armazenamento e em seguida, a replicação mantém ambos os conjuntos de armazenamento espelhado no cluster para permitir o failover imediato. Estes nodos e o seu armazenamento deve estar localizado em locais físicos distintos, embora não seja necessário.

Diagram showing two nodes in Redmond replicating with two nodes of the same cluster in the Bellevue site

Cluster to Cluster

Nesse cenário você irá preparar esses computadores e armazenamento em uma configuração de cluster para cluster, onde um cluster replica seu próprio conjunto de armazenamento com outro cluster e seu conjunto de armazenamento. Estes nodos e o seu armazenamento devem estar localizado em locais físicos distintos.

Diagram showing an example environment with a cluster in the Redmond site replicating with a cluster in the Bellevue site

Server to Server

Você pode  configurar dois servidores para sincronizar dados de modo que cada um tem uma cópia idêntica do mesmo volume.

Diagram showing a server in Building 5 replicating with a server in Building 9

Windows Cloud – Storage Space – Introdução

Introdução

É uma tecnologia do Windows e Windows Server que permite que você virtualize o armazenamento através do agrupamento de discos de padrão industrial nos pools de armazenamento e crie espaços de armazenamento por meio da capacidade disponível nos pools de armazenamento. Este tópico apresenta uma visão geral da tecnologia e da nova funcionalidade Espaços de Armazenamento no R2 do Windows Server 2012 e aprimorada no Windows Server 2016.

Storage Space

A funcionalidade Espaços de Armazenamento possibilita soluções de armazenamento econômicas, de alta disponibilidade, dimensionáveis e flexíveis para implantações (físicas ou virtuais) críticas para a empresa. Os Espaços de Armazenamento fornecem recursos sofisticados de virtualização do armazenamento, que permitem que os clientes utilizem armazenamento padrão do setor para um único computador e implantações dimensionáveis com vários nós. Eles são adequados para uma grande variedade de clientes, inclusive corporações e empresas de hospedagem em nuvem, que usam o Windows Server para armazenamento altamente disponível que poderá crescer com a demanda a um custo compensador.

Com os Espaços de Armazenamento, a pilha de armazenamento do Windows foi essencialmente aprimorada para incorporar duas novas abstrações:

Pools de armazenamento. Uma coleção de discos físicos que permite agregar discos, expandir a capacidade de forma flexível e delegar a administração.

Espaços de armazenamento. Discos virtuais criados a partir do espaço livre em um pool de armazenamento. Os espaços de armazenamento possuem atributos como nível de resiliência, camadas de armazenamento, provisionamento fixo e controle administrativo preciso.

Storage Space Replica

Funcionalidade disponível no Windows Server 2016, que tem a capacidade de replicar volumes inteiros a nível de bloco de forma síncrona ou assíncrona.

Este recurso serve para cenários de recuperação de desastres em que é necessária uma cópia de segurança “online” para um rápido failover em caso de uma grande catástrofe.

Storage Space Direct

Feature semelhante a um RAID, mas em nível de software. O Storage Spaces do Windows Server 2016 tem acapacidade de construir um sistema de armazenamento altamente disponível usando discos ligados diretamente a cada nodo de um Cluster.

DevOps – Dicas para um HA e DR Efetivo com o Microsoft SQL Server – Desenvolvimento

Como sabemos, o Microsoft SQL Server 2014 e agora o Microsoft SQL Server 2016 possuem diversas features como:

– Aumento do desempenho em querys;

– Maior gerenciamento de memória e processador;

– Melhoras no AlwaysOn, garantindo maior disponibilidade;

– Melhor gerenciamento de memória;

– E muitas outras features.

Maiores informações podem ser vistas no link: https://msdn.microsoft.com/en-us/library/bb500435.aspx

Mesmo assim, temos que ter alguns cuidados ao desenvolvermos nossas aplicações que utilizam esse sistema de banco de dados pois, além de determinadas features estarem apenas nas edições mais avançadas que consequentemente custam mais, muitas das features não conseguirão realizar “milagres” em sua aplicação, e mesmo que consiga, sua aplicação terá um custo elevado e menos atrativo ao cliente final, pois demanda de um investimento pesado em software, hardware e gerenciamento.

Por exemplo:

Um banco de sua aplicação extremamente fragmentado, não irá ficar mais rápido com aumento de IOPS em seu ambiente;

Um banco de dados com tamanho elevado exige maior plano de DR (Disaster Recovery) e consequentemente necessidade de locais redundantes para ativações de replicação, necessitando de uma maior infraestrutura com link, IOPS e memória.

Também exige mais recursos para um HÁ (High Available) efetivo devido ao tempo de recuperação do banco de dados no momento de um HA via Cluster Failover;

Um banco de dados com tamanho elevado pode ocasionar lentidão no processamento e consulta de dados do Banco de Dados, sendo necessário constantes manutenções de limpeza, alterações no código da aplicação, entre outras situações;

Dificuldade em sua aplicação trabalhar em ambientes compartilhados ou em nuvem, devido a quantidade de dados e forma de processamento, dificultando a implantação em clientes (on-premise) e em Cloud (Azure e AWS), desde de manutenção e gerenciamento, até preços, etc.;

Sendo assim, segue algumas dicas para análise e considerações que auxiliará o time de Infraestrutura na gestão de DR e HA, oportunizando um RTO (Recovery Time Objective) bem alinhado com seus clientes e parceiros de negócio.

Separar Banco de Dados de Processamento/Configuração/Armazenamento

– Vantagens:

· Priorizar os bancos de processamento em instâncias que possuam mais velocidade, memória e disco;

· Planos de backup diferenciados, entre os bancos de dados, por exemplo banco de processamento, pois seus dados são mais voláteis e descartáveis;

· Recuperação de desastre mais rápida, pois a restauração dos dados torna-se mais rápida, diminuindo o tempo de inatividade do cliente;

Manter dados voláteis nos Bancos de Processamento, com rotinas de limpeza ou manutenção

– Vantagens:

· Manter o banco de dados limpo, com tamanho reduzido, facilitando o backup e a recuperação de desastres

Separar Dados Anuais/Semestrais do Banco de Dados de Armazenamento em File Groups independentes

– Vantagens:

· Backups menores, devido a separação dos backups em File Groups;

· Separação dos File Groups em áreas nobres conforme os mais usados (por exemplo, consultas feitas no ano corrente, o File Group referente ao ano, pode ficar em uma unidade mais “premium”);

Outras práticas

Além das práticas recomendadas acima, que apoiará o time de Infraestrutura nos itens de DR (Disaster Recovery) e HA (High Available) dando condições de gerenciamento efetivo dos bancos e instâncias, gestão de backups eficientes e garantia maior de proteção de dados, há outras práticas que pontuo rapidamente, que merece ser inserido em outro post.

· Construção de consultas eficientes, evitando consumo excessivo de memória, disco e processador. Essas consultas podem ser avaliadas através do Database Engine Tuning Advisor

clip_image002

· Gerenciamento efetivo dos filtros de consulta dos clientes, parametrizando por exemplos os intervalos de períodos de consultas, forma de construção dessas consultas evitando-se trazer um volume de dados consideráveis e querys “caras” para o Microsoft SQL Server. Você pode avaliar as consultas no Monitor de Atividades.

clip_image004

· Mensagens amigáveis ao usuário, evitando-se replicação consultas via navegador;

· Rotinas de criação de índices, organização de dados;

· Proteção no banco de dados de armazenamento de documentos, evitando querys (dados apagados ou alterados) que possam comprometer os dados armazenados, pois dependendo da situação um backup pode não proteger;

E muitas outras práticas que estarei abordando de forma macro no próximo post.

No próximo post, darei pequenas dicas ao time de Operações para ter um HA e DR efetivo.

Até a próxima!

Alan Carlos

DevOps Summit 2016 – Microsoft SysInternals

facebook_devopssummitbrasil_euvou

Olá Pessoal!!

Não percam o DevOps Summit 2016 que acontecerá nos dias 06 e 07 de Maio na Microsoft em São Paulo!

Para quem não sabe o DevOps Summit é a união dos eventos ALM Summit e Azure Summit ou seja, dois eventos em um só! É muito conteúdo de qualidade! Não percam!

Para se cadastrar acesse o link e faça sua inscrição: Clique aqui para fazer sua inscrição!

Palestra: DevOps Analisando o Comportamento de Aplicações Usando o Microsoft SysInternals

Eu estarei palestrando sobre como analisar sua aplicação on-premise ou na Nuvem usando o Microsoft SysInternals!

Para quem não sabe SysInternals é um pacote de ferramentas para Desenvolvedores e IT Pros desenvolvido pela Microsoft (Mark Russinovich) para auxiliar no gerenciamento, solucionar problemas e diagnosticar situações em seus aplicativos e sistemas Windows. São ferramentas amplamente utilizadas pelos Premier Field Engineering (PFE) e os Dedicated Support Engineering (DSE) da Microsoft e seus parceiros em DevOps, Desenvolvimento e IT Pro.

Nos vemos lá!

Alan Carlos

O que é o Programa MVP?

AAEAAQAAAAAAAAkuAAAAJGNmODk3Njc5LWU1MGUtNGViNC1iZGJiLWM2NjdkOTU1ZDU5NQ

Lembro como se fosse ontem… Eu estava em um intercâmbio de inglês, e um grande amigo meu, que admiro muito como pessoa e profissional, o André Dias (MVP) me chamou no Skype e escreveu-me: – Parabéns pela premiação MVP! Na hora achei que era brincadeira dele, e ele me disse: – Ops, acho que me adiantei. Mas na verdade a notícia estava no meu e-mail, eu que ainda não havia lido devido ao meu curso, não acessava meus e-mails com frequência (depois de 10 anos initerruptos trabalhando).

Naquele momento foi a maior realização profissional da minha vida, havia me tornado um Microsoft MVP (Most Valuable Professional). Imagine eu, uma analfabeto em inglês, tentando explicar minha felicidade aos meus colegas de curso (italianos, franceses, americanos, suiços, poloneses, rssss)

Eu que desde meus 08 anos de idade mexia em sistemas Microsoft (bom e velho BASIC dentro do MSX ligado em uma televisão de tubo). Carregava meus jogos em fita K-7 e “rezava” para que funcionasse para que eu e minha irmã pudéssemos jogar por horas e horas.

Depois de + de 20 anos de estudos, dedicação, apaixonado por computadores, sistemas Microsoft e tantos outros fabricantes, acabara de receber o maior prêmio que pode ser dado e conquistado por reconhecimento, não por provas de certificação, nem comprando cursos, logo eu, que nunca imaginei que poderia ganhar algo assim!

Mas enfim Alan, o que é esse prêmio Microsoft MVP?

O Programa MVP foi criado pela Microsoft para reconhecer os líderes comunitários que apoiam as comunidades, escrevendo artigos, participando de eventos, criando vídeos de divulgação, respondendo à foruns, sobre as tecnologias e soluções da Microsoft e interoperabilidade com outros sistemas.

“Comunidades técnicas desempenham um papel vital na aprovação e avanço da tecnologia e em ajudar nossos clientes a fazer grandes coisas com nossos produtos e serviços. Por mais de duas décadas, a Premiação MVP nos forneceu uma oportunidade para agradecer aos líderes comunitários independentes e para trazer a voz da comunidade em nosso roteiro de tecnologia através de relações diretas com as equipes de produto da Microsoft e eventos como MVP Global Summit.”
Por Microsoft

Como se tornar um MVP?

Embora não haja um ponto de referência para se tornar um MVP, em parte porque ele varia de acordo com a tecnologia e seu ciclo de vida, alguns dos critérios que avaliamos inclui o impacto das contribuições de um candidato ao fóruns on-line, tais como Microsoft Answers, TechNet e MSDN; wikis e conteúdo on-line; conferências e grupos de usuários; podcasts, sites, blogs e mídias sociais; e artigos e livros. As contribuições de cada candidato são comparados com os de outros candidatos, e MVPs ativos recebem o mesmo nível de análise que os novos candidatos a cada ano.
Por Microsoft

Quer saber mais sobre esse incrível programa? Acesse o site oficial e participe, quem sabe você não é o próximo a receber uma notícia incrível como essa?

Site Oficial – Microsoft MVP

Dúvidas? Me perguntem!

Até a próxima!