Nos últimos anos, o mercado tecnológico vem passando por dificuldades devido a restrições físicas no que diz respeito à disponibilidade e escalabilidade dos recursos computacionais. Normalmente, as empresas utilizam recursos próprios para manter uma infraestrutura interna apropriada para armazenamento de dados, além de fornecer serviços que consomem esses recursos físicos. Esse é um problema constante, pois é preciso que ocorram manutenções regulares para manter as máquinas em pleno funcionamento, o que requer um alto custo com mão de obra e material.
Quando o assunto é escalabilidade, tratamos de ambientes em que há não somente altas demandas por processamento, mas também nos quais essa varia ao longo do tempo, como em lojas virtuais. Esses cenários, muitas vezes, requerem a utilização de vários servidores, e em determinados momentos pode ser preciso aumentar ou reduzir a quantidade de máquinas que estejam em operação, seja para atender a uma maior demanda ou para economizar recursos em situações onde as requisições são reduzidas. A manutenção desses ambientes gera custos e esforços adicionais e, dependendo da magnitude da aplicação (ou conjunto de aplicações) que está sendo mantida, em algum momento poderá se tornar inviável para a empresa.
Outro fator de extrema importância quando se trata de sistemas web é a disponibilidade. Como esse tipo de aplicação pode ser acessado de qualquer lugar, a qualquer horário e por um número indefinido de usuários simultaneamente, é preciso que esteja disponível sempre que o cliente requisitar. Quando é responsabilidade da empresa manter uma infraestrutura local de servidores, cortes no fornecimento de energia elétrica ou falhas de hardware podem levar à indisponibilidade da aplicação até que a situação seja normalizada, o que pode demorar algum tempo dependendo do problema.
Nos apoiando nos recursos oferecidos pela computação em nuvem, podemos utilizar o Microsoft Azure para desenvolver aplicações escaláveis e altamente disponíveis na web, com redução de custos e esforços de manutenção. Esse tipo de plataforma computacional abstrai para os usuários toda a complexidade da infraestrutura utilizada para provimento dos serviços e conta com grande capacidade de processamento e armazenamento alocada em vários datacenters ao redor do mundo. Isso garante a redundância e alta disponibilidade dos dados, que estão armazenados simultaneamente em mais de um local, prevenindo perdas por falhas locais. Além disso, a escalabilidade é garantida, geralmente, por uma interface simples que permite alocar ou desalocar recursos de hardware utilizando um painel de administração online.
Entre os vários serviços oferecidos pelo Microsoft Azure, neste artigo trabalharemos com o Azure Storage, mecanismo de armazenamento de arquivos e dados em vários formatos, que permite que esses permaneçam disponíveis na internet, podendo ser acessados de qualquer lugar sem ocupar espaço em disco local. Essa funcionalidade divide-se em quatro estruturas de armazenamento: blob, table, queue (filas) e files (arquivos), cujos detalhes veremos mais adiante.
Referente aos bancos de dados no formato key/value, temos o armazenamento de dados como objetos serializados para cada valor de chave (key), o que mostra ser um melhor recurso para armazenamento de grandes quantidades de dados. O Azure BLOB Storage funciona de forma semelhante ao File Storage, onde as chaves representam os diretórios e o nome dos arquivos. Sobre o value (valor), temos que ele representa uma entidade, que pode ser considerada uma linha de registros da tabela, e várias propriedades chamadas de colunas, sendo esse o recurso mais escalável e barato se comparado aos bancos de dados relacionais, tendo como diferença que os bancos de dados baseados em chave/valor não permitem a utilização de joins ou queries mais complexas. Por fim, temos os bancos de documentos, um banco de dados que fornece alto desempenho e facilidade de desenvolvimento, onde temos a possibilidade de armazenar dados no formato JSON, XML ou BSON, além de plain texts. Algumas diferenças existentes nesse último tipo de armazenamento em relação à pesquisa por chave/valor é que ele possui a permissão para realizar pesquisas com base em campos que não são chaves e a definição de índices secundários para a realização de pesquisas mais eficientes.
Para uma melhor apresentação dos tipos de storages presentes no Microsoft Azure, daremos uma breve introdução a respeito dos quatro tipos e trataremos com maior ênfase os tipos Table e Blob com o intuito de criarmos uma aplicação simples para o armazenamento de currículos.
Azure Storage Tables
O Azure Storage Table é um serviço que armazena dados NoSQL estruturados na nuvem, onde o armazenamento dos dados é realizado no formato chave/atributo, ou key/attribute, baseado no design tableless (sem esquemas), o que dá uma maior facilidade para a adaptação dos dados de acordo com a necessidade evolutiva da aplicação. Ao utilizarmos esse formato, temos ao nosso alcance um acesso muito mais rápido aos dados, além de um melhor custo-benefício para todos os tipos de aplicação. Com o Azure Storage Table temos um custo muito mais baixo no que diz respeito a grandes volumes de dados em comparação com o armazenamento de dados relacional.
Esse tipo de storage pode ser utilizado para armazenarmos conjuntos de dados flexíveis, como os dados do usuário para as aplicações web, informações sobre dispositivos, agendas, dados pessoais ou qualquer outro tipo de metadado que a nossa aplicação necessite. De forma similar, podemos ter qualquer número de entidades em uma mesma tabela, além de uma conta de armazenamento, que pode conter qualquer quantidade de tabelas, pois é praticamente ilimitado o número de tabelas que podem ser geradas na conta de armazenamento. Ao nos referirmos a entidades, essas podem ser comparadas às linhas de uma tabela relacional, onde as colunas são equivalentes às propriedades das entidades. Essas propriedades (colunas) podem ser utilizadas para a filtragem ou seleção de informações nas Storage Tables, onde cada linha possui uma RowKey, que é uma identificação única da entidade, e também uma P ...
Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.