Prefácio
O design de sistemas é um dos aspectos mais importantes da criação de aplicações que são escaláveis, disponíveis, eficazes e seguras, mesmo quando a tua utilização aumenta uma ou duas ordens de grandeza. É por isso que achei o tópico deste livro tão importante. Gosto do facto de este livro começar por cobrir os princípios básicos das soluções de compromisso em sistemas distribuídos, como o teorema CAP, unidades de raio de explosão e outras soluções de compromisso comuns no design de sistemas, e depois passa para a aplicação prática destes princípios. Considerei esta abordagem - partindo dos princípios básicos e colocando-os em prática em decisões críticas de design (como "Qual é a melhor base de dados para executar a minha carga de trabalho?" e "Qual é a melhor estratégia de cache para as minhas cargas de trabalho?" e "Que serviço de armazenamento devo escolher?") - especialmente útil, uma vez que ensina as pessoas a pensar sobre estes problemas, mesmo quando surgem novas capacidades da AWS, tornando os conceitos deste livro mais duradouros.
Pessoalmente, a leitura deste livro fez-me lembrar muito dos primeiros dias da AWS, quando passávamos muito tempo a discutir estas soluções de compromisso. Nessa altura, conceitos como o teorema CAP, o raio de explosão e a escalabilidade contínua não eram bem compreendidos, e tivemos discussões robustas sobre estes tópicos e as soluções de compromisso inerentes. No entanto, essas discussões levaram a alguns serviços AWS incrivelmente ...