DEV Community

Cover image for Verdades Duras sobre Desenvolvimento de Software
Ortiz de Arcanjo António David
Ortiz de Arcanjo António David

Posted on

Verdades Duras sobre Desenvolvimento de Software

Arquitetura

  • A arquitetura deve evoluir conforme as necessidades do negócio.
  • Microserviços não são a solução ideal para todos os cenários.
  • A modularização é uma solução atemporal e resolve vários problemas.
  • A adoção de Clean Architecture ou Hexagonal Architecture pode atrasar o projeto.
  • A escolha da arquitetura certa é mais importante do que seguir modas.

Design

  • Abstrações desnecessárias podem aumentar a complexidade.
  • DDD é sobre compreender e lidar com a complexidade do negócio, não sobre siglas ou organização de ficheiros.
  • Design Patterns não são padrões universais de design.
  • Soluções simples têm maior durabilidade.

Complexidade

  • A complexidade cresce com o negócio.
  • Complexidade representa custos, mesmo que não seja visível.
  • A complexidade prematura pode prejudicar a evolução do projeto.
  • Reduzir a complexidade inicial não impede o crescimento futuro.

Modelagem

  • UML ainda apresenta diagramas úteis.
  • Modelar processos reduz custos de implementação.
  • Diagramas claros facilitam o desenvolvimento.
  • Modelar antecipadamente melhora a comunicação da equipa.
  • Modelos bem feitos tornam a manutenção e evolução do sistema mais simples.

Cloud

  • Soluções em cloud podem ser caras e exigem um planeamento cuidadoso.
  • Escalabilidade infinita tem um custo elevado; otimize os recursos sempre que possível.
  • Existe muito hype, mas poucas implementações realmente bem-sucedidas.
  • Nem todos os projetos precisam de soluções baseadas em cloud.

Big Techs

  • Começaram com soluções simples e imperfeitas.
  • As arquiteturas atuais são o resultado de décadas de evolução.
  • Investem milhões para gerir a complexidade.
  • Contam com equipas grandes e especializadas.
  • Não se deve comparar a sua realidade com o contexto delas.

Conheça o Seu Contexto

  • Não é Google, Microsoft, Facebook ou Netflix.
  • Comece pequeno: opte por um monólito e utilize MVC.
  • A complexidade que imagina pode não ser necessária de imediato.
  • Cresça de forma gradual, com base nas necessidades reais.

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more