Elementos Diferentes
Até agora, aprendemos o que é microsserviço e quais são as necessidades básicas dele acima da arquitetura MVC moderna. Neste capítulo, aprenderemos os diferentes elementos dessa arquitetura que são igualmente importantes para um serviço.
Categorias de Serviços
Com o nome Microservice, supomos que será um serviço que pode ser consumido por meio de protocolos HTTP, entretanto, precisamos saber que tipo de serviço pode ser construído usando essa arquitetura. A seguir está a lista de serviços que podem ser implementados usando a arquitetura Microservice.
Platform as a Service [PaaS]- Nesta arquitetura orientada a serviços, a plataforma se apresenta como uma ferramenta que pode ser customizada de acordo com as necessidades do negócio. PaaS desempenha um papel importante no desenvolvimento de aplicativos móveis. O maior exemplo de PaaS é o mecanismo Google App, onde o Google fornece diferentes plataformas úteis para construir seu aplicativo. PaaS foi originalmente desenvolvido para fornecer uma arquitetura ou infraestrutura integrada aos desenvolvedores. Ele reduz a complexidade de programação de nível superior em um tempo drasticamente reduzido. A seguir está um instantâneo do PaaS fornecido pelo Google.
Software as a Service [SaaS]- Software as a Service é um negócio de licenciamento de software, onde o software é hospedado centralmente e licenciado por assinatura. O SaaS pode ser acessado principalmente por meio do navegador e é um padrão de arquitetura muito comum em muitos setores de negócios, como Gestão de Recursos Humanos (HRM), Planejamento de Recursos Empresariais (ERP), Gestão de Relacionamento com o Cliente (CRM), etc. A captura de tela a seguir mostra exemplos de diferentes SaaS fornecidos pela Oracle.
Infrastructure as a Service [IaaS]- A infraestrutura desempenha um bom papel nas indústrias de TI. Usando a computação em nuvem, algumas organizações fornecem infraestrutura virtual como seus serviços. IaaS é muito útil para trazer agilidade, economia, segurança, desempenho, produtividade, etc. no desenvolvimento de software. Amazon EC2 e Microsoft Azure são os maiores exemplos de IaaS. A imagem a seguir mostra um exemplo de AWS, onde o data center é fornecido como IaaS.
Data as a Service [DaaS]- A tecnologia da informação lida com dados e alguns dos principais líderes da indústria acreditam que os dados serão o novo sustento da sociedade. DaaS é um tipo de serviço em que os dados são compartilhados com conglomerados de negócios para pesquisa e análise. O DaaS traz simplicidade, agilidade e segurança na camada de acesso a dados. A seguir está um exemplo de nuvem de dados Oracle, que pode ser acessada ou licenciada para suas próprias necessidades de negócios.
Back End as a Service [BaaS]- BaaS também é conhecido como MBaaS, que significa back-end móvel como serviço. Nesse tipo de serviço, o back-end do aplicativo será fornecido às unidades de negócios para seus próprios empreendimentos. Todas as notificações push e serviços de redes sociais se enquadram neste tipo de serviços. Facebook e Twitter são exemplos de conhecidos provedores de serviços BaaS.
Segurança
Quando se trata de lidar com toneladas de dados de clientes, a segurança desempenha um papel importante. A questão da segurança está associada a todos os tipos de serviços disponíveis no mercado. Qualquer que seja a nuvem que você esteja usando - privada, pública, híbrida, etc., a segurança deve ser mantida em todos os níveis. Todo o problema de segurança pode ser subdividido amplamente nas seguintes partes -
Security issue faced by service providers - Este tipo de problema de segurança é enfrentado pelos provedores de serviços como Google, Amazon, etc. Para garantir a proteção da segurança, a verificação de antecedentes do cliente é necessária, especialmente daqueles que têm acesso direto à parte central da nuvem.
Security issue faced by consumers- A nuvem é econômica, portanto, é amplamente usada em todos os setores. Algumas organizações armazenam os detalhes do usuário em centros de dados de terceiros e extraem os dados sempre que necessário. Portanto, é obrigatório manter níveis de segurança de forma que quaisquer dados privados de um cliente não fiquem visíveis para outros usuários.
Para evitar os problemas de segurança mencionados acima, a seguir estão alguns dos mecanismos de defesa usados pelas organizações.
Deterrent Control - Conheça sua ameaça potencial para reduzir o ataque cibernético.
Preventive Control - Manter política de autenticação de alto nível para acessar sua nuvem.
Detective Control - Monitore seus usuários e detecte qualquer risco potencial.
Corrective Control - Trabalhar em estreita colaboração com diferentes equipes e corrigir os problemas que surgem durante a fase de controle de detecção.