{"id":394,"date":"2018-04-01T19:23:44","date_gmt":"2018-04-01T22:23:44","guid":{"rendered":"https:\/\/edi-labs.com\/claudecode\/?p=394"},"modified":"2018-04-01T20:50:52","modified_gmt":"2018-04-01T23:50:52","slug":"workshop-de-arquitetura-de-microsservicos","status":"publish","type":"post","link":"https:\/\/edi-labs.com\/claudecode\/en\/2018\/04\/01\/workshop-de-arquitetura-de-microsservicos\/","title":{"rendered":"Workshop de Arquitetura de Microsservi\u00e7os"},"content":{"rendered":"<blockquote><p>Microservices is a loosely-coupled, service-oriented architecture with bounded context.<br \/>\nAdrian Crockcoft<\/p><\/blockquote>\n<p>O modelo de implementa\u00e7\u00e3o de uma Arquitetura Orientada a Servi\u00e7os baseada em ESB (\u201cEnterprise Service Bus\u201d) produziu ambientes de dif\u00edcil manuten\u00e7\u00e3o e evolu\u00e7\u00e3o tecnol\u00f3gica. A aplica\u00e7\u00e3o de t\u00e9cnicas de DevOps e Desenvolvimento \u00c1gil neste ambientes, por exemplo, apresentam diversas dificuldades.\u00a0O modelo de implementa\u00e7\u00e3o orientado a Microsservi\u00e7os (MSA \u2013 Microservices Architecture) oferece uma flexibilidade muito grande para\u00a0tomadas de decis\u00f5es tecnol\u00f3gicas levando a um desenvolvimento menos custoso.<\/p>\n<p><strong>Objetivo<\/strong><\/p>\n<p>O objetivo deste Workshop de 4 horas \u00e9 apresentar uma compara\u00e7\u00e3o entre os dois modelos de implementa\u00e7\u00e3o (ESB e MSA) assim como\u00a0a elabora\u00e7\u00e3o de um processo de transi\u00e7\u00e3o entre o Mon\u00f3lito ESB e a configura\u00e7\u00e3o inerentemente distruibu\u00edda dos Microsservi\u00e7os atrav\u00e9s\u00a0de uma Arquitetura de Refer\u00eancia.\u00a0O Workshop exercita a implementa\u00e7\u00e3o dos Microservices em Tecnologias fornecidas pela AWS \u2013 Amazon Web Services.<\/p>\n<p><strong>Conte\u00fado Program\u00e1tico<\/strong><\/p>\n<ul>\n<li>Arquitetura de Refer\u00eancia para Conviv\u00eancia entre ESB e MSA.<\/li>\n<li>Domain-Driven Design<\/li>\n<li>API Management\n<ul>\n<li>API Gateway, Portal de Desenvolvedores, Monitora\u00e7\u00e3o, Billing<\/li>\n<\/ul>\n<\/li>\n<li>Service Orientation em ESB e MSA<\/li>\n<li>Aspecto tecnol\u00f3gicos em Microservice Architecture\n<ul>\n<li>Service Discovery (Client-side vs. Server-side)<\/li>\n<li>Seguran\u00e7a (Autentica\u00e7\u00e3o, Fatores de Autentica\u00e7\u00e3o, Single Sign-On, Autoriza\u00e7\u00e3o (controle de acesso), Federa\u00e7\u00e3o)<\/li>\n<li>Comunica\u00e7\u00e3o entre Microsservi\u00e7os (S\u00edncrona vs. Ass\u00edncrona)<\/li>\n<li>Composi\u00e7\u00e3o de Microsservi\u00e7os (Orquestra\u00e7\u00e3o, Coreografia)<\/li>\n<li>Processamento Transacional (Two-Phase Commit, Compensa\u00e7\u00e3o (Saga))<\/li>\n<li>Anatomia de um Microsservi\u00e7o (Fatores e Princ\u00edpios)<\/li>\n<li>CAP Theorem<\/li>\n<\/ul>\n<\/li>\n<li>Patterns mais usados:\n<ul>\n<li>Bounded Context<\/li>\n<li>Strangler<\/li>\n<li>Service Mesh<\/li>\n<li>Anti-Corruption Layer<\/li>\n<li>Backends to Frontends (BFF)<\/li>\n<\/ul>\n<\/li>\n<li>Refactoring de Servi\u00e7os<\/li>\n<li>Refactoring de Bancos de Dados\n<ul>\n<li>RDBMS, NoSQL, Caches<\/li>\n<li>Sharding<\/li>\n<li>CRUD (Create, Read, Update, Delete) vs. CQRS (Command and Query Responsibility Segregration)<\/li>\n<li>ACID vs. BASE<\/li>\n<\/ul>\n<\/li>\n<li>Monitora\u00e7\u00e3o de Microsservi\u00e7os.\n<ul>\n<li>Logstream<\/li>\n<\/ul>\n<\/li>\n<li>Tecnologias mais usadas para implementa\u00e7\u00e3o de MSA\n<ul>\n<li>Compute Services (IaaS, CaaS, PaaS, FaaS)<\/li>\n<li>Kubernetes &amp; Istio<\/li>\n<\/ul>\n<\/li>\n<li>\u201cBlueprint\u201d para implementa\u00e7\u00e3o de Microsservi\u00e7os\n<ul>\n<li>Qualifica\u00e7\u00e3o de oportunidades de migra\u00e7\u00e3o<\/li>\n<li>Estrat\u00e9gias de Migra\u00e7\u00e3o<\/li>\n<li>Esteiras de Implementa\u00e7\u00e3o<\/li>\n<\/ul>\n<\/li>\n<li>Tecnologias AWS\n<ul>\n<li>API Gateway<\/li>\n<li>Compute Services (ECS, EC2. EKS, Beanstalk, Lambda)<\/li>\n<li>Cache e Bancos de Dados (ElastiCache, RDS, DynamoDB)<\/li>\n<li>Mensagens (SQS, SNS)<\/li>\n<li>Orquestra\u00e7\u00e3o (Step Functions)<\/li>\n<li>Seguran\u00e7a (IAM, STS)<\/li>\n<li>Mobilidade (Cognito)<\/li>\n<li>Monitora\u00e7\u00e3o (CloudWatch)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Microservices is a loosely-coupled, service-oriented architecture with bounded context. Adrian Crockcoft O modelo de implementa\u00e7\u00e3o de uma Arquitetura Orientada a Servi\u00e7os baseada em ESB (\u201cEnterprise Service Bus\u201d) produziu ambientes de dif\u00edcil manuten\u00e7\u00e3o e evolu\u00e7\u00e3o tecnol\u00f3gica. A aplica\u00e7\u00e3o de t\u00e9cnicas de&hellip;<\/p>","protected":false},"author":1,"featured_media":395,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[7,29],"tags":[],"class_list":["post-394","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia","category-treinamentos","entry","has-media"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/posts\/394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/comments?post=394"}],"version-history":[{"count":6,"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/posts\/394\/revisions"}],"predecessor-version":[{"id":407,"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/posts\/394\/revisions\/407"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/media\/395"}],"wp:attachment":[{"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/media?parent=394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/categories?post=394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/edi-labs.com\/claudecode\/en\/wp-json\/wp\/v2\/tags?post=394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}