{"id":3244,"date":"2020-07-22T08:29:21","date_gmt":"2020-07-22T08:29:21","guid":{"rendered":"http:\/\/roberval.com.br\/roberval\/?p=3244"},"modified":"2020-07-22T05:45:14","modified_gmt":"2020-07-22T08:45:14","slug":"goto-masterclasses","status":"publish","type":"post","link":"https:\/\/roberval.com.br\/roberval\/2020\/07\/goto-masterclasses\/","title":{"rendered":"GOTO Masterclasses"},"content":{"rendered":"<div>\n<div dir=\"ltr\"><a href=\"https:\/\/gotocph.com\/2020\/pages\/osmc-designing-microservices\">gotocph.com\/2020\/pages\/osmc-designing-microservices<\/a><\/div>\n<div><\/div>\n<div>\n<p style=\"box-sizing: border-box; margin: 0px 0px 30px; padding: 0px; font-family: \"Open Sans\", sans-serif; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px; font-weight: 700;\">Introducing Microservices<\/span><br style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"\/><\/p>\n<ul style=\"box-sizing: border-box; margin: 20px 0px; padding: 0px 0px 0px 20px; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-family: \"Open Sans\", sans-serif; font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\">\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">What microservices are<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Technology<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Advantages of microservices<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Disadvantages of microservices<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">When should you use them, and when shouldn\u00e2\u20ac\u2122t you use them?<\/li>\n<\/ul>\n<p style=\"box-sizing: border-box; margin: 0px 0px 30px; padding: 0px; font-family: \"Open Sans\", sans-serif; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px; font-weight: 700;\">Service Modelling<\/span><br style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"\/><\/p>\n<ul style=\"box-sizing: border-box; margin: 20px 0px; padding: 0px 0px 0px 20px; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-family: \"Open Sans\", sans-serif; font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\">\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Characteristics of \u00e2\u20ac\u0153good\u00e2\u20ac\u009d services<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Introduction to domain driven design<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Usefulness of Bounded Contexts when defining service boundaries<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Event Storming and Capability Modelling<\/li>\n<\/ul>\n<p style=\"box-sizing: border-box; margin: 0px 0px 30px; padding: 0px; font-family: \"Open Sans\", sans-serif; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px; font-weight: 700;\">Splitting out services<\/span><br style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"\/><\/p>\n<ul style=\"box-sizing: border-box; margin: 20px 0px; padding: 0px 0px 0px 20px; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-family: \"Open Sans\", sans-serif; font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\">\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Planning a transition<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Incremental decomposition patterns<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Splitting the schema<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Discussion of CAP theory, distributed transactions and eventual consistency<\/li>\n<\/ul>\n<p style=\"box-sizing: border-box; margin: 0px 0px 30px; padding: 0px; font-family: \"Open Sans\", sans-serif; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px; font-weight: 700;\">Service Collaboration<\/span><br style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"\/><\/p>\n<ul style=\"box-sizing: border-box; margin: 20px 0px; padding: 0px 0px 0px 20px; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-family: \"Open Sans\", sans-serif; font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\">\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Synchronous vs asynchronous<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Event-based collaboration vs<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Request\/Response<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Coverage of technology options<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">including REST, RPC, Actor<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">frameworks, Message Brokers including Kafka<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Choreography vs Orchestration<\/li>\n<\/ul>\n<p style=\"box-sizing: border-box; margin: 0px 0px 30px; padding: 0px; font-family: \"Open Sans\", sans-serif; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px; font-weight: 700;\">Testing<\/span><br style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"\/><\/p>\n<ul style=\"box-sizing: border-box; margin: 20px 0px; padding: 0px 0px 0px 20px; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-family: \"Open Sans\", sans-serif; font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\">\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">End-to-end testing in a microservice world<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Test types and feedback<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Consumer-driven contracts<\/li>\n<\/ul>\n<p style=\"box-sizing: border-box; margin: 0px 0px 30px; padding: 0px; font-family: \"Open Sans\", sans-serif; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px; font-weight: 700;\">Observability<\/span><br style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"\/><\/p>\n<ul style=\"box-sizing: border-box; margin: 20px 0px; padding: 0px 0px 0px 20px; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-family: \"Open Sans\", sans-serif; font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\">\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Log aggregation<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Correlation IDs<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Metrics collection<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Semantic monitoring<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Real-user monitoring<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Synthetic Transactions<\/li>\n<\/ul>\n<p style=\"box-sizing: border-box; margin: 0px 0px 30px; padding: 0px; font-family: \"Open Sans\", sans-serif; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\"><span style=\"box-sizing: border-box; margin: 0px; padding: 0px; font-weight: 700;\">Resiliency &amp; Scaling<\/span><br style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"\/><\/p>\n<ul style=\"box-sizing: border-box; margin: 20px 0px; padding: 0px 0px 0px 20px; caret-color: rgb(68, 68, 68); color: rgb(68, 68, 68); font-family: \"Open Sans\", sans-serif; font-size: 18px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-size-adjust: 100%;\">\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Types of scaling (scaling cube + more)<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Scaling for load vs scaling for resiliency<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Circuit Breakers and connection pooling<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Bulkheads &amp; timeouts<\/li>\n<li style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">Service Meshes &amp; Message Brokers<\/li>\n<\/ul>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div dir=\"ltr\">Sent from my iPhone<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>gotocph.com\/2020\/pages\/osmc-designing-microservices Introducing Microservices What microservices are Technology Advantages of microservices Disadvantages of microservices When should you use them, and when shouldn\u00e2\u20ac\u2122t you use them? Service Modelling Characteristics of \u00e2\u20ac\u0153good\u00e2\u20ac\u009d services Introduction to domain driven design Usefulness of Bounded Contexts when defining service boundaries Event Storming and Capability Modelling Splitting out services Planning a transition Incremental [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[316],"class_list":["post-3244","post","type-post","status-publish","format-standard","hentry","category-great-stuff","tag-mail"],"_links":{"self":[{"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/posts\/3244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/comments?post=3244"}],"version-history":[{"count":0,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/posts\/3244\/revisions"}],"wp:attachment":[{"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/media?parent=3244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/categories?post=3244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roberval.com.br\/roberval\/wp-json\/wp\/v2\/tags?post=3244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}