SAS 9.4 Infraestrutura Básica

IMAGE

Bom hoje irei realizar a escrita de um post um pouco diferente irei falar um pouco sobre a infraestrutura do SAS 9.4 um dos melhores softwares de analise que temos no mercado e como cada um dos seus servidores que compõem esta infraestrutura funcionam, será bem bacana para quem deseja iniciar neste mundo SAS principalmente na parte de administração do sistema.

Introdução

Bom para iniciarmos nosso post primeiro precisamos entender como o SAS 9.4 é dividido e não confundirmos ele com o SAS Viya que é um modelo de infraestrutura totalmente diferente, apesar de possuírem semelhanças no seu funcionamento.

A infraestrutura do SAS é divida em 3 e cada uma destas divisões possui sua própria responsabilidade dentro do ambiente em si as três divisões são as seguintes:

  • Servidor de Metadados
  • Servidor de Aplicação ( Compute )
  • Servidor Middle-Tier ( Web )

Bom sabendo desta divisão podemos então dar inicio as explicações do que se tratam cada um dos servidores e quais as suas responsabilidades dentro de um ecossistema SAS.

Metadados

O servidor de metadados SAS é o pilar mais importante da estrutura SAS 9.4, uma vez que ele é responsável por armazenar todas as informações do sistema como caminho para diretórios de dados, tabelas, libraries, usuários, além de muitas outras configurações que tornam possíveis muitas das funcionalidades SAS.

O metadados funciona através de um serviço chamado SAS OMA (Open Metadata Architeture), este método de funcionar faz com que ele armazene mais facilmente as informações de metadados do Sistema, além de tornar o funcionamento de todo ecossistema mais fácil e tranquilo de funcionar uma vez que utiliza o OMA para se comunicar com as outras aplicações do sistema.

Em uma visão mais simplista, o SAS 9.4 não funciona sem um servidor de Metadados pois ele é o coração do ecossistema.

O Metadados armazena as informações do sistema através de estes repositórios são caminhos físicos e possibilitam que varias formas de Clients realizem alterações e leitura nos dados que estão disponíveis para este servidor.

O servidor de metadados possui suporte para três tipos de Repositórios e cada um tem sua funcionalidade atribuída com clareza, os repositórios aceitos pelo Metadados são os seguintes:

  • Foundation Repository: Tem como responsabilidade armazenar as principais informações do sistema como por exemplo, informações de logins, grupos e ACT´s, todo servidor de metadados precisa possuir um repositório Foundation.
  • Project Repository: Responsável por armazenar dados de projetos de uma ferramenta de manipulação de dados SAS, chamada de Data Integration Studio, não é fundamental para o funcionamento do sistema por isso não é obrigatório em todos os servidores de metadados.
  • Custom Repository: Responsável por armazenar de maneira semelhante ao Foundation informações de metadados como por exemplo dados de segurança, tabelas e entre outros, também não é requisito obrigatório para a funcionalidade do Metadados.

Bom passando por estas partes estamos começando a entender como o metadados funciona, porem este é apenas uma introdução ao sistema de metadados que é muito mais amplo que isso e possui inúmeras funcionalidades sensacionais, mas entendendo este inicio você estará pronto para dar os primeiros passos.

Agora podemos passar para os outros dois tipos de servidores presentes na plataforma SAS 9.4.

Servidor de aplicação ( Compute Server )

Bom se podemos dizer que o servidor de metadados é o coração da plataforma SAS, o servidor de aplicação seria a cabeça da plataforma pois nele que todos os processos relacionados a tarefas do SAS acontecem, como execução de código, transformação de dados e entre outras funcionalidades sensacionais que ele apresenta.

Conforme já falamos ele é responsável pela execução das tarefas relacionadas a código e transformação de dados, mas ele não faz isso sozinho, vamos dizer que existem alguns “containers” que auxiliam ele a realizar isso, ou seja o servidor de aplicação em si não é só um servidor e sim um CONTEXTO de aplicação que possui auxilio de mini servidores para realizar os processos que deseja, entre os servidores que ele utiliza como auxilio para isso podemos citar dois mais importantes e mais utilizados que são eles os seguintes:

  • WorkSpace server: Este sem sombras de duvida é o mais importante do contexto, ele é responsável por criar uma instancia de servidor para cada cliente que faz a autenticação no Metadados, possibilitando para o usuário executar tarefas de “código” SAS, quando disse código isso abrange mais do que somente o código e o cliente esta possibilitando de utilizar todas as funcionalidades relacionadas a transformações de dados e criação de relatórios quando um WorkSpace server esta aberto em seu nome. Para iniciar uma instancia ele utiliza de um outro servidor chamado de Object Spawner, que é responsável por passar as informações do Metadados para que a instancia do servidor possa ser aberta de forma correta. O Object Spawner é outro componente essencial para que o ecossistema SAS funcione corretamente e ele funciona em conjunto com o contexto de aplicação do SAS.
  • Stored Process Server: Este servidor possui um papel importante na plataforma como um todo talvez não tão importante quanto o do WorkSpace Server, porem ele é responsável por rodar tarefas que foram desenvolvidas em SAS, e este servidor te ajuda com aquela task chata que você precisa rodar varias vezes e se torna maçante, para isso você pode armazenar estas tarefas em Processos armazenados e roda-las diretamente nele que serão muito melhor otimizadas em questão de performance, um exemplo que podemos citar aqui e a geração de relatórios através de analise de dados ao invés de roda-los manualmente você poderia armazenar isto em um processo e roda-lo no Stored Process Server.

Bom sabendo disso podemos afirmar que o Contexto de aplicação é o cérebro por trás de nossa plataforma SAS 9.4.

Então podemos partir para o nosso ultimo servidor, o servidor de Middle Tier, ou como é conhecido servidor de aplicações web SAS.

Servidor Middle-Tier ( Web )

O servidor de Middle Tier ou Web se é que podemos chamar ele assim é o grande responsável por todas as aplicações Web que rodam na plataforma SAS 9.4, ele utiliza um servidor HTTP para levar as aplicações SAS diretamente para o browser, Possibilitando assim que os usuários utilizem ferramentas diretamente do Browser sem ter a necessidade de instalar um cliente para utilizar o SAS em seu dia a dia.

Este servidor é um super pacote de variadas aplicações para que a plataforma SAS funcione na Web, nele possuímos aplicações responsáveis pelo Servidor HTTP, pelo cache e pelo ambiente web em si, precisamos entender cada um dos componentes que constituem esta estrutura e eles são os seguintes:

  • SAS Web Server: Responsável pela criação do servidor HTTP, e responsável por receber as requisições dos clientes web e processa-las para os respectivos serviços responsáveis por realizar estas requisições, este servidor e totalmente baseado em um servidor open-source chamado Apache, o que é uma estratégia inteligente para gerar economia e ao mesmo tempo trazer um servidor que é facilmente administrado por quem já possui alguma experiência com apache.
  • SAS Web Application Server: Responsável por compilar e gerar os códigos para que as aplicações Web SAS rodem em qualquer browser, ele é uma variante do TomCat, outra grande sacada do SAS para economia de recursos e para diminuir a curva de aprendizado para a administração do servidor, e só como curiosidade as aplicações SAS são desenvolvidas em Spring ( Java )
  • JRE ( Java Runtime Environment ): SIM, o SAS adiciona um ambiente java em seu pacote para rodar as aplicações baseadas em Java construídas com o Spring Framework, algo sensacional também!
  • Cache Locator: Como todo ambiente web o SAS também possui um gerenciador de cache para armazenar as informações interessantes em cache e no caso ele utiliza também um software Open-Source para isso e ele é o conhecido GemFire, mais uma vez uma grande sacada de arquitetura do SAS.
  • SAS Environment Manager: Bom chegamos talvez no serviço mais interessante que é implementado pelo Servidor Web do SAS, o EM, com ele você consegue monitorar todo seu sistema e sua plataforma SAS, ele faz isso através de agentes que coletam dados do sistema operacional e popular tabelas e logs que o SAS EM, lê e gera relatórios para que você pode analisar e monitorar o ambiente além de tudo isso ser em uma plataforma Web, ou seja sem precisar instalar nada em seu computador cliente, além de tudo isso temos também uma fermenta que podemos implementar para melhorar ainda mais o desempenho deste EM e gerar relatórios mais completos ainda, além de poder usar estes dados coletados para construção de relatórios graficamente mais bonitos com ferramentas diferentes do SAS, mas isso seria assunto para um próximo post.

Conclusão

Bom com isso podemos dizer que finalizamos de maneira bem superficial uma introdução ao ecossistema SAS, digo de maneira bem superficial pois podemos ir muito mais a fundo em cada um dos servidores o SAS é uma plataforma muito ampla e possui diversos níveis de configurações e diversas camadas “escondidas” uma dentro da outra e que posso abordar em algum outro post!

Bom para os mais curiosos estou deixando o link da propria documentação do SAS onde eles explicam de forma mais apropriada cada um dos serviços e toda a arquitetura da plataforma SAS 9.4

https://documentation.sas.com/doc/en/bicdc/9.4/biwlcm/home.htm