Arquitetura de Software contempla Desenvolver, Manter, Entregar e Operacionalizar

Robert Martin foi feliz em destacar que a arquitetura de software ingênua costuma dar ênfase a prática de desenvolvimento e de manutenção e ignorar o deployment e a operação. Por outro lado, a boa arquitetura de software da enfoque a essas quatro atividades.

Desenvolvimento

[tweet]Se desenvolver um software for uma atividade difícil, então, dificilmente esse software terá “vida longa”.[/tweet]

Uma das preocupações da boa arquitetura de software deve ser tornar o processo de desenvolvimento mais simples. Efetivamente, o bom arquiteto reconhece que a estrutura de comunicação da organização determina a estrutura do software que ela desenvolve. Logo, o bom arquiteto deve conceber a arquitetura respeitando a estrutura da organização. A outra alternativa étentar iniciar um movimento para mudar a estrutura da organização (o que costuma ser bem difícil).

Deployment

O software não tem valor se não for colocado em produção. Software difícil de fazer deploy acaba represando valor (features ficam paradas por mais tempo do que necessário).

A boa arquitetura, invariavelmente, considera o custo do deploy. É por causa do deploy, por exemplo, que costumamos a ser enfáticos na moderação de recursos do banco de dados. Afinal, versionar e atualizar stored procedures é mais difícil do que versionar e atualizar um servidor de aplicação.

Usar centenas de microsserviços também pode ser um pesadelo, se não for algo bem planejado.

Manutenção

O custo total de um software pode ser analisado sob a perspectiva do custo para desenvolver e do custo para manter. O segundo custo, geralmente, é muito mais expressivo.

A boa arquitetura de software invariavelmente enfatiza a redução do esforço para acelerar a entrega.

Em nossa visão, desenvolvimento de software com microsserviços é justificado em cenários onde simplifica e permite a introdução de features com maior frequência sem comprometer a estabilidade.

A separação adequada de um software em componentes, isolando esses componentes com protocolos claros de relacionamento, ajuda a mitigar as “dores da manutenção”.

Operação (manter rodando)

Na operação, a boa arquitetura tratará de preparar o sistema para se recuperar mais facilmente de falhas, suportar escalabilidade horizontal e vertical, e prover boa instrumentação. Aliás, uma das “falhas” mais comuns das implementações baseadas em microsserviços é não tratar monitoramento, logging e tracing de forma apropriada.

Fechando…

Arquitetura de software precisa ser planejada e implementada com, pelo menos, quatro perspectivas: desenvolvimento, manutenção, operação e deploy. Infelizmente, entretanto, geralmente a ênfase de arquitetos mais ingênuos fica apenas nas duas primeiras.

Em cenários envolvendo microsserviços, operação e deploy crescem consideravelmente em relevância.

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments

AUTOR

Elemar Júnior
Fundador e CEO da EximiaCo atua como tech trusted advisor ajudando empresas e profissionais a gerar mais resultados através da tecnologia.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Arquivo

Pós-pandemia, trabalho remoto e a retenção dos profissionais de TI

CTO Consulting e Especialista em Execução em TI
0
Queremos saber a sua opinião, deixe seu comentáriox
Oferta de pré-venda!

Mentoria em
Arquitetura de Software

Práticas, padrões & técnicas para Arquitetura de Software, de maneira efetiva, com base em cenários reais para profissionais envolvidos no projeto e implantação de software.

Muito obrigado!

Deu tudo certo com seu envio!
Logo entraremos em contato

Arquitetura de Software contempla Desenvolver, Manter, Entregar e Operacionalizar

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Arquitetura de Software contempla Desenvolver, Manter, Entregar e Operacionalizar

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?