Categoria: Cloud

Cloud IT Management

7 razões pelas quais as pequenas empresas devem adotar Cloud Computing

Cloud Computing talvez seja a tecnologia mais eficiente da última década. Ela oferece uma alternativa versátil ao armazenamento e processamento local, já que a sua empresa pode armazenar informações e processar seus workloads em uma plataforma externa. Isso mudou a forma como as empresas competem no mundo atual, no entanto, isso se tornou uma parte tão normal de nossas vidas que, mesmo que você não perceba, provavelmente você está usando a nuvem. Na verdade, o uso da Cloud é muito comum no nosso dia a dia, por meio de mídias sociais, transações on-line e ao checar seus e-mails, por exemplo.

Existem grandes vantagens com a utilização da nuvem. É por isso que as taxas de adoção subiram consideravelmente nos últimos anos. Esses benefícios são especialmente importantes para startups e pequenas empresas.

Se você é uma pequena empresa ou startup e ainda não começou a usar de forma efetiva a nuvem, você definitivamente deveria começar a planejar a sua migração.

Neste artigo você entenderá como a nuvem passou de uma opção viável a uma necessidade moderna para empresas que queiram ter vantagens competitivas nos dias de hoje.

Custos iniciais mais baixos

Uma das primeiras vantagens da nuvem é a possibilidade de utilizar a mesma tecnologia que grandes empresas usam para manter sua vantagem competitiva, mesmo que você seja uma pequena empresa. Exatamente, mesmos alguns softwares que possuem um custo de aquisição extremamente caro, você tem a opção de pagar como serviço na nuvem, sendo a cobrança realizada por mês, hora ou minuto. Não importa se você precisa de um super computador para editar vídeos para produção criativa, um gerenciador de banco de dados extremamente robusto ou uma solução de e-mails e colaboração empresarial. Os custos iniciais associados a esses pacotes de software e suas licenças podem custar milhares de reais. Quando você tem um orçamento apertado, a melhor opção é ir para a nuvem, onde você paga uma taxa menor distribuída ao longo do tempo. Essa é apenas uma das muitas áreas nas quais a tecnologia baseada em cloud pode fazer a diferença entre o sucesso ou a falha financeira de sua empresa.

Acesso a qualquer hora, em qualquer lugar
Ser de fácil acesso é outro grande benefício sobre cloud computing. Você pode acessar a maioria dos programas e serviços a partir de qualquer dispositivo conectado à internet, usando um navegador da web ou aplicativo. Isso é ótimo porque agora você não precisa estar no seu escritório para poder trabalhar. Você pode acessar do seu laptop enquanto viaja ou em seu smartphone ou tablet durante o trajeto. O custo de acesso é vinculado à taxa de serviço periódica, o que permite certa economia de dinheiro, baseado no uso efetivo de cada serviço ou software.
Dimensionamento da Infraestrutura
Escalar sua infraestrutura baseada em cloud é uma maneira rápida e fácil de expandir seus negócios. Por exemplo, empresas de e-commerce possuem workloads imprevisíveis. Um aumento inesperado de popularidade pode sobrecarregar seus servidores, o que afetaria a experiência de seus clientes quando eles mais precisam. Uma das vantagens da nuvem é a elasticidade e escalabilidade que ela fornece, ou seja, quando você precisa de mais recursos, eles estarão lá para suportar uma possível sobrecarga ou o crescimento rápido do seu negócio. Isso beneficia a sua pequena empresa tornado-a mais eficiente, barata e responsiva à demanda. Como você paga apenas pela carga dos serviços necessários para manter seus workloads, seus custos podem ser redimensionados conforme o seu uso, o que lhe trará uma forma mais econômica de trabalhar. Isso faz com que o conceito de comprar servidores para suportarem seus workloads durante três, quatro ou cinco anos, de forma local, se torne uma coisa do passado.
Backups e Recuperação

A segurança da informação ainda é um grande obstáculo para as pequenas empresas. Como as ameaças evoluem rapidamente, as pequenas empresas geralmente não conseguem manter uma defesa completa de sua infraestrutura crítica. Isso é assustador porque, em 2017, um estudo conduzido pelo Better Business Bureau no Canadá e EUA, identificou que apenas 35% das empresas acreditavam que permaneceriam lucrativas por mais de três meses se perdessem acesso a seus dados críticos. Quando você armazena seus dados na nuvem, é possível criar mecanismos que garantirão resiliência do gerenciamento de informações e seus respectivos dados, além de poder utilizar soluções de Disaster Recovery de forma rápida e com um custo mais acessível.

Requisitos de Hardware Inferiores

Com a nuvem, também é mais fácil diminuir as despesas vinculadas à aquisição de hardware, uma vez que você não precisa manter seu próprio servidor. Você também não precisa investir em licenciamento de diversos softwares de uso local. Em vez disso, você precisa apenas garantir uma boa conexão com a internet para que seu acesso aos serviços na nuvem sejam realizados de maneira rápida e confiável.

Atualizações de software 

Nem todas as pequenas empresas conseguem manter um suporte técnico interno. Isso é algo que você não precisa mais se preocupar com o uso de algumas soluções em nuvem. Para Softwares como Serviço (SaaS), como o Office 365 e outros produtos que atuam em necessidades específicas, por exemplo, você não precisa pagar para que uma empresa ou pessoa instale e configure seu software, atualize em todos os dispositivos em intervalos regulares ou certifique-se de que ele seja compatível com seu sistema operacional. Tudo o que você precisa é de um simples navegador web ou aplicativo, o restante fica com o provedor SaaS. Nesse modelo, você nunca será pego usando uma versão de software antiga porque você não tem dinheiro para atualizá-lo, por exemplo.

Faça mais com menos

Sem dúvidas, o argumento mais forte para a adoção da nuvem por pequenas empresas é sua relação custo-benefício. Isso se dá, pois a cloud elimina a necessidade de armazenamento físico e de diversos profissionais de TI para manter sua infraestrutura local. Economias adicionais também são possíveis, pois com a nuvem você paga apenas pelo o que usa e quando usa. Isso evita que você pague pelo espaço de armazenamento e capacidade computacional que você precisaria para os próximos anos de forma antecipada. Em vez disso, você simplesmente ajusta sua capacidade de armazenamento e processamento junto ao seu Cloud Provider e, em seguida, paga de acordo com a sua demanda.

É claro que a nuvem traz diversos outros benefícios que não mencionamos neste artigo. Por isso, se você quiser entender, com mais detalhes, como a cloud pode ajudar a sua empresa a ir além, entre em contato com o nosso time de especialistas para ajudarem a sua empresa em sua jornada para a nuvem.

LER MAIS ARTIGOS

Acompanhe a Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Cloud Education Serverless

Cultura – Transformação Ágil – Desafios e caminho para o sucesso

Hoje falaremos sobre um tema que é comum para times de tecnologia: A Transformação Ágil. Em poucas palavras, se pudermos definir a transformação ágil, seria: estimular o conhecimento e o compartilhamento do mesmo, aprimorar processos internos, dar visibilidade às pessoas e entregar soluções com valor para o negócio. Se você acredita em tudo isso, então você acredita em transformação ágil.O mercado está vivendo a premissa: “Ou mude ou morra”, concorda? Cada vez mais empresas que tinham o seu mercado intocável, estão sofrendo com as inovadoras startups que vêm, literalmente, engolindo o mercado. Neste artigo, vamos citar algumas coisas para as quais uma equipe de projeto deve estar preparada ao migrar para o Agile.Transformação ágil. O que é?Apesar de numerosos estudos de casos provarem a sua eficácia, o que sabemos em torno do ágil ainda é um pouco nebuloso, gerando dúvidas devido às demandas não muito compreendidas e aplicadas de forma incorreta.Aspectos Chave na Transformação ÁgilOs benefícios da transformação ágil são:Mantenha as coisas simples, sendo criativoAgregue valor aos clientes continuamente, entregando software funcionalMitigue riscos através de sprints com timeboxEvite longas horas de trabalho / evitando estresseAprenda continuamente usando técnicas e ferramentas, seguindo as normas do manifesto ágilPontos de DorAlguns dos principais pontos problemáticos da aplicação da metodologia Ágil ao modelo offsite são:Mudança de mentalidade – O grande desafio na metodologia ágil é a mudança de mentalidade para mudar velhos hábitos. Isso requer orientação consciente até que a maturidade desejada seja alcançada. Para que isso aconteça, é indicado a realização de treinamentos com foco em agile, para que a organização passe a compreender as mudanças necessárias para avançar para o próximo nível.Reorganização – A transição para ágil requer uma definição de funções e a maneira como o projeto é executado. Os papéis tradicionais precisam evoluir / transformar. Os papéis devem ser mais multifuncionais do que especializados.Diferença de fuso horário e localidades – Um grande obstáculo na transformação ágil é ajustar a diferença de fuso horário. Como agilidade requer comunicação continua, é importante assegurar que a comunicação seja fluida, mesmo quando pessoas estão em cidades ou até mesmo países diferentes, com diferença de fuso horário.Mapeamento de funções – Na metodologia ágil, existem algumas funções que devem ser conhecidas por todos, como o Scrum Master, Product Owner e a equipe de desenvolvimento.Embora a metodologia ágil tenha como objetivo tornar a equipe enxuta e auto-organizada, ela ainda precisa das diferentes habilidades necessárias para que um projeto de TI se torne, efetivamente, bem sucedido.A ênfase aqui é tornar a equipe em forma de “T” para que cada membro da equipe tenha uma habilidade primária e desenvolva habilidades secundárias em paralelo.Uma versão típica sobre ágil e como evitar a interferência de “velhos hábitos”A seguir, vamos mostrar um fluxo típico quando falamos sobre a metodologia Agile.Roadmap de lançamento – O roadmap de lançamento proporciona uma visão panorâmica de um produto mínimo viável (MVP), que será lançado. A velocidade da equipe, dando prioridade ao negócio, são levadas em consideração nesta fase de preparação do roadmap de lançamento.Backlog grooming / refinement – Este é um processo contínuo em que as histórias de usuários são gradualmente finalizadas com base na prioridade.Durante esse processo, as seguintes ações são executadas:As histórias de usuários são formuladas com um objetivo e critérios de aceitação.Suporte (como mockups, metadata mapping) são enviados para histórias de usuários.As subtarefas técnicas necessárias para conclusão de uma história do usuário são identificadasAs histórias de usuários são divididas se não puderem ser completadas em um terço de um sprint.Ao contrário da metodologia tradicional de cascata, o trabalho de desenvolvimento começa cedo e a equipe não descansa até que todos os requisitos sejam cumpridos.Execução de SprintA execução do sprint começa com o planejamento do sprint, onde toda a equipe concorda com o escopo do sprint. O escopo do sprint é bloqueado durante a execução do sprint. O sprint é geralmente de duas a quatro semanas e produz um recurso completo e independente que agrega valor ao negócio.Durante o sprint, a equipe completa as user stories (histórias do usuário), uma de cada vez. Quaisquer impedimentos são destacados para o scrum master. Se uma história de usuário não atender aos critérios de aceitação parcial ou totalmente, ela será movida para o próximo sprint.Ao contrário da metodologia tradicional, em cascata por exemplo, o sistema evolui e reflete essas necessidades e prioridades de negócios em constante mudança.UAT – Durante a fase de UAT, os usuários finais de negócios testam o MVP de liberação e assinam os recursos. Durante essa fase, o feedback dos usuários finais de negócios é levado em consideração e definido como histórias de usuários para as versões subsequentes.Nesse estágio, é possível avaliar se a metodologia ágil foi bem-sucedida, avaliando se os recursos têm valor comercial real e, ao mesmo tempo, eliminam o desperdício.Versão de Produção – Como um pré-requisito para a versão de produção, os itens na lista de “Definição de Concluído” são revisados e marcados como concluídos. Uma reunião de retrospectiva é realizada após o lançamento da versão de produção para entender pontos problemáticos e áreas de melhoria.Mapa Mental ÁgilFerramentas e RecursosFerramentas de trabalho, como o JIRA por exemplo, são extremamente importantes para a execução de projetos ágil, uma vez que ele suporta diferentes metodologias ágeis como Scrum ou Kanban ou qualquer outra metodologia customizada. A ferramenta deve suportar os quatro pilares da metodologia ágil.Planejamento de sprintStand-upsGerenciamento de SprintsRetrospectivaDevOpsOs métodos DevOps, em combinação com metodologias ágeis comprovadas, podem ajudar a cumprir os princípio de agilidade.BenefíciosEquipe de desenvolvimento – A equipe de desenvolvimento tem a oportunidade de preparar os requisitos com frequência e destacar o feedback e as restrições. A carga de trabalho fica mais equilibrada e a equipe consegue automatizar as funções de rotina.Usuários finais – Os usuários finais conseguem fornecer feedback à medida que a aplicação evolui. Isso garante que a correção do curso seja feita no início de alguma funcionalidade que não funcione de acordo com as suas necessidades.Caminhos em direção ao futuroEstá ocorrendo muita inovação ao redor do Ágil e estas inovações continuarão a acontecer cada vez mais no futuro. As metodologias que giram em volta do Agile, podem ajudar as empresas a avançarem para o próximo nível. Alguns dos principais aspectos que ajudarão nessa transformação são:Modelos Mentais  – Construções de modelos mentais que ajudam a eliminar o preconceito humano para tomar melhores decisões. As falhas do projeto geralmente resultam da tomada de decisões erradas ou da incapacidade de enxergar a imagem real até que o problema de fato ocorra.Mentalidade ágil como um hábito – A mentalidade ágil é algo difícil de se alcançar, já que estamos acostumados a pensar e usar velhos hábitos prejudiciais. Assim, o aprendizado continuo é necessário para reforçar a verdadeira mentalidade ágil. Na maioria dos casos, o Agile falha quando as pessoas pensam que estão seguindo o Agile, quando em realidade não estão.Conhecimento indisciplinar – É comprovado o conhecimento interdisciplinar leva a insights profundos e dá origem a novas ideias. As equipes ágeis devem ser treinadas em habilidades com o objetivo de aprender “como aprender”.Automação – A automação de tarefas repetitivas pode liberar o tempo da equipe para concentrar seus esforços de maneiras criativas, aumentando a produtividade.Trabalho remoto – O trabalho remoto ajuda a alavancar recursos, o que contribuí para a construção da equipe certa em um curto período de tempo. Graças aos avançaos  na tecnologia, membros de equipe conseguem trabalhar em lugares distintos, garantindo a mesma produtividade que se estivessem on-site. n

LER MAIS ARTIGOS

Acompanhe a Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Cloud Education

Parte 2/3 – Learn: Desvendando o poderoso Kubernetes – Por dentro dos seus componentes

No artigo anterior, da nossa série sobre Kubernetes, você aprendeu sobre a origem do Kubernetes, o que são e para que servem os containers, pods e clusters. Neste segundo artigo, você vai aprender sobre os componentes do Kubernetes. Quais são eles, como funcionam e para que servem. Vamos iniciar falando sobre os componentes principais .. São os componentes principais que fornecem o controle do cluster, além de serem responsáveis por executar decisões globais sobre o cluster (por exemplo, agendamento), também detectam e respondem por eventos do cluster.Você pode ler também:How To: Executando o Elasticsearch no KubernetesAprenda sobre o papel que os Bots têm no DevOpsGerenciamento de Big Data: 5 coisas que você precisa saberOs componentes principais podem ser rodados em qualquer máquina no cluster. Para simplificar, os scripts de configuração normalmente iniciam todos os componentes principais na mesma máquina e não rodam containers de usuários nesta máquina.ETCD:O ETCD é o armazenamento de alta disponibilidade de informações chamadas de consistentes. Ele é utilizado como armazenamento de apoio para todos os dados de clusters do Kubernetes.Se o seu cluster de Kubernetes usa o ETCD como seu repositório de apoio, é importante vocÊ se certificar de que tem um plano de backup para esses dados.Kube-scheduler:O Kube-scheduler é o componente do master, ele observa os novos pods criados, que não possuem nenhum nó atribuído e permite que seja selecionado um nó para eles conseguirem rodar.Os fatores levados em conta para decisões de agendamento são: requisitos individuais e coletivos de recurso, hardware/software/contratos de política, especificações de afinidade e anti-afinidade, dados locais e interferência entre cargas de trabalho e prazos.Kube-controller-manager:Kube-controller-manager é o componente do master que roda os controladores. Pensando pela lógica, cada controle tem um processo diferente, mas para reduzir a complexidade, eles são compilados em um único binário e rodam em um único processo.Esses controladores incluem:Node controller: são responsáveis por noticiar e responder quando os nós caem.Replication controller: é responsável por manter o número correto de pods para cada objeto do controlador de replicação no sistema.Endpoints: preenche o objeto Endpoints (isso é, junta serviços e pods)Service Account & Token Controllers: cria contas padrão e tokens de acesso à API para novos ingressantes.Cloud Controller ManagerSão controladores que interagem com os provedores de cloud. O binário cloud-controller-manager é um recurso introduzido no Kubernetes versão 1.6.O Cloud Controller Manager executa somente loops de controlador específicos do provedor de cloud. Você pode desabilitar os loops do controlador definindo o sinalizador- cloud-provider como external ao iniciar o kube-controller-manager.O Cloud Controller Manager permite também que o código do fornecedor de cloud e o código de Kubernetes possa evoluir independentemente um do outro. Em versões anteriores, o código principal do Kubernetes era dependente de um código específico do provedor de cloud para funcionalidade. Os seguintes controladores que dependem de um servidor cloud:Node Controller: serve para checagem do provedor de cloud, para determinar se um nó foi deletado na cloud depois de parar de responder.Route Controller: serve para definir rotas na estrutura de cloud.Service Controller: para criar, atualizar e deletar balanceadores de carga do provedor de cloud.Volume Controller: para criar, anexar, volumes de montagem e interagir com o provedor de cloud para orquestrar volumes.Componentes dos nósOs componentes dos nós rodam em qualquer nó. O mantendo e rodando os pods e fornecendo o  ambiente de tempo de execução do Kubernetes.API do Kubernetes O Kubernetes é construído em torno de uma robusta API RESTful. Cada ação realizada no Kubernetes, seja comunicação entre componentes ou comando do usuário, interage de alguma forma com a API do Kubernetes. O objetivo da API é ajudar a facilitar o estado desejado do cluster do Kubernetes.A API do Kubernetes é um “modelo declarativo”, o que significa que se concentra no que, e não no como. Você diz o que você quer realizar e faz. Isso pode envolver a criação ou a destruição de recursos, mas você não precisa se preocupar com esses detalhes. Para criar esse estado desejado, crie objetos , que normalmente são representados por arquivos YAML chamados manifestos , e aplique-os por meio da linha de comando com a ferramenta kubectl .KubeletKubelet é um agente que roda em cada nó no cluster. O Kubelet leva um conjunto de PodSpecs que são fornecidos por vários mecanismos e garantem que os containers descritos nesses PodSpecs estejam funcionando e sejam saudáveis. O kubelet só gerencia containers que foram criados pelo Kubernetes.Kube-proxyO Kube-proxy é um proxy de rede que roda em cada nó do cluster. Ele permite a abstração do serviço Kubernetes, mantendo as regras de rede no host e realizando o encaminhamento de conexões.O Kube-proxy permite o encaminhamento de fluxo TCP, UDP ou round-robin TCP e encaminhamento UDP em um conjunto de funções de back-end.Tempo de execução dos ContainersÉ o software que é responsável por rodar os containers.O Kubernetes suporta vários tempos de execução de containers: Docker, containerd, cri-o, rktlet, e qualquer implementação do Kubernetes CRI.AddonsAddons usam os recursos do Kubernetes (DaemoSet, Desenvolvimento, etc) para implementar características do cluster. Como eles fornecem recursos no nível do cluster, os recursos com namespaces para os addons pertencem ao namespace do sistema kube.Como selecionar addons:DNSO Cluster DNS é um servidor DNS, além de outros servidores DNS em seu ambiente, que serve para registrar DNS nos serviços do Kubernetes.Enquanto os outros addons não são obrigatoriamente necessários, todos os clusters do Kubernetes devem ter o cluster DNS.Web UI (Dashboard)O Web UI Dashboard é uma interface de usuário, baseada em web, usada para clusters de Kubernetes. Ela permite que os usuários gerenciem e solucionem problemas de aplicativos em execução no cluster, bem como o próprio cluster.Container Resource MonitoringContainer Resource Monitoring é o processo de rastrear a operação de um aplicativo em container. Ele grava métricas genéricas de séries temporais sobre containers em um banco de dados central e fornece uma interface para o usuário navegar nesses dados.Cluster-level LoggingO Cluster-Level-Logging é responsável por salvar os logs de container em um armazenamento de log central, que funciona com interface de pesquisa/navegação.Você gostou do artigo? Continue acompanhando a série!No próximo artigo falaremos sobre cases de sucesso com Kubernetes. empresas que estão adotando Kubernetes como principal gerenciador de containers, e os resultados obtidos após esta mudança.

LER MAIS ARTIGOS

Acompanhe a Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Cloud Microsoft Azure

Kumulus Cloud & Data é premiada como Parceiro do ano em Cloud pela Westcon Americas

A Kumulus Cloud & Data, recebeu o Prêmio Cloud Partner of the Year (Parceira em Nuvem do Ano), da Westcon Americas, durante o Microsoft Inspire, que aconteceu em Las Vegas nesta terça-feira (16).

A Westcon é um dos principais canais de distribuição da Microsoft no mundo. O evento contou com a presença de todo time executivo da Westcon, que realizou a entrega dos prêmios que homenagearam as empresas que foram fundamentais para os resultados da companhia. O founder da Kumulus, Thiago Caserta e o CEO da Kumulus, Thiago Iacopini receberam o prêmio.

“Esse prêmio significa que geramos resultados incríveis tanto para a Westcon quanto para a Microsoft e que estamos no caminho certo para ser reconhecida como uma das principais empresas de Cloud da América Latina.” comenta Thiago Caserta, founder da Kumulus.

Fundada por ex-engenheiros da Microsoft, a Kumulus é uma empresa de tecnologia que apoia organizações, de qualquer tamanho e segmento, a adotarem estratégias eficientes para adoção de novas tecnologias com foco em nuvem e dados, com o objetivo de ganharem agilidade e se tornarem mais relevantes e competitivas no mundo atual.

Parabéns a todos os colaboradores que contribuíram para este reconhecimento tão importante para a Kumulus.

LER MAIS ARTIGOS

Acompanhe a Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Cloud Microsoft Azure

Learn: Data Warehouse, como isso pode ajudar a sua empresa a ir para o próximo nível

Conforme as organizações migram para a nuvem, a arquitetura de um Modern Data Warehouse (MDW) permite um novo nível de desempenho e escalabilidade. Um modern data warehouse permite reunir dados em qualquer escala com facilidade e obter insights por meio de painéis analíticos, relatórios operacionais ou análises avançadas.
Começando pelo início, o que significa Data Warehouse?
Data warehouse, traduzindo ao pé da letra: é um banco de dados de suporte à decisão, que normalmente é mantido separadamente do banco de dados operacional da organização. Data warehouse não é um produto, mas um ambiente. É uma construção de um sistema de informações que fornece aos usuários informações atuais e históricas de suporte à decisão, difíceis de acessar ou apresentar em armazenamento de dados operacionais tradicionais.

Data warehouse é o núcleo do sistema de BI que é construído para análise de dados e relatórios.

Data warehouse também é conhecido pelos seguintes nomes:

·         Sistema de apoio à decisão (DSS)
·         Sistema de informação executiva
·         Sistema de informação gerencial
·         Solução de business intelligence
·         Aplicação analítica
·         Armazém de dados


Como começou o Data warehouse
O Data warehouse nasceu da necessidade de armazenar e apresentar dados à medida que os sistemas de computadores se tornaram mais complexos e necessários para lidar com quantidades crescentes de informações.

Fatos curiosos sobre Data Warehouse ao longo da história:

· O Data Warehousing começou no final dos anos 80, quando o funcionário da IBM Paul Murphy e Barry Devlin desenvolveu o Business Data Warehouse.

· No entanto, o conceito real foi dado por Inmon Bill. Ele foi considerado o pai do data warehouse. Ele havia escrito sobre uma variedade de tópicos para construção, uso e manutenção do armazém e da Fábrica de Informações Corporativas.

· Em 1960 – Dartmouth e General Mills em um projeto de pesquisa conjunta, desenvolvem os termos “dimensões e fatos”.

·  Em 1970 – a Nielsen e a IRI introduzem data marts dimensionais para vendas no varejo.

· Em 1983 – A Tera Data Corporation apresenta um sistema de gerenciamento de banco de dados especificamente projetado para suporte a decisões.

Como funciona um Data warehouse?

Um Data Warehouse funciona como um repositório central onde as informações chegam de uma ou mais fontes de dados. Os dados fluem para um data warehouse a partir do sistema transacional e de outros bancos de dados relacionais.

Os dados podem ser:

Estruturados
Semi-estruturados
Dados não estruturados

Os dados são processados e transformados para que os usuários possam acessar os dados processados no Data Warehouse por meio de ferramentas de Business Intelligence, clientes SQL e planilhas. Um data warehouse mescla informações provenientes de diferentes fontes em um banco de dados.

Ao mesclar todas essas informações em um único local, os tomadores de decisão conseguem analisar seus clientes de maneira mais holística. O armazenamento de dados torna possível a mineração de dados.
Os 03 tipos de Data Warehouse
1. Enterprise Data warehouse: O Enterprise Data Warehouse fornece informações baseadas em dados que dão suporte à tomada decisão para toda a empresa. Ele oferece uma abordagem unificada para organizar e representar dados. Ele também fornece a capacidade de classificar dados de acordo com o assunto e dar acesso de acordo com essas divisões.

2.  Armazenamento de Dados Operacionais: O Operational Data Store, que também é chamado de ODS, é um armazenamento de dados necessário, quando nem o Data warehouse nem os sistemas OLTP oferecem suporte às necessidades de relatórios das organizações. No ODS, o data warehouse é atualizado em tempo real. Por isso, é preferido para atividades de rotina como armazenamento de registros dos funcionários.

3.    Data Mart: Um datamart é um subconjunto do armazagem de dados. É projetado para uma determinada linha de negócios, como vendas ou finanças. Em um datamart independente, os dados podem ser extraídos diretamente das fontes.
As 04 etapas gerais do Data Warehouse
No passado, as organizações iniciaram o uso relativamente simples de data warehousing. No entanto, com o tempo, o uso mais sofisticado de data warehousing começou.

A seguir estão as 04 etapas gerais de uso do data warehouse:

1. Banco de dados operacional offline: Nesse estágio, os dados são copiados de um sistema operacional para outro servidor. Dessa forma, o carregamento, o processamento e o relatório dos dados copiados não afetam o desempenho do sistema operacional.

2. Armazenamento de dados Offline: Os dados do Data warehouse são atualizados regularmente a partir do Banco de Dados Operacional. Os dados no Data warehouse são mapeados e transformados para tender aos objetivos do Data warehouse.

3. Data Warehouse em tempo real:  Nesse estágio, os data warehouses são atualizados sempre que qualquer transação ocorre no banco de dados operacional. Por exemplo, sistemas de reservas de linhas aéreas ou ferroviárias.

4. Data Warehouse integrado: Nesse estágio, os Data Warehouses são atualizados continuamente quando o sistema operacional executa uma transação. O data warehouse gera transações que são repassadas ao sistema operacional.
Componentes do data warehouse:
Os 4 componentes dos Data Warehouses são:

1. Load Manager: também é chamado de componente frontal. Ele executa todas as operações associadas à extração e carga de dados no warehouse. Essas operações incluem transformações para preparar os dados para entrar no Data Warehouse.

2. Warehouse Manager: realiza operações associadas ao gerenciamento de dados. Ele executa operações como análise de dados para garantir consistência, criação de índices e visualizações.

3. Query Manager: o gerenciador de consultas também é conhecido como componente de backend. Realiza todas as operações operacionais relacionadas ao gerenciamento de consultas de usuários. As operações desses componentes do Data Warehouse são consultas diretas às tabelas apropriadas para agendar a execução de consultas.

4. Ferramentas de acesso do usuário final: é categorizado em seis grupos diferentes, como:

a.     Relatório de dados
b.       Ferramentas de consulta
c.       Ferramentas de desenvolvimento de aplicativos
d.       Ferramentas EIS
e.       Ferramentas OLAP
f.       Ferramentas de mineração de dados
Data warehouse apoiando os tomadores de decisão
Gestores usam data warehouse como apoiador para a tomada de decisão baseada em uma grande massa de dados.

·      Usuários que usam processos personalizados e complexos para obter informações de várias fontes de dados;

·     Também é usado por pessoas que precisam de tecnologia simples para acessar os dados;

·   Também é essencial para as pessoas que querem uma abordagem sistemática para tomar decisões;

·   Usuários que precisam de  desempenho rápido em uma grande quantidade de dados, o que é uma necessidade para relatórios, grades ou gráficos, o data warehouse é útil.

Quais são os segmentos em que o Data Warehouse é utilizado?
O Data warehouse é utilizado em diversos setores importantes:

CIAs aéreas: No sistema de companhias aéreas, é usado para fins de operação, como atribuição de tripulação, análises de rentabilidade, promoções de programas de passageiros frequentes, etc.

Bancos: É amplamente utilizado no setor bancário para gerenciar os recursos disponíveis de forma eficaz. Alguns bancos também usam para a pesquisa de mercado, análise de desempenho do produto e operações.

Cuidados de saúde: O setor de serviços de saúde também usou o Data warehouse para criar estratégias e prever resultados, gerar relatórios de tratamento do paciente, compartilhar dados com companhias de seguros, serviços de assistência médica, etc.

Setor público: No setor público, o data warehouse é usado para coleta de informações. Ele ajuda as agências governamentais a manter e analisar registros fiscais e registros de políticas de saúde.

Setor de Investimento e Seguros: Nesse setor, o data warehouse é usado principalmente para analisar padrões de dados, tendências de clientes e acompanhar os movimentos do mercado.

Varejo: Nas redes de varejo, o data warehouse é amplamente utilizado para distribuição e marketing. Também ajuda a rastrear itens, entender padrões de compra de clientes, promoções e também é usado para determinar a política de preços.

Telecomunicação: Um data warehouse é usado para obter insights na criação de promoções de produtos, decisões de vendas e decisões de distribuição.
Os principais passos da implementação do Datawarehouse:

Melhores práticas para implementar um Data Warehouse
·    É importante montar um plano para testar a consistência, precisão e integridade dos dados.
·      O data warehouse deve estar bem integrado, bem definido e com registro de data e hora.
·    Ao projetar o data warehouse, certifique-se de usar a ferramenta certa, manter o ciclo de vida cuidar dos conflitos de dados e estar pronto para aprender seus erros.
·         Garantir a participação de todas as partes interessadas, incluindo as pessoas de negócios, no processo de implementação do data warehouse. Estabeleça que data warehousing é um projeto conjunto/equipe.
·         Prepare um plano de treinamento para os usuários finais.

Ferramentas de Data Warehouse
Existem muitas ferramentas de Data Warehouse disponíveis no mercado. Aqui estão algumas mais proeminentes:
1.       MarkLogic: O MarkLogic é uma solução que facilita e agiliza a integração de dados usando uma variedade de recursos corporativos. Ela ajuda a realizar operações de pesquisa muito complexas. Ele pode consultar diferentes tipos de dados, como documentos, relacionamentos e metadados.
2.       SQL Data Warehouse:  O SQL Data Warehouse é um EDW (Enterprise Data Warehouse) que aproveita o MPP (Massively Parallel Processing) para executar rapidamente consultas complexas em petabytes de dados. Ajuda a otimizar as experiencias dos clientes, aumentando a eficiência operacional.
3.       Oracle: Oracle é um banco de dados que oferece uma ampla gama de opções de soluções de data warehouse, tanto no local quanto na nuvem.
4.       Amazon RedShift: O Amazon Redshift é uma ferramenta de data warehouse. É uma ferramenta simples para analisar todos os tipos de dados usando SQL padrão e ferramentas de BI existentes. Ele também permite executar consultas complexas contra petabytes de dados usando SQL padrão e ferramentas de BI existentes.

LER MAIS ARTIGOS

Acompanhe a Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Cloud Microsoft Azure

3/3 – Learn: Azure Databricks – Visualizando os dados no Power BI

Neste terceiro conteúdo, da série de 3 conteúdos sobre o Azure Databricks, veremos como é possível visualizar dados do Azure Databricks no Power BI.

Como já vimos, o Azure Databricks é uma tecnologia poderosa que ajuda a unificar o processo de análise entre os engenheiros de dados e cientistas de dados, fornecendo um fluxo de trabalho que pode ser facilmente entendido e utilizado por ambas as disciplinas de usuários.

No entanto, na vida real, a necessidade de fornecer dados em um formato compreensível que forneça insights úteis amplia as necessidades dos engenheiros de dados e cientistas. Com isso em mente, como podemos esperar que profissionais de marketing, vendedores e executivos de negócios compreendam e utilizem plataformas de análises abrangentes, como o Azure Databricks, para realizar tarefas cotidianas?

Felizmente, podemos conectar nossos clusters dentro do Azure Databricks a ferramentas de BI, como o POWER BI. O objetivo deste conteúdo é ajudar você a entender a como usar tarefas do Banco de dados do Azure e do Power BI para Data Visualization e a como conectar clusters em Databricks ao Power BI.

Para esta demonstração, vamos usar Python para o trabalho de scripts dentro do Databricks. Há algumas bibliotecas de dados realmente interessantes que estão disponíveis em Python e mostraremos como você pode usá-las dentro de um bloco de notas do Databricks.

Vamos começar criando um bloco de notas em Python e carregar nosso conjunto de dados. Escreva o seguinte código:

# carregue nossos dados no Databricks
ourData = “/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv”

# crie um dataframe para os
diamantes de dados = spark.read.format (“csv”). option (“header”, “true”). opção (“inferSchema”, “true”). load (ourData)

Se a compilação foi bem-sucedida, devemos ver a seguinte saída:

Vamos utilizar os nossos dados para que possamos usar diferentes tipos de recursos visuais. Vamos dar uma olhada nos nossos dados primeiro apenas para ver com o que estamos lidando:

exibição (diamantes)

Devemos seguir a seguinte tabela em nosso bloco de notas do Databricks:

Como pode você pode ver, sempre que executarmos uma função display () em Databricks, obteremos um limite de 1.000 linhas em nosso conjunto de dados.
Visualizando dados em bancos de dados
Agora que temos nossos diferentes quadros de dados definidos em Databricks (digamos que 5 vezes mais rápido), podemos começar a experimentar diferentes tipos de dados visuais. Sabemos que colunas nós temos, que tipos de dados eles são e que tipo de dados está dentro do nosso dataframe de diamantes, então vamos começar com algumas agregações.

Vamos começar agrupando nossos diamantes por cor e mostrando seu preço médio. Vamos criar um novo quadro de dados para isso, escrevendo o seguinte código:

# Group por cor
diamonds_color = diamonds.groupBy (‘color’).
Exibição de avg (“price”) (diamonds_color)

Quando executamos nosso código, conseguimos uma tabela, mas você viu o botão do gráfico de barras na parte inferior da nossa tabela? Este botão nos permite visualizar nossos dados. Neste exemplo, usamos um gráfico de barras básico, mas analisaremos o que podemos fazer usando esse recurso.

No Azure Databricks, podemos criar diferentes tipos de visualizações, conforme no diagrama abaixo:

Nem sempre queremos que o resultado apareça no formato de um gráfico de barras.

Também podemos personalizar nossos gráficos usando “Opções de plotagem”

Este é um exemplo bastante básico, mas usando esse recurso, podemos personalizar os campos que queremos usar em nosso gráfico, as chaves, valores, grupos, tipo de agregação e como gráfico é exibido.

Vamos explorar outro exemplo. Escreva o seguinte código em outro bloco de código em seu bloco de notas de bibliotecas de dados:

# depth to carat
depthVcarat = diamonds.select (exibição “profundidade”, “quilate”)
(depthVcarat)

Nesse quadro de dados, queremos ver se existe uma relação entre a profundidade de um diamante seu valor de quilate. Vamos criar um gráfico de dispersão para ver se existe:

Agora que temos algumas visualizações legais em nosso bloco de notas do Databricks, podemos consolidá-las em um painel bem organizado.

Para fazer isso, podemos usar o meu suspenso em nosso bloco de anotações, onde está escrito: Código e clique em Novo painel:

Aqui podemos mover nossos recursos visuais para criar um painel assim:

Aqui podemos mover nossos recursos visuais para se adequar ao nosso painel. Os controles são bastante simples, podemos escolher um opção de layout (empilhada ou flutuada) e uma largura de painel.

Os painéis podem ser muito simples em Databricks ou podem ser mais sofisticados. Podemos fazer uma simulação rápida como a que acabamos de produzir ou adicionamos alguma complexidade a eles criando um trabalho agendado para atualizá-lo. Por exemplo, se criarmos um painel que ofereça recursos visuais para um trabalho de streaming, podemos criar um trabalho que atualize isso de vez em quando.

Embora as ferramentas de visualização no Databricks, sejam boas, elas não são tão abrangentes quanto o Power BI. Vamos conectar nossos dados ao Power BI agora.
Conectando as bases de dados ao Power BI Desktop
O Power BI fornece visualizações de dados interativos que permitem aos usuários criar relatórios e painéis. Como vimos no primeiro artigo da nossa série o Azure Databricks, você pode trazer os benefícios de desempenho para todos os usuários corporativos.

Você pode usar o DirectQuery para transferir as responsabilidades de processamento para o Azure Databricks, que lidará com as vagas quantidades de dados que não necessariamente queremos no Power BI.

O Power BI vem com um conectar Spark embutido que nos permite conectar aos nossos clusters em Databricks.  Para se conectar aos seus clusters, você precisará gerar um token de acesso pessoal no Databricks.

Primeiro, vamos salvar nosso dataframe de diamantes como uma tabela global dentro do Databricks. Tabelas globais estão disponíveis para todos os clusters.
# salvar dataframe de diamantes como uma tabela global
diamonds.write.saveAsTable (“diamonds”)
Vamos confirmar que nossa tabela foi criada, verificando nossa guia de dados:

Agora que salvamos nossa tabela, vamos conectá-la ao Power BI.

Primeiro precisamos obter nosso endereço de servidor JDBC (Java Database Connectivity). Vá para a interface do usuário de clusters e seleciona o cluster ao qual você deseja se conectar. Na página de edição, role para baixo e selecione a guia JDBC / ODBC.

Aqui, vemos vários valores que precisaremos para conectar ao Power BI. Você precisará de um endereço no seguinte formato:

https: // : / sql / protocol / o / /

As duas chaves no final estarão na sua caixa de texto URL do JDBC, portanto copie e cole esses valores.

Depois de ter o URL, vá para o Power BI e clique em Obter Dados na barra de ferramentas e clique em Mais…

Na caixa de dialogo Obter Dados, precisaremos procurar o conectar Spark (beta):

Clique em Conectar. Insira o URL que criamos anteriormente, use HTTP como o protocolo e selecione DirectQuery como o modo de conectividade de dados. Isso permitirá descarregar o processamento para o Spark (como explicado anteriormente).

Agora vamos precisar fazer o login no cluster, Use “token” como o nome de usuário e use o token para a senha (certifique-se de ter gerado um token antes de fazer isso)… clique em Conectar para se conectar ao seu cluster.

Podemos editar nossa importação de dados como faríamos com qualquer fonte de dados no Power BI ou podemos simplesmente carregar tudo. Vamos fazer o último! Clique em Carregar para começar.
Trabalhando com dados dentro do Power BI
Agora que nossa tabela Databricks está disponível para nós dentro do Power BI, podemos começar a criar algumas visualizações fantásticas e impressionantes.

Na guia “campos”, podemos ver nossa tabela que importamos junto com suas respectivas colunas:

Vamos tentar criar nosso gráfico de barras de preços médios por cor que fizemos no Databricks. Na guia de campos, marque as caixas de seleção de cor e preço para inserir esses campos em nosso painel.

Agora, queremos escolher um “Gráfico de Colunas Empilhadas” para nossa visualização. Precisamos alterar algumas coisas para deixar nosso gráfico com bom aspecto. Em nossa guia de visualizações, queremos definir nosso eixo como cor, escolher a cor para nossa legenda e definir o valor para a média da nossa coluna de preços. Deveria ser assim:

Nosso resultado final deve ser algo como o exemplo a seguir:

Este é um exemplo muito simples que criamos aqui, mas esperamos que você já conheça os fundamentos básicos da importação de dados do Databricks no Power BI.

Confira os dois artigos da série de artigos sobre a fantástica plataforma Azure Databricks:

Artigo 1:
Desvendando a fantástica plataforma Azure Databricks

Artigo 2:
Ambiente de produção e criando clusters em escala

fonte: medium

LER MAIS ARTIGOS

Acompanhe a Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Cloud Microsoft Azure

1/3 Learn: Desvendando a fantástica plataforma “Azure Databricks”

Neste primeiro conteúdo falaremos sobre o que é o Azure Databricks, como realizar a configuração inicial, como funciona a plataforma de análise com base no Apache Spark e mais …

Apresentamos o Azure Databricks, uma poderosa solução unificada de Big Data e de processamento escalável, que oferece inúmeros ganhos em relação a escalabilidade e performance.

A Azure Databricks oferece também a possibilidade de escrever em qualquer linguagem:

– R
– Python
– Scala
– SQL

O mais legal de tudo isso: é possível ter todo o seu time de engenharia e ciência de dados trabalhando no mesmo ambiente e mesmo propósito.
O que é o Azure Databricks?
Projetado com os fundadores do Apache Spark, o Databricks é integrado com o Azure para fornecer instalação com um clique, fluxos de trabalho simplificados e um workspace interativo que permite a colaboração entre os cientistas de dados, os engenheiros de dados e os analistas de negócios.

O Azure Databricks é um serviço de análise rápida, fácil e colaborativa baseada no Apache. Para um pipeline de Big Data, os dados (brutos ou estruturados) são inseridos no Azure por meio do Azure Data Factory em lotes ou transmitidos quase em tempo real usando o Kafka, Hub de eventos ou Hub IoT.

Esses dados chegam em um data lake para armazenamento persistente de longo prazo, no Armazenamento de Blobs do Azure ou no Azure Data Lake Storage. Como parte do seu fluxo de trabalho de análise, use o Azure Databricks para ler dados de várias fontes de dados como o Armazenamento de Blobs, Azure Data Lake Storage, Azure Cosmos DB ou SQL Data Warehouse do Azure  e transforme-os em insights inovadores usando o Spark.

Plataforma de análise com base no Apache Spark
O Azure Databricks abrange as tecnologias e os recursos completos de código aberto do cluster do Apache Spark. O Spark no Azure Databricks inclui os seguintes componentes:

Spark SQL e DataFrames: O Spark SQL é o módulo Spark para trabalhar usando dados estruturados. Um DataFrame é uma coleção distribuída de dados organizados em colunas nomeadas. Ele é conceitualmente equivalente a uma tabela em um banco de dados relacional ou uma estrutura de dados em R/Python.

Streaming: processamento de dados em tempo real e análise para aplicativos analíticos e interativos. Integra-se com HDFS, Flume e Kafka.

Mlib: biblioteca Machine Learning que consiste em algoritmos e utilitários de aprendizado comuns, incluindo classificação, regressão, clustering, filtragem colaborativa, redução de dimensionalidade, bem como primitivos de otimização subjacente.

GraphX: gráficos e computação de gráfico para um amplo escopo de casos de uso desde análise cognitiva até exploração de dados.

API do Spark Core: inclui suporte para R, SQL, Python, Scala e Java.
Apache Spark no Azure Databricks
O Azure Databricks compila com base nos recursos do Spark fornecendo uma plataforma de nuvem de gerenciamento zero que inclui:

Clusters do Spark totalmente gerenciados
Um workspace interativo para exploração e visualização
Uma plataforma para capacitar seus aplicativos favoritos baseados no Spark

Clusters do Apache Spark totalmente gerenciados na nuvem
Em nosso próximo artigo, falaremos sobre Clusters do Apache Spark, como criar e escalar cluster em segundos e compartilhá-los entre as equipes.
Estamos preparados!
Nossos engenheiros cloud estão preparados para apoiar a sua empresa a extrair o melhor da fantástica plataforma Azure Databricks.

Atuamos em todas as frentes de implementação do Azure Databricks:

– Criação
– Configuração
– Conexão
– Processo de ETL
– Inserção dentro de um Data Warehouse
– Extração dos dados
– Visualização dos dados no Power BI

Clique aqui para falar com um engenheiro cloud.
Fonte: microsoft.com

LER MAIS ARTIGOS

Acompanhe a Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Application Development Cloud

Learn: Desenvolvendo (APIs) Application Programming Interface

Veja nesse artigo como desenvolver Application Programming Interface (APIs) e quais são os conceitos fundamentais relacionados com o desenvolvimento de APIs de boa qualidade.Em termos mais simples, podemos dizer que as APIs permitem que um software converse com outro software. Mas o que é API ao pé da letra?API significa “Application Programming Interface ou, em português, Interface de Programação de Aplicativos. Esta interface de programação é um conjunto de padrões de programação que permitem a construção de aplicativos e a sua utilização. API é um conceito relativamente amplo.Na maioria das vezes uma API se comunica com diversos outros códigos interligando diversas funções em um aplicativo. Um exemplo de uma API muito utilizada é a API dos sistemas operacionais que possuem diversos métodos e se comunicam com diversos processos do sistema operacional.Neste artigo, nós passaremos por conceitos fundamentais sobre APIS, como e porque criar uma API, a importância do versionamento, como podemos fazer uma boa API e como verificar a qualidade da API através de conceitos chaves como:- Compreensibilidade- Consistência- Descoberta- Facilidade em tarefas simples- e preservação de investimento.Porque criar uma APICom uma API podemos criar sistemas melhores e minimizar o entendimento deles.Através do reuso também podemos nos concentrar no mais importante: a lógica da aplicação. Desssa forma, podemos reutilizar frameworks e bibliotecas construídos por terceiros. Por exemplo, ninguém escreve um banco de dados do zero, pelo contrário, reutilizamos o que já existe e alteramos o código fonte para evoluir o código e ou adaptá-lo a alguma necessidade especial que temos em nosso projeto.Não é necessário saber tudo de uma API, basta que saibamos aquilo que atenda as nossas necessidades, para isso é sempre interessante possuirmos a documentação em mãos. A API minimiza o entendimento de todos os detalhes de um componente e assim serve como um “alicerce”.VersionamentoO sistema de numeração utilizado para sistemas de software é baseado em números naturais com um ponto os separando. Este ponto é necessário para acomodar “não linearidades” no desenvolvimento do software. Isso ocorre porque não existe uma direção única de desenvolvimento de um software, mas sim muitos ramos representando correções de bugs, correção de um bug que gerou outro bug, e assim por diante.Dessa forma, uma versão 1.1.1 significa que ela contém menos funcionalidades que uma versão 2.0 que foi lançada antes da versão 1.1.1.Abaixo um exemplo de um versionamento de software:Cada parte de uma aplicação modular tem um número de versão, geralmente um conjunto de números naturais separados por pontos, tal como “1.34.8”. quando uma nova versão é lançada, ela deve ter um novo e maior número de versão, como 1.34.10, 1.35.1 ou 2.0.A cada novo lançamento é importante mantermos todos os contratos que funcionavam nas versões anteriores funcionando nas novas também.Outra situação importante é nos mantermos informados das alterações nas dependências externas.Como fazer uma boa APIAlgumas pessoas pensam que as APIs são compostas apenas de classes, métodos e javadoc usado para documentá-los. O javadoc é uma importante ferramenta que fornece uma boa visibilidade da API, porém ainda assim uma API é um termo muito mais amplo do que essa visibilidade poderia indicar. Uma API inclui muitos outros tipos de interfaces.O exemplo mais óbvio e simples de uma API é um conjunto de classes, seus métodos e seus campos. Provavelmente se estivermos produzindo uma biblioteca em Java iremos empacotá-la num arquivo JAR contendo essas classes.Essas classes e seus membros se tornarão uma API da biblioteca.Uma situação muito importante de cuidarmos de uma API é a estrutura das informações de saída. a implementação padrão do toString() em objetos Java que imprime apenas nomes de classe e códigos objeto de hash hexadecimais não é muito útil.Para fins de depuração, muitas vezes substitui-se os métodos toString() para retornar informações mais significativas. Dessa forma, os objetos sempre devem trazer informações úteis. Caso contrário o cliente tentará traduzir as mensagens tentando encontrar algo significativo. Um exemplo disso e que foi concertado na API Java era a antiga Exception.printStackTrace (OutputStream). Não existia uma forma de entender a origem de uma exceção a não ser que pudéssemos traduzir esta saída. na versão Java 1.4 esse problema foi concertado através de um novo método getStackTrace() que retorna as mesmas informações porém num formato muito mais estruturado. Assim, não foi mais necessário uma análise e um parse na informação textual.Exemplos de APIS que usamos todos os dias:Pagamentos online (PayPal, Cielo, PagSeguro, Moip)APIs permitem executar pagamentos e transferências sem sair do site da loja, ou fornecedor do serviço.Dessa forma, usando as APIs das carteiras digitais, o comprador não precisa colocar os dados do cartão de crédito no site da loja, e sim, apenas seu usuário e senha do PayPal, autorizando a compra.As informações já ficam armazenadas com o provedor de pagamento. Muito mais prático!Oferecer soluções de pagamentos confiáveis dentro da loja combate a resistência do cliente, que muitas vezes tem receios de ter sua segurança de dados comprometida e despesas indevidamente geradas no seu nome por cartões clonados, por exemplo.O resultado? Melhores taxas de conversão e clientes mais seguros e satisfeitos!Localização (Google Maps, Foursquare)Através da integração das APIs, é possível criar aplicativos próprios baseados na localização da sua empresa ou que reagem à posição do seu usuário!Elas permitem ainda visualizar dados sobre topografia e geografia e ajudam a determinar previsões de clima.Uma ideia genial é a do aplicativo Zombies, Run!, que se conecta ao GPS do celular (através de uma API do sistema) para traçar sua rota de corrida no Maps, unindo exercício físico a um jogo de sobrevivência (e fuga) em um apocalipse zumbi.Muito criativo!Também é comum que serviços como o Google Maps se conectem a outras APIs, como as de empresas de transporte urbano, para determinar rotas de horários.Uma API, que consulta outra e mais outra API!Curiosidade: você sabia que a API do Google Maps começou a ser usada com engenharia reversa? Logo após o serviço ser lançado, alguns desenvolvedores tiveram várias ideias de aplicações e exploraram o código para colocar suas ideias em prática.Estamos vivendo a nova Economia das APIs e é preciso se adaptar aos tempos. Empresas sem uma estratégia nesta área correm o risco de ficar para trás!Para o usuário final, as APIs podem passar despercebidas mas, para o seu negócio, jamais.Fontes: blog aws / devmedia

LER MAIS ARTIGOS

Siga os canais da Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Cloud News

Microsoft apresenta Azure Front Door, um serviço escalável para apps da Web

Microsoft apresenta Azure Front Door, um serviço escalável para proteger aplicativos da Web.
Em um post recente, a Microsoft introduziu a disponibilidade geral (GA) do Azure Front Door (AFD), um ponto de entrada escalável e seguro para aplicativos da Web. A tecnologia subjacente do Azure Front Door está funcionando há cinco anos, onde permitiu o dimensionamento e a proteção de muitos serviços populares da Microsoft, incluindo Office 365, Bing, Xbox, Linkedin e Microsoft Teams. A Microsoft forneceu uma prévia pública da tecnologia, em setembro de 2018 e agora está disponível para todos os clientes.

Para organizações que possuem aplicativos da Web, com alcance global, o desempenho desses aplicativos pode ser afetado pela proximidade do consumidor. Para fornecer uma experiência melhor e mais consistente, as organizações podem aproveitar as Content Delivery Networks (CDNs), que têm vários pontos de distribuição e fornecem conteúdo aos consumidores mais rapidamente, devido à proximidade e às conexões otimizadas.

O Azure Front Door aproveita o protocolo anycast, que vai além do fornecimento de recursos tradicionais de CDN, fornecendo também recursos de segurança avançados, incluindo prevenção de ataques Distributed Denial of Service (DDoS).

Um dos principais benefícios do uso do Azure Front Door é aproveitar a rede global da Microsoft. Sharad Agrawal, product manager da Microsoft, explica:

“Usamos nossa rede global, é uma rede privada dedicada da Microsoft desde o Ponto de presença (POP) até o seu aplicativo. Esse tráfego passa pela rede global da Microsoft, portanto, há uma confiabilidade de rede muito maior. Mesmo que seu aplicativo não esteja hospedado no Azure, ainda o roteamos para o ponto mais próximo de onde o aplicativo está e, em seguida, saia desse aplicativo, para que você obtenha uma rede dedicada para seus usuários finais, aumentando o desempenho e a confiabilidade da rede.”

Os principais recursos da Porta Frontal do Azure incluem:

Aplicação e APPI Acceleration: por meio do uso de anycast, que otimizará a conectividade com os serviços de aplicativo do Azure e reduzirá a latência para os usuários finais.

O balanceamento de carga HTTP global: permite que os desenvolvedores criem serviços distribuídos geograficamente e permitem que o Azure determine a disponibilidade de terminais e o roteamento inteligente para terminais locais e disponíveis.

O descarregamento de SSL alivia os pontos finais da execução do calculo da “decryption” caro e move a função mais acima no stack.

A filtragem de aplicativos da Web WAF @ Edge oferece proteção contra ataques DDoS ou usuários mal-intercionados na borda, sem afetar os serviços de back-end.

A Microsoft têm clientes aproveitando o Azure Front Door, Agrawal descreve um caso de uso comum:

“Hoje, os clientes chegam à AFD com foco em suas principais necessidades comerciais para melhorar o desempenho, dimensionar seus aplicativos, ativar o failover instantâneo ou permitir arquiteturas de aplicativos complexos como IaaS e PaaS, experiencias hibridas no local ou em nuvem ou mulit-nuvem. O AFD pode ser integrado de maneira rápida e fácil à arquitetura existente ou nova do seu aplicativo e começa a funcionar imediatamente. Adicionar o AFD à frente de seu aplicativo ou API também permite que seus obtenham o benefício de constantes aprimoramentos e otimizações na borda, como TCP Fast Open, otimizações de WAN e melhorias no SSL, como a retomada da sessão de SSL. Isso significa que seus usuários obtêm experiências de conectividade otimizadas no primeiro dia com o Front Door.”

Criar uma porta frontal no Azure envolve a criação de um host front-end que seja um ponto de extremidade global para seu aplicativo. Em seguida, é necessário um pool de back-end em que você configura seus serviços de back-end, como um aplicativo Web do serviço de aplicativo. Por fim, é necessário estabelecer regras de roteamento que rotearão o tráfego da configuração do host front-end para o pool de back-end. Além do roteamento de tráfego, as funções de balanceamento de carga enviarão pulsações periódicas ao pool de back-end para detectar se os terminais estão online. No caso de um endpoint não estar mais disponível, o tráfego será roteado para um endpoint alternativo.

Em uma demonstração no Azure Friday, Agrawal demonstrou os tempos de resposta para recuperar um arquivo de 100kb. Na imagem a seguir, a janela à esquerda representa esse arquivo sendo recuperado por meio do Azure Front Door. A janela à direita representa o arquivo que está sendo recuperado diretamente do aplicativo da Web. Ao usar a porta frontal do Azure, o tempo médio de resposta, mais de 50 ações, era 0,44788 contra 0,74118 uma conexão de direção.

Fonte: InfoQ

Cloud DevOps

Como o Airbnb simplificou o fluxo de trabalho do Kubernetes para mais de 1.000 engenheiros

Como o Airbnb simplificou o fluxo de trabalho do Kubernetes para mais de 1.000 engenheiros
Melanie Cebula, engenheiro de infra-estrutura na Airbnb, deu uma palestra na Qcon Londres sobre a ferramental e estratégias adotadas pela Airbnb para apoiar mais de 1.000 engenheiros simultaneamente a configurar e a implementar mais de 250 serviços críticos para Kubernetes (com uma frequência de cerca de 500 deploys por dia em média). Também foi fundamental a automação de fluxos de trabalho comuns para engenheiros e o uso das mesmas ferramentas em todos os ambientes.

O kube-gen é a ferramenta interna do Airbnb que pode obter os parâmetros de  serviços (definidos em um único arquivo YAML) e gerar a configuração completa do serviço do Kubernetes, adicionando toda a configuração padrão necessária. No passado, o Airbnb utilizou mecanismos de herança de arquivos para configuração (como em livros de receitas do Chef) levava efeitos de falha de infraestrutura em cascata. Portanto, um dos objetivos era reduzir o raio de explosão (blast radius) de possíveis erros usando modelos YAML para configuração de serviço.

O outro grande objetivo do kube-gen era abstrair as complexidades de configuração e ferramentas do Kubernetes para permitir que as equipes de engenharia mantivessem a propriedade de seus serviços, com os níveis de isolamento necessários (parcialmente garantidos pelos namespaces gerados automaticamente baseados em nomes de ambiente padronizados), mas sem longa curva de aprendizado (long learning curve). Embora o kube-gen não esteja disponível publicamente, pois aborda o contexto especifico do Airbnb, o Cebula apontou algumas alternativas de código aberto: helm (gerenciamento de pacotes), kustomize (configuração via file inheritance) e kapitan (configuração via templating).

Imagem: arquivos de configuração de serviço no YAML personalizado são traduzidos nos arquivos de configuração necessários no Kubernetes (um conjunto por ambiente definido no YAML personalizado) e aplicados ao cluster do Kubernetes (crédito: Melanie Cebula, Airbnb).

Outras estratégias para promover configurações de serviços homogêneas e fáceis de evoluir incluem a criação de um novo repositório de service skeleton em um comando, validação no tempo de construção e implantação de arquivos de configuração (não apenas sintaxe, mas também problemas conhecidos em valores fornecidos como nome ou proprietário inválido no projeto) e versionando a configuração de serviço (gerada).

O repositório git de um serviço recém-criado inclui arquivos padrões de aplicativos e de infraestrutura (inclusive CI/CD), preenchimento automático com padrões e boas práticas (como a escalabilidade automática por padrão ou geração de documentação). As configurações do serviço de controle de versão (com um campo especifico no arquivo YAML) permitem marcar versões com problemas (para que elas nunca sejam reimplantadas) – podem ser problemas no próprio Kube-gen ou serviço específico – além de distribuir diferentes versões em diferentes canais (por exemplo, estável vs beta).

Figura: exemplos de arquivos YAML de configuração de serviço do Airbnb, incluindo um campo de versão (crédito: Melanie Cebula, Airbnb)

 

K é outra ferramenta interna do Airbnb. K é principalmente um wrapper opinativo para o kubectl que também filtra a saída detalhada de alguns kubectl. K também suporta algumas funcionalidades extras, como agrupar a ferramenta kube-gen mencionada anteriormente e building/pushing as imagens do Docker.

O objetivo dessa ferramenta era automatizar fluxos de trabalho comuns, simplificando e padronizando o trabalho de engenharia, abstraindo parte da complexidade das ferramentas do Kubernetes. Mas também levou os desenvolvedores e engenheiros de infraestrutura a falar uma linguagem comum e usar as mesmas ferramentas, o que fortaleceu a colaboração, de acordo com o Cebula.

Um fluxo de trabalho típico seria começar com k generate para gerar arquivos do Kubernetes, depois k build para construir imagens do Docker e enviar para o registro e, finalmente, implementar para criar espaços de nomes do Kubernetes e aplicar os arquivos do Kubernetes, aguardando um status de implantação final. Os serviços são criados e implantados da mesma maneira, independentemente do ambiente (ou seja, uma máquina local, IC, preparação ou produção). Também é possível executar o k diagnose, que conta com alguns plugins criados pelo Airbnb: kubectl diagnose e kubectl podevents. O objetivo era automatizar etapas manuais comuns ao depurar um problema de implementação: coletar informações sobre contêineres não-prontos, localizar eventos de conjuntos relacionados e obter os registros desses contêineres.

Finalmente, o Cebula, mencionou alguns desafios remanescentes para a adoção da jornada Kubernetes do Airbnb, em particular relacionadas à migração de milhares de serviços existentes que exigem melhor suporte e escalonamento multicluster (alguns serviços usam centenas de réplicas), manipulando mais serviços com alto nível de memória e movimentando toda a configuração para um modelo de fluxo de trabalho GitOps com controladores personalizados (custom controllers).

Fonte: InfoQ

Social media & sharing icons powered by UltimatelySocial