Mais lidas
1

Negócios

5G: consumidores e empresas não enxergam potencial além de mais velocidade

2

Inovação

Como a Globo derrotou o pesadelo do ‘loading’ no Globoplay

3

Negócios

Mark Zuckerberg é processado por caso Cambridge Analytica

Inscreva-se na nossa Newsletter

Fique ligado!

Obtenha os mais recentes artigos e atualizações de tecnologia que você precisa saber, você ainda receberá recomendações especiais semanais.

News

E-mail Cadastrado com sucesso! 😄

IT Forum
Fóruns
Notícias
Colunas
Estudos
Vídeos
Podcasts
HIT - Materiais Gratuitos
Newsletter IT Mídia
IT Mídia

3 momentos
no ano

Visite o site
post

IT Forum Ibirapuera

Redescoberta Criativa no maior parque do Brasil.
post

IT Forum Trancoso

Saiba tudo sobre liderança no mercado de TI
post

IT Forum Itaqui

Saiba tudo sobre liderança no mercado de TI

Edições anteriores

Veja todas as edições
(Em breve)

TODAS

Mais recentes

As últimas no IT Fórum

CATEGORIAS
Especiais

Especiais

Artigos exclusivos
produzidos pelo IT Fórum

Liderança

Liderança

Saiba tudo sobre liderança
no mercado de TI

Carreira

Carreira

Notícias para impulsionar
sua carreira

Negócios

Negócios

Grandes empresas,
startups, franquias e mais

Tendências

Tendências

Descubra o que está em
alta em TI

DA REDE

ComputerWorld

O porta-voz do mercado de
tecnologia.

CIO

Gestão, estratégias e
negócios em TI.

Estudos

Estudos destinados a TI e ao mercado

Executivo de TI

CIOs e executivos da indústria de TI que tiveram iniciativas
de destaque.

Antes da TI

Pesquisa com objetivo de
ajudar na tomada de decisões em TI.

As 100+ Inovadoras

Inovação nas maiores empresas do país.

Página de estudos

Veja todos os estudos

IT Forum
  • Home
  • Fóruns
  • 3 momentos
    no ano

    Visite o site
    post

    IT Forum Ibirapuera

    post

    IT Forum Trancoso

    post

    IT Forum Itaqui

  • Notícias
    • Especiais Especiais
    • Liderança Liderança
    • Carreira Carreira
    • Negócios Negócios
    • Tendências Tendências
    • Ver todas as Mais recentes
    • Brandchannels
    • Brandspaces
  • Colunas
  • Estudos
  • Estudos destinados a TI e ao mercado
    • Executivo de TI
    • Antes da TI
    • As 100+ Inovadoras
  • Vídeos
  • Podcasts
  • HiT - Materiais Gratuitos
  • Anuncie
    Envie Seu Release
    Fale Conosco
    Revistas
    Newsletter
    IT Forum IT Forum IT Forum IT Forum
  • Home >  
  • Notícias

Do desenvolvimento à produção de soluções distribuídas

Desenvolvimento de soluções digitais precisa ser cada vez mais robusto, refinado e adequado ao seu propósito negocial

Rafael Mendonça
18:12 pm - 15 de dezembro de 2021

Tecnologia e negócios sempre estiveram intimamente relacionados e, muitas vezes, é praticamente impossível distinguir um do outro. Empresas, organizações e governos se tornam cada vez mais tecnológicas; com isso, o desenvolvimento de soluções digitais precisa ser cada vez mais robusto, refinado e adequado ao seu propósito negocial.

Quando se fala sobre soluções digitais robustas, podem-se destacar duas fases: a de desenvolvimento e a de produção.

Embora as fases coexistam ao longo de quase todo ciclo de vida da solução digital, desde a ideação, ambas têm particularidades que precisam de cuidados específicos, objetivando uma solução de alta disponibilidade e confiabilidade.

A primeira, de desenvolvimento do software ou de aplicações distribuídas – um composto de vários servidores, serviços e componentes se comunicando através de protocolos em determinada rede –, demanda uma abordagem adequada desde o design até a entrega em produção.

Aplicações (ou softwares) distribuídas são desenvolvidas para atender a um elevado número de acessos de modo sazonal com a rapidez necessária, sem atrasos e que funcionem da maneira esperada: com confiabilidade.

As razões para projetar uma solução distribuída passam por disponibilidade, escalabilidade, confiabilidade e transparência. Vejamos:

· Disponibilidade: o sistema precisa estar disponível para os clientes em qualquer momento desejado. É, portanto, necessário que esteja preparado para ser imediatamente recuperado caso algum problema o torne indisponível.

· Escalabilidade: ao longo do tempo, a aplicação atenderá a um volume de uso variado. Quanto maior for o número de usuários da aplicação, maior a necessidade de aumento dos serviços utilizados pela solução.

· Confiabilidade: os usuários precisam confiar na resposta e nos dados fornecidos pelo sistema.

· Transparência: os usuários finais não precisam conhecer os detalhes técnicos que fazem toda a solução funcionar. Precisam somente usar a aplicação.

Ademais, ao se adotar um desenvolvimento de solução distribuída, alguns pontos de preocupação precisam ser observados ainda na fase de desenvolvimento, como a complexidade na solução de eventuais problemas que podem ocorrer. Para tanto, é necessário observar:

· Conhecimento do time: soluções (ou aplicações) distribuídas exigem muitas áreas de conhecimento. O time deve ter as habilidades e competências necessárias para solucionar problemas de todos os serviços usados na solução, desde o desenvolvimento até o monitoramento adequado de todos os serviços utilizados e que proporcionam o desempenho da aplicação em produção.

· Dimensionamento: quando se trata de aplicações monolíticas, a escala é bidimensional. Nessa perspectiva, uma aplicação consiste, geralmente, em um grupo de servidores de aplicação e servidores de banco de dados. Da perspectiva de aplicações distribuídas, a complexidade aumenta exponencialmente nos quesitos problemas e desempenho. Cada serviço que compõe a solução tem sua própria latência e seu próprio suporte.

· Antipadrão no design: assim como o antipadrão no código, os antipadrões no design são uma causa comum de desempenho ruim em ambientes produtivos. Além de dificultar a manutenção da solução.

Uma vez que a aplicação está minimamente desenvolvida e há uma primeira versão pronta para ser publicada em produção, é hora de pensar nas questões que englobam o todo do sistema produtivo.

Quando se fala em ambiente produtivo, a disponibilidade de serviços e aplicações é um dos pilares mais importantes para a continuidade do negócio e para a capacidade da empresa em gerar valor.

Falar sobre disponibilidade nos remete também a conceitos de engenharia de confiabilidade (também conhecido como SRE, Site Reliability Engineering). Esses conceitos e padrões de engenharia de confiabilidade têm o objetivo de aumentar a disponibilidade; o desempenho e a resiliência do produto; e, consequentemente, a satisfação do usuário.

Grandes investimentos são realizados para garantir a confiabilidade das aplicações que suportam a geração de receita para a empresa. Uma premissa indispensável para confiabilidade em ambiente distribuído é a de que falhas acontecerão inevitavelmente. Em vez de se tentar preveni-las, é desejado que se planejem e desenvolvam soluções de aplicação que atenuem seus efeitos.

Existem algumas técnicas utilizadas tanto pela equipe de desenvolvimento quanto pela a equipe de sustentação que têm como intuito atenuar os efeitos das falhas. A engenharia do caos (Chaos Engineering), por exemplo, é muito utilizada, a fim de estimular falhas em sistemas e, consequentemente, criar soluções. Assim, ela testa a resiliência dos sistemas ao conduzir experimentos que induzem a falha simulando situações reais.

Além da metodologia da engenharia do caos, em ambientes produtivos é preciso definir alguns critérios de negócio, como o Acordo de Nível de Serviço (SLA Service Layer Agreement) e Objetivo de Nível de Serviço (SLO, Service Layer Objective), juntamente com objetivos de recuperação de falhas, como Objetivo de Tempo de Recuperação (RTO, Recover Time Objective) e Objetivo de Ponto de Recuperação (RPO, Recover Point Objective).

Essas definições orientam o nível de investimento em capacidades de resiliência e disponibilidade do sistema. Um sistema extremamente crítico, com SLA e SLO elevados, requer mais investimento para a recuperação de falhas e o desenvolvimento de aplicações que respondam automaticamente a esses eventos. Essas aplicações exigem mais planejamento e desenvolvimento para que se recuperem de forma transparente, empregando conceitos como self-healing ou aplicações com capacidade de remediação automática.

Como se vê, o processo de adoção de uma nova tecnologia é longo e específico, demandando planejamento, know-how e competência de todo o time, assim como definições claras de seus objetivos de negócio e, especialmente, de investimento para garantir confiabilidade das aplicações.

* Rafael Mendonça é CTO na 4intelligence, startup de soluções que apoiam a tomada de decisão por meio da análise de dados.

Brandspace por SAP

Hora de transformar a cadeia de suprimentos

Trabalho conjunto entre compradores e fornecedores pode transformar a cadeia de suprimentos em vetor de sustentabilidade. Empresas como a SAP já trabalham com esse objetivo.

Em alta

Negócios

5G: consumidores e empresas não enxergam potencial além de mais velocidade
Em alta

Inovação

Como a Globo derrotou o pesadelo do ‘loading’ no Globoplay
Em alta

Negócios

Mark Zuckerberg é processado por caso Cambridge Analytica
Load more
IT Forum

FÓRUNS

Todos os FórunsIT Forum IbirapueraIT Forum TrancosoIT Forum Itaqui

NOTÍCIAS

Mais recentesLiderançaCarreiraNegóciosTendências

COLUNAS

ESTUDOS

Executivo de TIAntes da TIAs 100+ Inovadoras

VÍDEOS

PODCASTS

HIT

Anuncie
Envie Seu Release
Fale Conosco
Revistas
Newsletter
IT Forum
Política de PrivacidadeTermos de Uso

© Copyright IT MÍDIA - Todos os direitos reservados

Política de PrivacidadeTermos de Uso

© Copyright IT MÍDIA - Todos os direitos reservados