There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to op
Arquitetura de Aplicações para Dispositivos móveis Prof. Rogério Celestino
Conteúdo:
7. Mobile Applications – Padrões de Arquitetura back-end
7
Mobile Applications Padrões de arquitetura back-end
7. Padrões de arquitetura back-end • Gerenciando sobrecarga.
• Escalabilidade Vertical vs Escalabilidade Horizontal
• Trade-offs de Escalabilidade – Performance vs Escalabilidade – Latência vs Throughput – Disponibilidade vs Consistência
7. Padrões de arquitetura back-end • Como você sabe se tem um problema de performance? Se seu sistema é lento para apenas um usuário.
7. Padrões de arquitetura back-end • Como você sabe se tem um problema de escalabilidade? Se seu sistema é rápido para apenas um usuário mas lento para vários usuários.
7. Padrões de arquitetura back-end
Você deve se esforçar para ter o mínimo de throughput com uma latência aceitável.
7. Padrões de arquitetura back-end • Disponibilidade vs Consistência – Teorema CAP • Consistency, Availability, Partition
– Teorema BASE • Basically Available Soft state Enventual consistency
Propriedade CAP • Consistency - Consistência – Significa se um sistema esta consistente, após a execução de uma operação. Por exemplo um sistema é considerado consistente se depois da atualização de um dado, todos os usuários que tem acesso a esse dado, possam acessá-lo em tempo real.
Propriedade CAP • Availability -Disponibilidade – Refere-se á concepção e implementação deum sistema de modo que seja assegurado que esse permanece ativo durante um determinado período de tempo.
Propriedade CAP • Partition tolerance – Tolerância ao particionamento – Refere-se a capacidade de um sistema continuar operando mesmo depois uma falha na rede.
Propriedades ACID: • Atomicidade: A transação será executada totalmente ou não será executada. • Consistência: Garante que o banco de dados passará de uma forma consistente para outra forma consistente. • Isolamento: Garante que a transação não será interferida por nenhuma outra transação concorrente. • Durabilidade: Garante que o que foi salvo, não será mais perdido.
Propriedades BASE • Basically Available – Basicamente Disponível. • Soft-State – Estado Leve • Eventually Consistent – Eventualmente Consistente • Uma aplicação funciona basicamente todo o tempo (Basicamente Disponível), não tem de ser consistente todo o tempo (Estado Leve) e o sistema torna-se consistente no momento devido (Eventualmente Consistente).
7. Padrões de arquitetura back-end • Pense sobre seus dados – Quando você precisa de ACID? – Quando Enventualmente Consistente (BASE) é a melhor escolha?
7. Padrões de arquitetura back-end
Tipos diferentes de dados possuem necessidade diferentes O que deve te guiar na decisão é como seus dados são acessados
7. Padrões de arquitetura back-end • Padrões de Escalabilidade – Particionamento – HTTP caching – RDBMS sharding – NoSql – Data Grids – Concorrência
7. Padrões de arquitetura back-end Quando se trata de execução de aplica8vos, as organizações enfrentam hoje uma tensão entre controle e economia de escala
Alto Baixo
Controle Economia de escala
Baixo Alto
7. Padrões de arquitetura back-end Aplicação rodando on-‐premises Compre seu próprio hardware e gerencie seu próprio data center
Alto Baixo
Aplicação rodando em um hoster
Pague para algum provedor de hospe-‐ dagem para hopedar minha aplicação usando o hardware que eu especifico
Controle Economia de escala
Aplicação rodando usando a plataforma cloud Pague para algum provedor hospedar minha aplicação sem especificar o hardware (a promessa é de ser “infinito”, escalável)
Baixo Alto
7. Padrões de arquitetura back-end
Mobile Client
Mobile
Native
Hybrid
Web
Application Services Static Content Video
Images
RESTful Services
Streaming
Data Store
Messaging
Push Notifications
Social
Analytics
Location
User Manager
Infrastructure Services Storage NoSql
Relational
Identity & Access Unstructured
Infrastructure
Authentication
Authorization
Scalability Replication
Elastic
Compute Physical, Dedicated
On Premises
Physical, Shared
Hoster
Virtual, Single
Virtual, Fabric
Cloud
Resumo e Conclusões da Aula • Nesta aula fizemos uma visão geral sobre gerenciamento de carga em uma a arquitetura back-end mobile. • Apresentamos estratégias diferentes de escalabilidade. • Discutimos sobre controle vs economia de escala. • Finalizamos com a demonstração das camadas de um back-end mobile.