Serviços de gerenciamento de API – Portal Azure

O serviço da API Management, disponível no Portal Azure, é uma excelente escolha para a publicação de APIs a clientes externos ou outros departamentos da própria empresa.  Entre os principais benefícios estão: escala, segurança (chave, token e filtragem de IP), insights (logs, monitoramento e desempenho).

O diagrama mostra que desenvolvedores de aplicativos, aplicativos e distribuidores da API são inserido ao Gerenciamento de API do Azure por meio do portal do desenvolvedor, gateway e portal do distribuidor, que sai diretamente ou por VPN para serviços de back-end
Fonte: https://azure.microsoft.com/pt-br/services/api-management/

O Portal do Publicador disponibiliza a opção de Importar API ou criar manualmente, com exemplos práticos como a definição Swagger da API de Calculadora. Também há o Analytics que provém informações de uso e integridade. Já o Portal do Desenvolvedor interage através de documentações e credenciais para realizar chamadas. Também há

This slideshow requires JavaScript.

Na tela abaixo podemos visualizar no Portal do Publicador os principais gráficos de uso, integridade e atividades em diferentes visões (região, período, produto, operações etc.)

api-analytics.png

E o Portal do Desenvolvedor possui as seguintes áreas:

  • APIs: demonstra as APIs, URL, Request e documentações
  • Products
    • Starter: permite a execução de 5 chamadas por minuto até um máximo de 100 chamadas por semana.
    • Unlimited: acesso ilimitado a API.
  • Applications: lista de aplicações publicadas na seção de app do Portal

This slideshow requires JavaScript.

Por fim, navegue nos serviços disponíveis do API Management (Serviços de Gerenciamento de API):

  • Gerenciamento de API: adicione uma nova API – OpenAPI specification (interface to REST APIs), WADL, WSDL, Logic App, API App e Function App. Acesso aos portais (publicador e desenvolvedor), assinatura, produtos, usuários, grupos e análise.
  • Segurança: identidades, OAuth, etc.
  • Configurações: propriedades, escala e preços, rede virtual, domínios, SSL e script de automação.
  • Monitoramento: com Application Insights e visualização de métricas.

 

Wiki no VSTS – distribuindo informações nos seus times

Wiki é uma ótima escolha de tecnologia social para compartilhar informações, documentos, objetivos do projeto, entre outros no VSTS. Entre os principais recursos:

  • Distribuição da informação com referência ao backlog do VSTS
  • O formato markdown permite inserir imagens, formatações de texto, etc.
  • Utiliza o Git workflow para colaboração com a equipe e fluxo de trabalho de criação de páginas

Escolha então a criação de um novo Wiki ou Publish code as Wiki. A opção Create Wiki  (botão da esquerda), suporte apenas um Wiki no repositório Git para armazenar as páginas e artefatos relacionados.

create-wiki

Veja que podemos referenciar Work Items do backlog, assim como Epics, Features e Stories nas páginas do Wiki. É interessante que o log de revisões nas páginas é armazenado para identificar o autor de qualquer modificação.

wiki-vsts

Já na opção Publish code as Wiki, você pode manter diversos Wikis versionados no repositório Git configurado.

wiki-git

Há outras diferenças entre o Provisoned WikiPublish code as Wiki que podem ser vistas no link Differences between provisioned wiki and publish code as wiki.

wiki-differences

 

 

 

Utilizando Fork de repositórios no VSTS

Como funciona o Fork de repositórios no VSTS?
Por trabalhar com repositórios privados, a Fork do VSTS é uma cópia completa do repositório para a sua conta, incluindo os arquivos, commitsbranches. Funciona bem para manter o projeto original sem gravações, sugerindo a criação de um Fork para realizar as alterações e compartilhando-as com Pull Requests.

Por exemplo, uma equipe terceira que trabalhará em um projeto da sua empresa e você deseja que não tenha interferência no projeto principal. Pode-se criar uma Fork para isolar o repositório e fazer o pull request para o original. O Fork do GitHub é um pouco diferente, pois permite trabalhar também com repositórios públicos.

Utilize o conceito de Fork para times grandes e em situações como a de projetos open source,  em que o commit é realizado por uma alta quantidade de desenvolvedores casuais / não frequentes.  Desta forma, você mantém que somente core contributors possam realizar o commit diretamente no repositório. Em times pequenos (até 5 devs), a recomendação é trabalhar com um único repositório e políticas de branches.

O primeiro passo é criar o Fork (o botão está na tela inicial de Code > Files):

fork-vsts-01

Em seguida, escolha o nome para o novo repositório (clonado), o Team Project de destino e se a cópia será de todas as branches ou somente a principal.

fork-vsts-02.png

Após trabalhar na Fork e realizar o commit das alterações, podemos então fazer o Pull Request da aplicação.

fork-vsts-commitfork-vsts-pull-request

E por fim, clique em Complete para finalizar o Pull Request. Veja que a modificação da Fork foi aplicada no repositório original.

fork-vsts-pull-request-approve

 

Infrastructure as code – Benefícios e ferramentas como Azure Resource Manager

Infrastructure as code (IaC) vai muito além de utilizar linguagem de alto nível (descritiva) nas configurações e automações para provisionar a infraestrutura em seu ambiente corporativo. Trata-se de habilitar a escala, load balance, disponibilidade e performance exigidas por aplicações modernas.

É um ótimo approach no processo DevOps, envolvendo melhorias nas práticas de  CI (Continuous Integration): versionamento de código-fonte, provisionamento rápido e seguro de ambientes, uso de Docker, Cloud Computing, processo de deployment e infraestrutura de rede.

Iac
Fonte: Sam Guckenheimer

Entre as principais ferramentas que podem contribuir no IaC:

  • Azure Resource Manager: controle sobre múltiplos deploys de aplicações, gerenciando os recursos utilizados e acessos.
  • AWS CloudFormation: ferramenta com linguagem comum para provisionar recursos de infra em cloud e automatizar deploys.
  • Chef: permite criar “receitas” em Ruby (DSL), definindo os passos a serem executados para atingir a configuração desejada no servidor. Pode trabalhar com Azure, AWS ou Google Cloud Platform.
  • Puppet: outra ferramenta de gerenciamento de configuração que permite trabalhar com DSL. É mais direcionada a Sysadmins.
  • Ansible: ferramenta criada pela Red Hat, que modela sua infra gerenciando a relação entre os componentes. Não utiliza agentes.

Veja então como funciona o Azure Resource Manager, trabalhando a implantação, atualização ou exclusão dos recursos da sua solução (por exemplo, servidor de aplicação, BD e UI) como um grupo. Há uma camada de gerenciamento que permite realizar as tarefas utilizando o Azure PowerShell, CLI, Portal Azure, API REST e SDKs.

As ferramentas interagem com o Azure Resource Manager via API, que controla o acesso e autoriza as solicitações para o Resource Provider Contract.

azure-resource-manager

Por fim, vale relembrar algumas práticas recomendadas por Martin Fowler:

  • Utilizar arquivos de definição (shell scripts ou Chef receipts, por exemplo) para evitar mudanças manuais em servidores.
  • Auto-documentar sistemas e processos ao invés de instruções.
  • Versionamento de tudo (que for possível) para manter rastreamento e controle.
  • Continuously test systems and processes ajudam a encontrar erros rapidamente.
  • Frequência reduz a complexidade – quanto maior o tamanho do update na infraestrutura, mais difícil será detectar o erro, se houver.
  • Manter serviços continuamente disponíveis, com melhorias para evitar  downtimes. Técnicas como BlueGreenDeployment podem auxiliar nas atualizações com disponibilidade.

 

Portal OMS, Log Search e Azure Log Analytics

No último post falamos sobre o Operations Management Suite (OMS) do Azure e como melhorar o monitoramento, uso de recursos, coleta e análise de informações. Com o diretório do OMS criado e a fonte de dados configurada (VM, Computadores, etc.), acesse o Portal do OMS:

OMS-inicio-rapido

Há três principais recursos no Portal do OMS:

1. Log Search
Permite executar queries para extrair informações dos dados coletados.

OMS-log-search

Perceba que será direcionado ao Azure Log Analytics sempre que executar análises avançadas. Entre algumas queries que recomendamos:

  • search * –>  todos os dados coletados pelo OMS)
  • search * | summarize count() by Type –> agrupados pelo tipo
  • Event –> eventos gerados
    • | where TimeGenerated > ago(1h) | summarize count()
    • | where EventLevelName == “Error” or EventLevelName == “Warning”
    • | sort by TimeGenerated desc
  • Perf –> dados de performance
    • | where ObjectName == “Processor” and CounterName == “% Processor Time”
    • | summarize count() by ObjectName
    • | where TimeGenerated > ago(30m)
  • Alert –> OMS e SCOM alertas

OMS-analytics.png

Consulte o Docs Microsoft para mais informações.

2. Solutions Gallery
Agrupa a soluções de OMS que você pode adicionar e utilizar no seu ambiente. Entre os principais: Insight & Analytics, Automation & Control, Security & Compliance, Protection & Recovery.

OMS-solutions-gallery

3. Uso
Informações sobre o uso, neste exemplo da VM (máquina virtual) – volume de dados, computadores analisados, desempenho, latência, automação e nós de controle. Os detalhes podem ser obtidos com um clique em cima do gráfico.

OMS-uso

Por exemplo, clicando no gráfico “computadores enviando dados”, temos acesso aos detalhes da informação e execução das queries para obter a análise desejada.

OMS-log

 

 

 

 

 

Cadeia de valor e eficiência operacional de Marketplaces

Cadeia de Valor
Uma cadeia de valor representa o conjunto de atividades desempenhadas por uma organização desde as relações com os fornecedores e ciclos de produção e de venda até à fase da distribuição final, otimizando o valor final que o seu produto representa para o cliente (Porter, 1985).

Image result for porter cadeia de valor

Entre os conceitos-chave das Cadeias Globais de Valor estão:

  • Cadeia produtiva: foco nas “conexões” produtivas; custos de transação.
  • Cadeia de suprimento: foco nos fluxos de informação e operações de transformação ao longo da cadeia; gestão, coordenação e eficiência
  • Cadeia de valor: foco no valor adicionado pelas atividades ao longo da cadeia; competências e valor agregado

 

Eficiência Operacional
Engloba a prática de melhorar seus processos (atividades desempenhadas pela empresa), com o objetivo de chegar a um produto ou serviço de excelência. Entre os principais focos estão: redução de custos logísticos, gestão de transporte, armazenagem, estoque, previsão de vendas, S&OP, contratação de operadores logísticos e strategic sourcing.

Modelo de Excelência de Gestão (MEG) traz a orientação por processos como um dos fundamentos da excelência com foco em eficiência e eficácia nos conjuntos de atividades que formam a cadeia de agregação de valor para os clientes e demais partes interessadas.

Image result for MEG modelo excelência gestão

Em resumo, a Organização Funcional é orientada a gestão de processos; já as empresas com uma visão mais sistêmica são Orientadas por Processos.

Case Marketplace
Analisando um case de Marketplace, decidimos compartilhar uma sugestão de cadeia de valor e indicadores de eficiência operacional. 

cadeia-valor-marketplace.png

Três indicadores de eficiência operacional para uma Operadora de Marketplace:

  • Reputação do Seller: Como o seller é avaliado por seus clientes. Seu tempo de respostas à perguntas, tempo de entrega de seus produtos. Quantidade de produtos vendidos x avaliações negativas dos buyers.
  • Taxa de Cancelamentos e Desistências: Volume de cancelamentos que geram chamados no SAC x total de pedidos recebidos no mês.
  • Tempo médio de envio dos produtos: Soma do tempo de envio dos pedidos x número de pedidos.


Três indicadores de eficiência operacional para um Seller:

  • Taxa de conversão: Total de vendas por marketplace dividido pelo total de visitas na página de marketplace.
  • Desempenho por serviço: muitos lojistas firmam um contrato direto com os marketplaces e, paralelamente, também anunciam os produtos utilizando soluções como o Olist. Nesse caso é interessante comparar o resultado das duas estratégias de venda, priorizando o canal com melhor desempenho.
  • Quantidade de produtos vendidos: isso serve tanto para avaliar a competitividade da loja nos marketplaces quanto para ajudar na composição de um estoque sem ruptura. Definir metas mínimas de venda para cada item anunciado e procurar alternativas para otimizar o desempenho de produtos que ficaram abaixo do esperado.

 

Autores

Iniciando com Operations Management Suite (OMS) – Azure

Continuando a abordagem sobre monitoramento, coleta e análise de informações, vamos falar sobre o Operations Management Suite (OMS), plataforma de serviços para a área de DevOps gerenciar seus ambientes on-premise ou cloud.

Os componentes do OMS estão hospedados na Azure, e seus principais benefícios são: insights imediatos de workloads, controle e conformidade, proteção dos dados e disponibilidade. Contém quatro principais serviços:

  • Log Analytics
  • Azure Automation
  • Azure Backup
  • Azure Site Recovery

oms-tools

Basicamente, o OMS coleta informações de aplicações em diferentes servidores com configurações simples. Ajuda administradores de ambientes híbridos a ter visibilidade na mesma ferramenta da infraestrutura e operação. Funciona em qualquer serviço Cloud – Azure, AWS e VMware.

Pode identificar patches desatualizados, falhas de segurança, comportamentos anormais ou gerenciar disaster recovery de site. O dashboard é outro recurso interessante para visualizar o resultados de logs coletados e criar alertas de monitoramento.

A Azure dispõe de diversos serviços, onde a coleta, análise e telemetria ajudam a compor uma estratégia completa de monitoramento para sua aplicação. Abaixo, vemos como os componentes trabalham de forma conjunta para monitorar os recursos na Azure.

Monitoring overviewFonte: Docs Microsoft

E como começar a utilizar o OMS? Faça o login na sua conta MS e crie um novo  workspace no site Microsoft Operations Management Suite.

OMS

Em seguida, configure o workspace (nome, assinatura, grupo de recursos e localização).

OMS-espaco-trabalho

Escolha a aplicabilidade – VMs (máquinas virtuais) do Azure, Logs de conta armazenamento, computadores ou System Center Operations Manager.

OMS-log-analytics

No meu caso escolhi a conexão com a máquina virtual, conforme abaixo.

oms-vm

A partir disso, os dados coletados estarão disponíveis no Portal OMS ou no próprio Azure Log Analytics.

oms-overview