Mulheres na TI: quantas você conhece?

WebCast

Estou aqui, às 23:30 de um domingo para lembrar que o nosso WebCast está chegando!!!

EU(Nane Flores – DBA), juntamente com Sulamita Dantas(DBA), Dani Marinho(Desenvolvedora) e Suh Moraes(DBA) resolvemos nos juntar para realizar um bate-papo que  irá ocorrer no dia 06/06/2017 (Terça-Feira) sobre as mulheres no mercado de trabalho de TI. Falar sobre os nossos desafios, dia a dia, contar como que chegamos onde estamos e desenvolver uma conversa descontraída de forma a encorajar cada vez mais as mulheres virem para esta área. É mostrar que temos um belo espaço nesta área linda!

Segue um pouco da descrição do nosso WebCast:

“Este WebCast tem o objetivo de mostrar para as mulheres, que esta área não é um bicho de sete cabeças, fazendo da TI uma opção a mais na escolha de sua profissão. Vamos mostrar como começou nossas carreiras, o nosso dia-a-dia no trabalho, de forma a incentivar/inspirar outras mulheres. Mostrar que, cada um tem um espacinho nessa área, que cresce cada vez mais, mas que a participação feminina ainda é muito pequena. Lembrando sempre, que todas (e todos, é claro) são muito bem vindos! Vai perder?

Link do evento aqui .

Esperamos todos vocês para este bate-papo, com o objetivo de enriquecê-lo cada vez mais.

[SQLServerDF] Encontro XXXV – Cenário das plataformas de dados para 2017

No final do mês de maio, acontecerá mais um encontro do grupo e, desta vez, será no Carcassonne Pub [1] a partir das 19:30. Faremos uma sessão num estilo menos formal do que estamos habituados, aproveitando o happy hour para falarmos sobre tecnologia. Este formato é inspirado em eventos como a Confraria0day [2] e o Pint Of Science [3] que buscam a divulgação do conhecimento de forma acessível em um ambiente descontraído.

O Carcassonne Pub é um estabelecimento que oferece uma culinária mediterrânea, jogos e cervejas especiais. Em nossa parceria com o pub, contaremos com a infraestrutura local tanto para a apresentação quanto para o happy hour. Dito isso, é importante ressaltarmos alguns pontos:

  • O Carcassonne Pub estará em funcionamento regular, ou seja, apesar de termos uma área reservada para o encontro, haverá clientes do pub também;
  • A entrada para o encontro é gratuita, no entanto, caso você tenha interesse em ficar após o encontro para desfrutar dos jogos, será cobrado o valor de R$15 da entrada;
  • Não há consumação mínima. Um dos intuitos do encontro é promover o conhecimento de forma gratuita, por isso não é obrigatório o consumo de qualquer produto do pub.

Lembramos que NÃO é necessário confirmar participação através do SQLServerDF. No entanto, incentivamos toda e qualquer participação na nossa lista de discussão. Para aqueles que ainda não estão no grupo, é só acessar http://groups.google.com/group/sqlserverdf, fazer sua inscrição e aguardar a moderação.

Data e horário: 31/05/2017 das 19:30 às 21h30

Local: Carcassonne Pub, CLN 203, Bloco C, Loja 37

Palestrantes: Raul Diego de Queiroz Oliveira e Gustavo Moura Fé Maia

Título: Cenário das plataformas de dados para 2017

Descrição: Nesta sessão, veremos algumas das novidades para 2017 das plataformas de dados, como o processamento paralelo massivo do Greemplum, funcionalidades novas e outras nem tão lembradas do MySQL e do PostgreSQL e as tecnologias de Adaptive Query Processing do SQL Server vNext entre outras novidades.

Mini-cv dos palestrantes:

Raul Diego de Queiroz Oliveira é profissional de tecnologia há 10 anos, atualmente um database geek, DBA multiplataforma, curte tecnologias Microsoft e adora transitar no open source. Estuda desenvolvimento, DevOps e as várias buzzwords que aparecem diariamente. Além de DBA, é instrutor e palestrante e participa ativamente das comunidades técnicas, em especial a de SQL Server

Gustavo [Guzz] Moura Fé Maia é um SQL Geek viciado em automatização e performance tuning. Trabalha com SQL Server desde 2012 e se tornou DBA em 2013. É um dos autores do blog Comunidade SQL Server onde gosta de escrever sobre programação em T-SQL, replicação e segurança. Quando não está com uma caneca de café, lendo e escrevendo sobre SQL, está com uma caneca de café fazendo outra coisa.

LINKS

[1] http://www.carcassonnepub.com/
[2] http://confraria0day.com.br/
[3] http://www.pintofscience.com.br/

SQL Saturday Brasília 2017

Em exatamente três meses, 19/08/2017, acontecerá em Brasília o SQL Saturday 618. Caso não conheça, este é um evento gratuito da comunidade técnica para a comunidade onde diversos profissionais da área compartilham seus conhecimentos.

SqlSat618

“Estou começando agora, devo participar?” Claro! As palestras são dos mais diversos assuntos e vão do nível iniciante até o avançado. É uma oportunidade única de participar de um treinamento sem desembolsar nada. Além disso, o networking deste evento é fantástico! Participe!

“Legal! Preciso me inscrever para participar?” Sim! O processo é bem simples: basta acessar este link (ou clicar na imagem acima) e realizar a inscrição. Você receberá um e-mail de confirmação e pronto!

Espero você lá! =D

Novo membro da MTAC Brasil

Uma das coisas que mais me fez crescer profissionalmente nos últimos anos, foi a comunidade SQL Server. O próprio nome deste blog surgiu como uma homenagem a ela e também a todos os geeks que gostam de compartilhar um pouco do seu conhecimento através de artigos, papers, sessões, palestras… Ou aos que param alguns minutos para tirar dúvidas de outra pessoa que muitas vezes não conhecem. Este espírito de dividir experiências é o que faz com que tenhamos acesso a um conteúdo de qualidade de forma gratuita. Foi buscando este ideal que me juntei à MTAC Brasil.

logogrande

A associação MTAC, ou Multi-Plataform Technical Audience Contributor, é uma ONG que busca principalmente colaborar com a comunidade técnica através de ações inteiramente gratuitas envolvendo eventos presenciais, sessões em vídeo, blogs técnicos, participação em fóruns, entre outros.

Então além de anunciar minha participação nesta associação, estendo o convite para você que já contribui ou tem vontade de contribuir com a comunidade, mas não sabe como. Venha participar da MTAC Brasil!

Novo curso: Como proteger seus dados com Always Encrypted

Depois de uma semana ministrando um treinamento em Minas Gerais, as tão merecidas férias chegaram e com elas uma novidade: o lançamento do meu mini-curso sobre Always Encrypted no DevMedia!

Os leitores que nos acompanharam no ano passado sabem que venho falando sobre esta feature do SQL Server 2016 durante algum tempo. Aproveitando o embalo e a oportunidade, gravei para o site DevMedia um curso dinâmico com 13 módulos sobre Always Encrypted. Neste curso eu abordo alguns tópicos como:

  • Criação e armazenamento de certificados;
  • Criação de chaves criptográficas;
  • Criptografia de conteúdo usando Always Encrypted;
  • Implantação do Always Encrypted com separação de papéis;
  • Limitações, restrições e impactos do Always Encrypted; e
  • Muito mais. =]

Se o assunto te interessa, veja o primeiro módulo gratuitamente neste link [1]. Caso queira ver o conteúdo programático completo deste curso, acesse este outro link [2]. E, claro, deixe suas impressões e seus feedbacks nos comentários.

[]’s

LINKS

[1] http://www.devmedia.com.br/articles/viewaula.asp?idcomp=37767&topico=4156

[2] http://www.devmedia.com.br/curso/sql-server-como-proteger-seus-dados-com-always-encrypted/1931

HomeLab – Porque mudei para o Hyper-V

Há muito tempo atrás, numa galáxia distante, comecei uma pós-graduação em perícia digital. O curso era uma avalanche de informação técnica sobre redes e segurança e estava tão relacionado ao meu trabalho do dia a dia quanto um curso de barista: Ambos são muito bacanas e podiam me trazer benefícios no ambiente de trabalho – quem não gosta de café na TI –, mas eu os faria apenas por interesse pessoal. No entanto, pouco antes de me matricular, descobri que o curso seria 90% em Linux e eu nunca havia mexido com esse pinguim.

Então, surgiu a necessidade de criar máquinas virtuais e a turma de perícia optou pelo Virtual Box. Confesso que me apeguei rapidamente ao VBox e, logo, estava usando ele em casa, no notebook e no trabalho. Pela linha de comando, ele é uma ferramenta flexível que atende muito bem às necessidades de um HomeLab. Através da interface gráfica, nem tanto.

Apesar disso, quando comecei a utilizar VMs para instalação de Failover Clustered Instances, me deparei com um bug da ferramenta. Sempre que as ferramentas de integração com o host (VirtualBox Guest Tools) estavam instaladas na VM, a instalação da FCI falhava. E é claro que muita gente deu de cara com esse bug [1]. Logo, como o meu foco era exatamente FCIs, resolvi tentar outra plataforma de virtualização.

O fato é que a maior ferramenta do mercado é a VMware. Porque não ir diretamente para ela? Depois do lançamento do PowerCLI [2], a integração entre host e guest era quase perfeita. Sem falar que ela sempre esteve no topo do mercado… Mas qual outra opção está próxima à VMware? O Gartner responde [3].

gartner_virtualization_2016

Hyper-V… Really?!

Fiquei tão surpreso de ver o Hyper-V em segundo lugar que fui pesquisar mais e descobri que ele tem crescido bastante nos últimos anos. E agora, Hyper-V ou VMware?

Em questão de compatibilidade, não tem o que comentar sobre o virtualizador da Microsoft. Com o crescimento dessa ferramenta nos últimos anos, fica difícil dizer que não vale investir o seu tempo nela. Apenas se ela tivesse algo como o PowerCLI…

HAIL POWERSHELL DIRECT!

Foi então que descobri a nova funcionalidade do powershell nos Windows 10 e Windows Server 2016: Powershell Direct [4]. Com ele, você é capaz de executar comandos diretamente nas VMs sem precisar de configuração de remote desktop, firewall ou rede… Não sei como demonstrar o quão simples e conveniente é este recurso senão através de um exemplo!

#Nome da VM
$VmName = "WS2016-DC"

#Credencial para logar na VM
$VmCredential = Get-Credential -Credential "$VmName\administrator"

#Executar comandos dentro da VM
Invoke-Command -VMName $VmName -Credential $VmCredential -ScriptBlock {
    #Capturar o adaptador de rede
    $NetAdapter = Get-NetAdapter

    #Renomear para facilitar identificação
    $NetAdapter | Rename-NetAdapter -NewName "LAN_NIC"

    #Atribuir novo IP ao adaptador de rede
    New-NetIPAddress -InterfaceIndex $NetAdapter.ifIndex `
        -AddressFamily "IPv4" `
        -IPAddress "11.1.1.1" `
        -PrefixLength "24" `
        -DefaultGateway "11.1.1.1"

    #Configurar o endereço do DNS
    Set-DnsClientServerAddress -InterfaceIndex $NetAdapter.ifIndex -ServerAddresses "127.0.0.1"

    #Renomear a máquina
    Rename-Computer -NewName "WS2016-DC" -Restart
}

Nesse script, estou entrando com as credenciais de administrador da minha VM – um prompt será exibido para que digite a senha – e usando o cmdlet “Invoke-Command” para rodar comandos diretamente na “WS2016-DC”. Tudo que está dentro de “ScriptBlock”, da linha 8 até a linha 27, será executado como se estivesse dentro do console do powershell da VM. Se você tem acompanhado a série de publicações do HomeLab, perceberá que o script executado é parte da configuração da minha domain controller [5]. Em outras palavras, preciso apenas criar a VM e posso realizar toda a configuração através do próprio host!

Depois de descobrir o Powershell Direct, as possibilidades são diversas! Hoje, tenho labs com diversas configurações de AlwaysOn (FCIs e AGs) completamente automatizadas, basta executar um script! Difícil é não se acostumar com as facilidades providas por este recurso… E é por isso que utilizo o Hyper-V hoje. E você, qual virtualizador usa?

LINKS

[1] https://www.sqlskills.com/blogs/jonathan/building-a-completely-free-playground-for-sql-server-4-creating-the-cluster/

[2] https://blogs.vmware.com/PowerCLI/

[3] https://www.gartner.com/doc/reprints?ct=160707&id=1-3B9FAM0&st=sb

[4] https://blogs.technet.microsoft.com/virtualization/2015/05/14/powershell-direct-running-powershell-inside-a-virtual-machine-from-the-hyper-v-host/

[5] https://comunidadesqlserver.wordpress.com/2017/01/02/homelab-crie-e-configure-um-dominio/

HomeLab – Crie um Storage Server com iSCSI Target usando Powershell

Quando começamos a testar soluções de alta disponibilidade em nosso home lab, logo damos de cara com uma realidade cruel: nem todos têm acesso à uma storage. Eu nunca tive… (Insira cara triste aqui).

Uma solução prática para esse problema é utilizar um iSCSI Target para entregar discos como um Storage Server faria. Desde o Windows Server 2012, esta tecnologia vem disponível como uma built-in feature. No entanto, antes de começarmos a codificar algo, vejamos o basicão sobre este recurso.

Nota: Estes scripts foram desenvolvidos e testados num ambiente Windows 10\Windows Server 2016 com Powershell 5.0. O funcionamento de cada cmdlet pode variar de acordo com a versão.

HTH DOES THIS WORK?

Um iSCSI Target Server é um servidor que irá compartilhar discos virtuais através do iSCSI Target para outros servidores, chamados de iSCSI Initiators. Para um initiator se conectar a um target server, ele realiza uma iSCSI Connection sobre TCP/IP até o Target. O target é um objeto que possui registros de quais initiators podem se conectar a ele e também de todos iSCSI Virtual Disks associados. Estes discos virtuais são criados no target server e, depois, serão montados em um ou mais initiators. Acho que com um desenho fica um pouco mais fácil de entender.

iscsi-target

Neste caso, temos o initiator com dois discos virtuais montados como suas unidades F e G. Como boa prática – e para facilitar um bocado o gerenciamento –, é indicado nomear os discos virtuais de forma a identificar prontamente a quais estes estão associados. Os discos virtuais foram criados em cima da unidade Z do Target Server, mas poderiam ter sido criados em unidades diferentes.

Como a minha ideia é apenas te familiarizar com alguns termos e com o funcionamento desse recurso, vamos seguir em frente. No entanto, caso tenha interesse em começar a estudar sobre este assunto, sugiro começar por aqui [1].

READY TO WORK!

Agora que já entendemos um pouquinho sobre iSCSI Target, vamos à prática. Vou utilizar uma VM que sempre estará ligada para servir como iSCSI Target Server e, pra mim, esta VM é minha Domain Controller [2]. Ela servirá os discos para uma máquina chamada SQLNODE01 – é, bem original, eu sei… A configuração deste ambiente é a seguinte:

tabela

Na VM “WS2016-DC” temos a unidade Z que será usada para criar um disco virtual. Este disco será entregue ao “SQLNODE01” e montado localmente.

Incialmente, iremos até nosso iSCSI Target Server e instalaremos a feature de mesmo nome. Depois, criaremos o target que irá possibilitar a conexão dos discos com os initiators. Note que já iremos associar o endereço IP do SQLNODE01 ao target, mas este procedimento poderia ser realizado posteriormente. Em seguida, criaremos o disco virtual e vamos mapeá-lo ao target que criamos.

#Instalar a feature iSCSI Target Server
Install-WindowsFeature FS-iSCSITarget-Server

#Criar o Target e definir o Initiator que poderá conectar
$TargetName = "Sqlnode01-Target"
New-IscsiServerTarget -TargetName $TargetName `
-InitiatorIds "IPAddress:11.1.1.2"

#Adicionar descrição do Target
Set-IscsiServerTarget -TargetName $TargetName `
-Description "Target para servidor SQLNODE01"

#Criar disco virtual
$VhdPath = "Z:\iSCSIVirualDisks\SQLNODE01-F-SQLDATA.vhdx"
New-IscsiVirtualDisk -Path $VhdPath `
-Description "Disco usado para instância de SQLNODE01" `
-SizeBytes 100GB

#Mapear disco ao Target
Add-IscsiVirtualDiskTargetMapping -TargetName $TargetName -Path $VhdPath

Adicionei algumas descrições do target e do disco virtual para facilitar a administração desses objetos futuramente. Esses detalhes são opcionais, mas recomendados.

Agora, no SQLNODE01, precisamos configurar o serviço “Microsoft iSCSI Initiator” (MSiSCSI) para iniciar automaticamente com a VM e iniciá-lo para que possamos nos conectar ao target. Para isso, criaremos um portal apontando para o nosso target. Ao criar o portal, o target ficará visível e com isso conseguiremos nos conectar. É através desta conexão que teremos acesso ao disco virtual. Finalmente, basta inicializar o disco, criar uma partição e formatar.

#Configurar serviço para iniciar automaticamente
Set-Service -Name MSiSCSI -StartupType Automatic

#Iniciar o serviço
Start-Service MSiSCSI

#Criar portal para o Target
New-IscsiTargetPortal –TargetPortalAddress 11.1.1.1

#Recuperar e conectar-se ao Target
Get-IscsiTarget | Connect-IscsiTarget -IsPersistent $true

#Recuperar discos disponíveis através da conexão
$iSCSIVirtualDisk = Get-iSCSIConnection | Get-Disk

#Inicializar o disco e criar a partição F
$iSCSIVirtualDisk | Initialize-Disk -Passthru | `
New-Partition -DriveLetter F -UseMaximumSize

#Formatar o volume
Format-Volume -DriveLetter F -FileSystem NTFS `
-NewFileSystemLabel "SQLDATA" -AllocationUnitSize 64KB

Um detalhe que vale ser ressaltado: A flag “IsPersistent” foi marcada como “True” para que a conexão com o Target seja reestabelecida sempre que a VM for iniciada.

Pronto! Agora temos um Storage Server entregando um disco para a VM SQLNODE01 e que  também poderá entregar discos para todas as VMs em nosso Home Lab. Aproveito para deixar uma pergunta para você: Qual seria o procedimento se quiséssemos compartilhar um mesmo disco para mais de uma VM?

LINKS

[1] https://blogs.technet.microsoft.com/filecab/2012/05/21/introduction-of-iscsi-target-in-windows-server-2012/

[2] https://comunidadesqlserver.wordpress.com/2017/01/02/homelab-crie-e-configure-um-dominio