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

ALM–Quer saber tudo sobre ALM (Application Lifecycle Management)?

Quer conhecer mais sobre ALM (Application Lifecycle Management), Visual Studio e Dev? Separei alguns blogs e portais dos feras da área:

 

image   image   image image

 

Treinamentos Online Gratuitos

Microsoft Virtual Academy – ALM

Microsoft Virtual Academy – Visual Studio


Páginas e Portais

ALM Brasil

ALM Rangers

Technet Wiki Brasil – ALM


Blogs e Grupos

Blog do Adriano Bertucci

Blog do Alan Moraes

Blog do André Dias

Blog do Daniel Oliveira

Blog do Igor Abade

Blog do Ramon Durães

Blog do Robson Castilho

Blog BR Soluções

Blog Lambda3

Grupo ALM Facebook

Log mais coloco mais blogs e portais!

Um forte abraço a todos!

Alan Carlos, Wiki Ninja

Atenção, Atenção: Capacite-se!!!!!

Olá pessoal! Trago a vocês um artigo sobre como se preparar para o mercado de trabalho, capacitando-se nas tecnologias da Microsoft e saindo na frente, tornando-se um profissional capacitado e preparado para os desafios atuais da área de tecnologia da informações. Para quem não sabe, a Microsoft apoia totalmente a comunidade, desde o estudante que está começando, até o profissional que precisa se reciclar estando em constante aperfeiçoamento, e o melhor de tudo, com muito conteúdo gratuito!!! Smiley piscando 

Separei diversas ferramentas (dentre elas nossa poderosa ferramenta Technet Wiki) para disponibilizar portais, conteúdos, treinamentos, para desenvolvedores, testadores, administradores, analistas, técnicos, arquitetos, e todos os demais que adoram informática como eu!

– Students to Business

Começamos com o programa Students to Business.

O programa Students to Business é uma iniciativa da Microsoft, dos Parceiros da Microsoft e as principais universidades do país com o objetivo de capacitar estudantes nas áreas de TI e oferecer oportunidades de emprego.
​Para isso inclui diversas ações, sendo as principais capacitações gratuitas nas plataformas Microsoft e aproximação com empresas que buscam mão-de-obra com esse perfil. O programa é constituído de treinamento Online e também Presencial. Para o treinamento presencial, é necessário verificar disponibilidade na sua cidade. Para mais informações acesso o manual do aluno.

O Programa Microsoft Students to Business capacitou, até o momento mais de 100 mil estudantes em todo o Brasil, dos quais mais de 10.000 profissionais foram incorporados imediatamente no mercado de trabalho durante a feira de empregos.

Para se cadastrar, clique no link. Importante salientar que o programa tem ciclos, sendo que as matriculas ocorreram de tempos em tempos, então fique ligado!

– Microsoft Dreamspark

DreamSpark é um Programa da Microsoft que dá suporte a educação técnica fornecendo acesso a software da Microsoft para fins de aprendizado, ensino e pesquisa.

O DreamSpark é simples: ele se destina a dar a alunos ferramentas de designer e de desenvolvedor de nível profissional da Microsoft sem custo para que os alunos possam realizar seus sonhos e criar a próxima grande novidade tecnológica, ou apenas um bom início de carreira.

Trocando em palavras simples: Você tem todo o conteúdo (Visual Studio, Windows, etc.) gratuitamente para estudar!!!!!! Alegre

Para se cadastrar, clique aqui.

– Visual Studio Online

O Visual Studio Online, é o lar dos dados de seu projeto na nuvem. Coloque tudo em funcionamento em questão de minutos na infraestrutura em nuvem, sem precisar instalar nem configurar um único servidor. Configure um ambiente que inclua tudo, de repos Git hospedado e ferramentas de acompanhamento de projetos a integração contínua e um IDE, tudo empacotado em um plano mensal por usuário. Conecte-se a seu projeto na nuvem usando sua ferramenta favorita de desenvolvimento, como o Visual Studio, o Eclipse ou o Xcode.

Cada conta do Visual Studio Online é fornecida com cinco usuários do Basic gratuitos e inclui recursos mensais compartilhados para compilação e testes de carga (entendeu?! Grátis, mano, isso mesmo, grátis!!!). À medida que sua equipe se expande ou seus negócios aumentam, misture e corresponda planos e recursos de usuários para dar a cada usuário o que ele precisa.

Faça sua conta aqui!

– Microsoft Virtual Academy

Os tecnólogos bem-sucedidos nunca param de aprender e a tecnologia excelente nunca para de evoluir. A Microsoft Virtual Academy (ou MVA) oferece treinamento online da Microsoft realizado por especialistas para ajudar os tecnólogos a aprender constantemente, com centenas de cursos, em 11 idiomas diferentes. Nossa missão é ajudar desenvolvedores, profissionais de TI inteligentes e estudantes avançados a aprender sobre a mais moderna tecnologia, desenvolver suas habilidades e progredir em sua carreira. A MVA é gratuita, e o serviço inteiro é hospedado no Windows Azure.

Seja um membro da MVA para ganhar pontos em sua aprendizagem, atingir níveis diferentes de selos e status com relação a outras pessoas em seu país ou ao redor do mundo e obter certificados quando concluir um curso inteiro. Seu painel pessoal ajuda a acompanhar seu progresso com relação a seus planos de aprendizagem pessoais.

Para participar, clique aqui!

– Artigos do Technet Wiki

O Technet Wiki é um portal colaborativo poderoso, com materiais para as mais diversas situações, onde toda a comunidade de TI espalhada pelo mundo contribui de forma voluntária para ajudar a todos! Lembre-se que você pode ajudar também!

Nesse portal há artigos explicando passo a passo como instalar um ambiente Windows, como manter um ambiente Windows, instalação de soluções Microsoft, como desenvolver, dicas, entre outros assuntos.

Separei alguns artigos para ajudar você a se preparar, desde montar seu ambiente de estudos a conseguir descontos para certificações! Enjoy!!!!!

image

— Preparando um ambiente de estudos

Windows 8: Instalando o Hyper-V
Autor: Silas P

Instalando o Windows Server 2012
Autor: Luciano Lima

— Certificações

Como Agendar uma Prova de Certificação
Autor: Alan do Nascimento Carlos

Certificações MTA
Autor: Rogério Molina

Artigos sobre ALM (Application Lifecycle Management)
Autor: Vários

Especializações Microsoft Gratuitas no Microsoft Virtual Academy
Autor: Alan do Nascimento Carlos

Cursos Gratuitos Preparatórios para Certificação Windows 2012
Autor: Alan do Nascimento Carlos

Pesquise no Technet Wiki, e veja muitos outros artigos úteis!

Um forte abraço!

Alan Carlos
Technet Wiki Ninja

ALM – Dicas – Scrum – Dicas Para uma Reunião

 

A cada dia do Sprint o time faz uma reunião diária chamada Daily Scrum.

Essa reunião tem como objetivo disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho a ser realizado.

Características

– Normalmente são realizadas no mesmo lugar;
– Realizada na mesma hora do dia (preferência pela manhã, para estabelecer prioridades do dia);
– Todos os membros do time devem participar;
– Outras pessoas também podem participar, porém como ouvintes;
– Não é um fórum de discussão de problemas, apenas levantamento de pontos para discutir a parte no decorrer do desenvolvimento das atividades;
– Não é uma reunião de coleta de status, mas sim de compromissos que devem ser assumidos por cada integrante do time;
– O organizador é o Scrum Master (que também será um ouvinte na reunião);
– Duração de 15 minutos;
– Reuniões em pé;

Essa reunião deve responder as seguintes perguntas:

O que você fez ontem? (O que tem sido feito desde a última reunião? )
O que você fará hoje? (O que será feito antes da próxima reunião?)
Há algum impedimento no seu caminho? (Que obstáculos estão no caminho?)

Esses impedimentos o Scrum Master deve tratar, ajudando o time no que for necessário.

Como dizem os pais do Scrum, qualquer coisa diferente disso NÃO É SCRUM.

Referências

Professional Scrum Development with Microsoft Visual Studio 2012 p.21

ALM– O que é, Cursos e Consultorias–Parte 1/3

Olá pessoal,

Resolvi escrever esse post, pois percebo que ainda há muitas empresas com problemas ou dificuldades e desenvolver aplicativos de forma correta, sofrendo com prazos, incidentes, bugs, que por muitas vezes são desnecessários. Assim resolvi separar em tópicos cursos gratuitos, cursos pagos e empresas em que conheci os profissionais pessoalmente e tenho certeza que podem ajudar em muito sua empresa a desenvolver de forma correta!

Eu sou um profissional as vezes até muito cético em algumas tendências, pois elas vem e vão, mais algo que não até que não é novidade e me chamou muito a atenção foi o Application Lifecycle Management ou (ALM). Quando a Microsoft resolveu investir pesado nessa forma, oferencendo ferramentas, apoio, cursos, entre outros, percebi que estamos entrando em uma nova era de desenvolvimento e não devemos com certeza ficar para trás.

Então destaco-lhes:

O que é o ALM?

Gerenciamento de Ciclo de Vida de Aplicativos (ALM) é o casamento entre gerência de negócio com engenharia de software, que se tornou viável graças a ferramentas que facilitam e integram processos como análise de requisitos, modelagem de arquitetura, desenvolvimento de código, gerenciamento de mudanças, gerenciamento de testes e gerenciamento de versões de produtos realizados. Cada um destes processos faz parte de uma etapa de um ciclo de vida de um software.

Vantagens:

Aumento de produtividade: A equipe é estimulada a utilizar melhores práticas de desenvolvimento, reaproveitamento de código e otimização da utilização de recursos.
Aumento de qualidade: A capacidade de expor o projeto de forma clara tem como consequência a compreensão do escopo por parte da equipe e a consolidação dos objetivos da parte da area de negócio, permitindo a condução do projeto focado no produto pretendido. Gerencia as atividades de testes identificando os defeitos.
Melhora a interatividade através da colaboração e do bom fluxo da informação, incentivando a comunicação entre os membros da equipe, estando eles centralizados em um ambiente ou distribuídos geograficamente.
Acelera o desenvolvimento através de uma integração simplificada, distribuindo atividades de acordo com a situação e a necessidade do projeto e organizando os recursos, reaproveitando código e minimizando o retrabalho.
Reduz o tempo de manutenção sincronizando aplicação e modelagem e identificando automaticamente o impacto de mudanças de escopo.
Maximiza os investimentos em competência, processos e tecnologias.

Bom até a próxima!

Alan Carlos

Trabalhando com o Java no Team Foundation Server

Olá Pessoal,
Como sabemos, o Team Foundation Server (TFS) é um servidor de ALM (Application Lifecycle Management) poderoso da Microsoft, com diversos recursos para nos ajudar com nosso dia a dia em gerenciamento de nossos aplicativos.

Além dele, temos as outras soluções que compõem essa suite como o Microsoft Test Manager e o Visual Studio, porém o TFS também dá suporte a outras ferramentas como o Eclipse que tem como objetivo, gerenciar código fonte de aplicações feitas em Java.

Como conectar meu Eclipse no Team Foundation Server?

Para integrar o Eclipse em seu Team Foundation Server (TFS), é simples, para isso você precisará executar os seguintes passos:

Possuir o TFS em sua empresa, ou usar o TFS em nuvem http://tfs.visualstudio.com/;

Possuir o Eclipse e configurá-lo indo no menu Help – Install New Software

image

Clique no botão “Add” e em seguida digite:

image

Name: TFS Plugin for Eclipse

Location: http://dl.microsoft.com/eclipse/tfs

image

image

Clique em Next > Next > Finish.

Será necessário reiniciar o Eclipse.

Para acessar o Team Explorer, acesse o Menu: Window > Show View > Other > Team Foundation Server > Team Explorer.

image

Depois, clique em Conectar ao Team Foundation Server no rodapé:

image

image

A maioria das funcionalidades disponíveis no Team Foundation Service podem ser gerenciadas pelo Eclipse, como o Build, Work Item, etc.

Um abraço e até!

Alan Carlos