{"id":3831,"date":"2018-10-03T17:15:19","date_gmt":"2018-10-03T14:15:19","guid":{"rendered":"https:\/\/www.systemcodegeeks.com\/?p=3831"},"modified":"2018-10-03T12:39:58","modified_gmt":"2018-10-03T09:39:58","slug":"cloud-native-container-design-principles","status":"publish","type":"post","link":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/","title":{"rendered":"Cloud Native Container Design Principles"},"content":{"rendered":"<h3>Software design principles<\/h3>\n<p>Principles exist in many areas of life, and they generally represent a fundamental truth or belief from which others are derived. In software, principles are rather abstract guidelines, which are supposed to be followed while designing software. There are fundamental principles for writing quality software such as KISS (Keep it simple, stupid), DRY (Don\u2019t repeat yourself), YAGNI (You aren\u2019t gonna need it), SoC (Separation of concerns), etc. Even if these principles do not specify concrete rules, they represent a language and common wisdom that many developers understand and refer to regularly.<\/p>\n<p>There are also SOLID principles that were introduced by\u00a0<a href=\"https:\/\/twitter.com\/unclebobmartin\" target=\"_blank\" rel=\"noopener\">Robert C. Martin<\/a>, which represent guidelines for writing better object-oriented software. It is a framework consisting of complementary principles that are generic and open for interpretation but still give enough direction for creating better object-oriented designs. The SOLID principles use object-oriented primitives and concepts such as classes, interfaces, and inheritance for reasoning about object-oriented designs. In a similar way, there also principles for designing cloud native applications in which the main primitive is the container image rather than a class. Following these principles will ensure that the resulting containers behave like a good cloud native citizen, allowing them to be scheduled, scaled, and monitored in an automated fashion.<\/p>\n<h3>SOLID principles for cloud native applications<\/h3>\n<p>Cloud native applications anticipate failure; they run and scale reliably even when their infrastructure experiences outages. To offer such capabilities, cloud native platforms like Kubernetes impose a set of contracts on applications. These contracts ensure that applications they run conform to certain constraints and allow the platform to automate application management. Nowadays, it is possible to put almost any application in a container and run it. But to create a containerized application that can be automated and orchestrated effectively by a cloud native platform such as Kubernetes requires additional efforts. The principles for creating containerized applications listed here use the container as the basic primitive and the container orchestration platforms as the target container runtime environment.<\/p>\n<figure id=\"attachment_3833\" aria-describedby=\"caption-attachment-3833\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2018\/10\/cloud_native_design_principles.png\"><img decoding=\"async\" class=\"wp-image-3833 size-large\" src=\"http:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2018\/10\/cloud_native_design_principles-1024x505.png\" alt=\"Design Principles\" width=\"620\" height=\"306\" srcset=\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2018\/10\/cloud_native_design_principles-1024x505.png 1024w, https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2018\/10\/cloud_native_design_principles-300x148.png 300w, https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2018\/10\/cloud_native_design_principles-768x379.png 768w, https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2018\/10\/cloud_native_design_principles.png 1600w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><figcaption id=\"caption-attachment-3833\" class=\"wp-caption-text\">Principles of container-based application design<\/figcaption><\/figure>\n<p>Below is a short description of what each principle implies. To read in more debth, download the freely available white paper from\u00a0<a href=\"https:\/\/www.redhat.com\/en\/resources\/cloud-native-container-design-whitepaper\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><b>Build time<\/b>:<\/p>\n<ul>\n<li><b>Single Concern<\/b>: Each container addresses a single concern and does it well.<\/li>\n<li><b>Self-Containment<\/b>: A container relies only on the presence of the Linux kernel. Additional libraries are added when the container is built.<\/li>\n<li><b>Image Immutability<\/b>: Containerized applications are meant to be immutable, and once built are not expected to change between different environments.<\/li>\n<\/ul>\n<p><b>Runtime<\/b>:<\/p>\n<ul>\n<li><b>High Observability<\/b>: Every container must implement all necessary APIs to help the platform observe and manage the application in the best way possible.<\/li>\n<li><b>Lifecycle Conformance<\/b>: A container must have a way to read events coming from the platform and conform by reacting to those events.<\/li>\n<li><b>Process Disposability<\/b>: Containerized applications must be as ephemeral as possible and ready to be replaced by another container instance at any point in time.<\/li>\n<li><b>Runtime Confinement<\/b>: Every container must declare its resource requirements and restrict resource use to the requirements indicated.<\/li>\n<\/ul>\n<p>The build time principles ensure that containers have the right granularity, consistency, and structure in place. The runtime principles dictate what functionalities must be implemented in order for containerized applications to possess cloud native function. Adhering these principles, we are more likely to create containerized applications that are better suited for automation in cloud native platforms such as Kubernetes. Check out the\u00a0<a href=\"https:\/\/www.redhat.com\/en\/resources\/cloud-native-container-design-whitepaper\" target=\"_blank\" rel=\"noopener\">white paper<\/a> for more details.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>Published on System Code Geeks with permission by Bilgin Ibryam, partner at our <a href=\"\/\/www.systemcodegeeks.com\/join-us\/scg\/\" target=\"_blank\" rel=\"noopener\">SCG program<\/a>. See the original article here: <a href=\"https:\/\/www.ofbizian.com\/2018\/10\/cloud-native-container-design-principles.html\" target=\"_blank\" rel=\"noopener\">Cloud Native Container Design Principles<\/a><\/p>\n<p>Opinions expressed by System Code Geeks contributors are their own.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Software design principles Principles exist in many areas of life, and they generally represent a fundamental truth or belief from which others are derived. In software, principles are rather abstract guidelines, which are supposed to be followed while designing software. There are fundamental principles for writing quality software such as KISS (Keep it simple, stupid), &hellip;<\/p>\n","protected":false},"author":2990,"featured_media":188,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39],"tags":[141,162,145],"class_list":["post-3831","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","tag-containers","tag-design","tag-kubernetes"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cloud Native Container Design Principles - System Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Interested to learn about design principles? Check our article of software design principles in cloud native applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloud Native Container Design Principles - System Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Interested to learn about design principles? Check our article of software design principles in cloud native applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/\" \/>\n<meta property=\"og:site_name\" content=\"System Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/systemcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-03T14:15:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Bilgin Ibryam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bibryam\" \/>\n<meta name=\"twitter:site\" content=\"@systemcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bilgin Ibryam\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/\"},\"author\":{\"name\":\"Bilgin Ibryam\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/2576e56bb5b0b9021eb78b1ac1c6e2a2\"},\"headline\":\"Cloud Native Container Design Principles\",\"datePublished\":\"2018-10-03T14:15:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/\"},\"wordCount\":619,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg\",\"keywords\":[\"Containers\",\"Design\",\"Kubernetes\"],\"articleSection\":[\"DevOps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/\",\"url\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/\",\"name\":\"Cloud Native Container Design Principles - System Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg\",\"datePublished\":\"2018-10-03T14:15:19+00:00\",\"description\":\"Interested to learn about design principles? Check our article of software design principles in cloud native applications.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#primaryimage\",\"url\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg\",\"contentUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.systemcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/www.systemcodegeeks.com\/category\/devops\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cloud Native Container Design Principles\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#website\",\"url\":\"https:\/\/www.systemcodegeeks.com\/\",\"name\":\"System Code Geeks\",\"description\":\"Operating System Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.systemcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.systemcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/systemcodegeeks\",\"https:\/\/x.com\/systemcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/2576e56bb5b0b9021eb78b1ac1c6e2a2\",\"name\":\"Bilgin Ibryam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/03f95018c41aee260c1d9d1435c7bdc0c4dd39e84af20eb900efccb26b2834ad?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/03f95018c41aee260c1d9d1435c7bdc0c4dd39e84af20eb900efccb26b2834ad?s=96&d=mm&r=g\",\"caption\":\"Bilgin Ibryam\"},\"description\":\"Bilgin is a software craftsman based in London, integration architect at Red Hat, Apache Camel and Apache OFBiz committer. He is an open source fanatic, passionate about distributed systems, messaging, enterprise integration patterns, and application integration. He is also the author of Camel Design Patterns and Instant Apache Camel Message Routing books.\",\"sameAs\":[\"http:\/\/www.ofbizian.com\/\",\"http:\/\/www.linkedin.com\/in\/bibryam\",\"https:\/\/x.com\/bibryam\"],\"url\":\"https:\/\/www.systemcodegeeks.com\/author\/bilgin-ibryam\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cloud Native Container Design Principles - System Code Geeks - 2026","description":"Interested to learn about design principles? Check our article of software design principles in cloud native applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/","og_locale":"en_US","og_type":"article","og_title":"Cloud Native Container Design Principles - System Code Geeks - 2026","og_description":"Interested to learn about design principles? Check our article of software design principles in cloud native applications.","og_url":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/","og_site_name":"System Code Geeks","article_publisher":"https:\/\/www.facebook.com\/systemcodegeeks","article_published_time":"2018-10-03T14:15:19+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg","type":"image\/jpeg"}],"author":"Bilgin Ibryam","twitter_card":"summary_large_image","twitter_creator":"@bibryam","twitter_site":"@systemcodegeeks","twitter_misc":{"Written by":"Bilgin Ibryam","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#article","isPartOf":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/"},"author":{"name":"Bilgin Ibryam","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/2576e56bb5b0b9021eb78b1ac1c6e2a2"},"headline":"Cloud Native Container Design Principles","datePublished":"2018-10-03T14:15:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/"},"wordCount":619,"commentCount":0,"publisher":{"@id":"https:\/\/www.systemcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg","keywords":["Containers","Design","Kubernetes"],"articleSection":["DevOps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/","url":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/","name":"Cloud Native Container Design Principles - System Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.systemcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#primaryimage"},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg","datePublished":"2018-10-03T14:15:19+00:00","description":"Interested to learn about design principles? Check our article of software design principles in cloud native applications.","breadcrumb":{"@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#primaryimage","url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg","contentUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/devops-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.systemcodegeeks.com\/devops\/cloud-native-container-design-principles\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.systemcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/www.systemcodegeeks.com\/category\/devops\/"},{"@type":"ListItem","position":3,"name":"Cloud Native Container Design Principles"}]},{"@type":"WebSite","@id":"https:\/\/www.systemcodegeeks.com\/#website","url":"https:\/\/www.systemcodegeeks.com\/","name":"System Code Geeks","description":"Operating System Developers Resource Center","publisher":{"@id":"https:\/\/www.systemcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.systemcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.systemcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.systemcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/systemcodegeeks","https:\/\/x.com\/systemcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/2576e56bb5b0b9021eb78b1ac1c6e2a2","name":"Bilgin Ibryam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/03f95018c41aee260c1d9d1435c7bdc0c4dd39e84af20eb900efccb26b2834ad?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/03f95018c41aee260c1d9d1435c7bdc0c4dd39e84af20eb900efccb26b2834ad?s=96&d=mm&r=g","caption":"Bilgin Ibryam"},"description":"Bilgin is a software craftsman based in London, integration architect at Red Hat, Apache Camel and Apache OFBiz committer. He is an open source fanatic, passionate about distributed systems, messaging, enterprise integration patterns, and application integration. He is also the author of Camel Design Patterns and Instant Apache Camel Message Routing books.","sameAs":["http:\/\/www.ofbizian.com\/","http:\/\/www.linkedin.com\/in\/bibryam","https:\/\/x.com\/bibryam"],"url":"https:\/\/www.systemcodegeeks.com\/author\/bilgin-ibryam\/"}]}},"_links":{"self":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts\/3831","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/users\/2990"}],"replies":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/comments?post=3831"}],"version-history":[{"count":0,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts\/3831\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/media\/188"}],"wp:attachment":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/media?parent=3831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/categories?post=3831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/tags?post=3831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}