{"id":2746,"date":"2018-10-17T09:54:42","date_gmt":"2018-10-17T09:54:42","guid":{"rendered":"https:\/\/lcloud.pl\/?p=2746"},"modified":"2024-12-12T11:40:02","modified_gmt":"2024-12-12T10:40:02","slug":"chaos-engineering","status":"publish","type":"post","link":"https:\/\/lcloud.pl\/en\/chaos-engineering\/","title":{"rendered":"Chaos engineering &#8211; how to introduce controlled errors which can help in the designing computer systems"},"content":{"rendered":"<h4 style=\"text-align: justify;\"><span style=\"font-size: 24px; color: #199ad8;\">Chaos &#8230; is mainly associated with the disorder and lack of order. So where does the idea to use the assumptions related to this idea come from? And why to combine it with solutions in the cloud?<\/span><\/h4>\n<h4 style=\"text-align: justify;\"><span style=\"font-size: 24px; color: #199ad8;\">In today&#8217;s post, we will try to outline the concept of &#8220;cloud armageddon&#8221;, which is successfully used by Netflix engineers in their daily work.<\/span><\/h4>\n<p style=\"text-align: justify;\"><span style=\"font-size: 19px;\">Chaos engineering is a &#8220;testing&#8221; approach to system behaviour in extreme situations, through the use of an empirical concept. The concept allows for a kind of &#8220;conducting an experiment&#8221;, which is compared to the activities performed by scientists during the study of physical or social phenomena. It allows you to build stable and fault-tolerant systems. It gives the possibility of early detection of problems and failures of various types, thanks to which the revealed errors can be prevented earlier, and solution that will resist them in the future can be created. It consists in deliberately inducing &#8220;disturbances&#8221; in a functioning system, in order to create its best possible version. In addition, this approach allows you to explore events such as increased traffic on the site, which can become a great &#8220;experimental&#8221; case.<\/span><\/p>\n<h6 style=\"text-align: justify;\"><\/h6>\n<h6 style=\"text-align: justify;\"><span style=\"font-size: 19px; color: #199ad8;\"><strong>So, why is this technique better than others?<\/strong><\/span><\/h6>\n<p style=\"text-align: justify;\"><span style=\"font-size: 19px;\">The fundamental difference, that exists between <em>chaos testing<\/em> approach and routine system or application tests, is based on an empirical factor that allows you to acquire new knowledge about a given system. The result of a standard test is a binary value that uniquely determines whether the tested application will work correctly or not. <em>Chaos testing<\/em> allows you to take new actions affecting the development and improvement of the existing version of the system. Thanks to the introduction of unexpected problems and errors or empirical variables, such as the aforementioned increased traffic on the website, we can check and consequently predict the operation of the system and exclude problems that will cause failures.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 19px;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2856\" src=\"https:\/\/lcloud.pl\/wp-content\/uploads\/Projekt-bez-tytu\u0142u.png\" alt=\"\" width=\"990\" height=\"500\" \/><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 19px;\"><em><span style=\"font-size: 12px;\">Source: <\/span><a href=\"https:\/\/www.freepik.com\/free-photos-vectors\/business\"><span style=\"font-size: 12px;\">Business vector created by Vectorpocket &#8211; Freepik.com<\/span><\/a><\/em><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 19px;\">Based on numerous experiments with testing, in order to improve <em>chaos testin<\/em>g, in 2011 engineers working at Netflix created a tool called Chaos Monkey. Its operation is based on a purposeful shutdown of servers in the production network of the serial giant. <span style=\"color: #199ad8;\"><strong>This allows you to check the behaviour of other systems during such a controlled failure, i.e. the impact of the lack or partial non-operation of the service on the entire system.<\/strong> <\/span>Netflix&#8217;s tool was initially part of a set of tools functioning under the name<span style=\"color: #199ad8;\"> Simian Army<\/span>, which was used to check the reliability, security and resilience of the AWS-based infrastructure. Currently, the project has been completed and <span style=\"color: #199ad8;\">Chaos Monkey<\/span> is being developed as an independent project, in accordance with the assumptions of the DevOps methodology. It meets the need for continuous testing, ensuring a sufficient level of trust and security of computer systems. It is also part of the <em>Design for failure<\/em> pattern, which aims at any failure of the underlying system component ( it may be software or hardware). In 2015 <span style=\"color: #199ad8;\">Chaos Kong<\/span> joined Chaos tools, which simulates the unavailability of the entire AWS region, and in 2017 their family was expanded by the <span style=\"color: #199ad8;\">Chaos Automation Platform<\/span>, abbreviated as <span style=\"color: #199ad8;\">ChAP<\/span>, allowing to capture security gaps during the &#8220;injection&#8221; of micro-service failures.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 19px;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2852\" src=\"https:\/\/lcloud.pl\/wp-content\/uploads\/CQeWirzW8AANI2f.jpg\" alt=\"\" width=\"240\" height=\"300\" \/><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 19px;\">Having some knowledge about the assumptions and tools of chaos engineering, we can go to the <span style=\"color: #199ad8;\"><strong>Chaos Rules<\/strong><\/span>. They are guidelines that allow the implementation of the title approach in practice:<\/span><\/p>\n<ol style=\"text-align: justify;\">\n<li><span style=\"font-size: 19px;\"><span style=\"color: #199ad8;\"><em>Build hypotheses around a permanent state of affairs<\/em><\/span> &#8211; focus on the reliable result of the system, not its properties. This rule allows you to check if the system actually works, and not how it works.<\/span><\/li>\n<li><span style=\"font-size: 19px;\"><span style=\"color: #199ad8;\"><em>Change real events<\/em><\/span> &#8211; prioritize events that have a potential impact on the operation of the system or taking into account the frequency of their occurrence. Events should be understood as &#8220;chaos variables&#8221;, which are, for example, sudden jumps in motion or scaling. You should not combine such situations like loss of servers and others.<\/span><\/li>\n<li><span style=\"font-size: 19px;\"><i><span style=\"color: #199ad8;\">Run experiments on production<\/span> &#8211; <\/i>it&#8217;s worth experimenting on production to preserve the authenticity and timeliness of the system being created.<\/span><\/li>\n<li><span style=\"font-size: 19px;\"><i><span style=\"color: #199ad8;\">Automate the process of experiments<\/span> &#8211; <\/i>automation allows you to maintain continuity during the experiment, while controlling the orchestration and analysis.<\/span><\/li>\n<li><span style=\"font-size: 19px;\"><i><span style=\"color: #199ad8;\">Minimize the blast radius<\/span> &#8211;<\/i> there is a tolerance limit for the temporary negative effects of experiments. They allow you to minimize and reduce these potentials on a large scale.<\/span><\/li>\n<\/ol>\n<p style=\"text-align: justify;\"><span style=\"font-size: 19px;\">Chaos engineering, although it is a relatively young approach, it is an extremely powerful practice. It completely changes the way software and entire systems are designed and constructed. At the moment when the rest of the world is working on the speed and flexibility of systems, chaos engineering explores the sphere of systemic uncertainty. Chaos Rules allow quick implementation of innovations on a large scale, ensuring high quality of experience for the recipient.<\/span><\/p>\n<p style=\"text-align: justify;\">\n","protected":false},"excerpt":{"rendered":"<p>Chaos &#8230; is mainly associated with the disorder and lack of order. So where does the idea to use the assumptions related to this idea come from? And why to combine it with solutions in the cloud? In today&#8217;s post, we will try to outline the concept of &#8220;cloud armageddon&#8221;, which is successfully used by [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":10110,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[30,147,37,35,14,34],"class_list":["post-2746","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-aws-en","tag-chmura-obliczeniowa-en","tag-cloud","tag-cloud-computing","tag-devops-en","tag-security"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Chaos engineering - a way to a stable and failure-free system | Lcloud<\/title>\n<meta name=\"description\" content=\"Chaos testing is one of the ways to check the capabilities of systems and eliminate potential errors during its creation.\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chaos engineering - a way to a stable and failure-free system | Lcloud\" \/>\n<meta property=\"og:description\" content=\"Chaos testing is one of the ways to check the capabilities of systems and eliminate potential errors during its creation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lcloud.pl\/en\/chaos-engineering\/\" \/>\n<meta property=\"og:site_name\" content=\"LCloud\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-17T09:54:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-12T10:40:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lcloud.pl\/wp-content\/uploads\/Inzynieria-chaosu-\u2013-czyli-jak-wprowadzanie-kontrolowanych-bledow-moze-pomoc-w-projektowaniu-systemow-komputerowych-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"274\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"LCloud\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"LCloud\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lcloud.pl\/en\/chaos-engineering\/\",\"url\":\"https:\/\/lcloud.pl\/en\/chaos-engineering\/\",\"name\":\"Chaos engineering - a way to a stable and failure-free system | Lcloud\",\"isPartOf\":{\"@id\":\"https:\/\/lcloud.pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lcloud.pl\/en\/chaos-engineering\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lcloud.pl\/en\/chaos-engineering\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lcloud.pl\/wp-content\/uploads\/Inzynieria-chaosu-\u2013-czyli-jak-wprowadzanie-kontrolowanych-bledow-moze-pomoc-w-projektowaniu-systemow-komputerowych-1.jpg\",\"datePublished\":\"2018-10-17T09:54:42+00:00\",\"dateModified\":\"2024-12-12T10:40:02+00:00\",\"author\":{\"@id\":\"https:\/\/lcloud.pl\/#\/schema\/person\/4514b7cb65efcf283a08aebc7269087f\"},\"description\":\"Chaos testing is one of the ways to check the capabilities of systems and eliminate potential errors during its creation.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lcloud.pl\/en\/chaos-engineering\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lcloud.pl\/en\/chaos-engineering\/#primaryimage\",\"url\":\"https:\/\/lcloud.pl\/wp-content\/uploads\/Inzynieria-chaosu-\u2013-czyli-jak-wprowadzanie-kontrolowanych-bledow-moze-pomoc-w-projektowaniu-systemow-komputerowych-1.jpg\",\"contentUrl\":\"https:\/\/lcloud.pl\/wp-content\/uploads\/Inzynieria-chaosu-\u2013-czyli-jak-wprowadzanie-kontrolowanych-bledow-moze-pomoc-w-projektowaniu-systemow-komputerowych-1.jpg\",\"width\":1440,\"height\":274,\"caption\":\"In\u017cynieria chaosu \u2013 czyli jak wprowadzanie kontrolowanych b\u0142\u0119d\u00f3w mo\u017ce pom\u00f3c w projektowaniu system\u00f3w komputerowych\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lcloud.pl\/#website\",\"url\":\"https:\/\/lcloud.pl\/\",\"name\":\"LCloud\",\"description\":\"AWS Advanced Consulting Partner | APN Well-Architected Partner\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lcloud.pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/lcloud.pl\/#\/schema\/person\/4514b7cb65efcf283a08aebc7269087f\",\"name\":\"LCloud\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lcloud.pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/61f46c824c899f1219b825e20fe617f3f16e4cd29b62c016d533e3f2b154c604?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/61f46c824c899f1219b825e20fe617f3f16e4cd29b62c016d533e3f2b154c604?s=96&d=mm&r=g\",\"caption\":\"LCloud\"},\"url\":\"https:\/\/lcloud.pl\/en\/author\/developers\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chaos engineering - a way to a stable and failure-free system | Lcloud","description":"Chaos testing is one of the ways to check the capabilities of systems and eliminate potential errors during its creation.","og_locale":"en_US","og_type":"article","og_title":"Chaos engineering - a way to a stable and failure-free system | Lcloud","og_description":"Chaos testing is one of the ways to check the capabilities of systems and eliminate potential errors during its creation.","og_url":"https:\/\/lcloud.pl\/en\/chaos-engineering\/","og_site_name":"LCloud","article_published_time":"2018-10-17T09:54:42+00:00","article_modified_time":"2024-12-12T10:40:02+00:00","og_image":[{"width":1440,"height":274,"url":"https:\/\/lcloud.pl\/wp-content\/uploads\/Inzynieria-chaosu-\u2013-czyli-jak-wprowadzanie-kontrolowanych-bledow-moze-pomoc-w-projektowaniu-systemow-komputerowych-1.jpg","type":"image\/jpeg"}],"author":"LCloud","twitter_card":"summary_large_image","twitter_misc":{"Written by":"LCloud","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/lcloud.pl\/en\/chaos-engineering\/","url":"https:\/\/lcloud.pl\/en\/chaos-engineering\/","name":"Chaos engineering - a way to a stable and failure-free system | Lcloud","isPartOf":{"@id":"https:\/\/lcloud.pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lcloud.pl\/en\/chaos-engineering\/#primaryimage"},"image":{"@id":"https:\/\/lcloud.pl\/en\/chaos-engineering\/#primaryimage"},"thumbnailUrl":"https:\/\/lcloud.pl\/wp-content\/uploads\/Inzynieria-chaosu-\u2013-czyli-jak-wprowadzanie-kontrolowanych-bledow-moze-pomoc-w-projektowaniu-systemow-komputerowych-1.jpg","datePublished":"2018-10-17T09:54:42+00:00","dateModified":"2024-12-12T10:40:02+00:00","author":{"@id":"https:\/\/lcloud.pl\/#\/schema\/person\/4514b7cb65efcf283a08aebc7269087f"},"description":"Chaos testing is one of the ways to check the capabilities of systems and eliminate potential errors during its creation.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lcloud.pl\/en\/chaos-engineering\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lcloud.pl\/en\/chaos-engineering\/#primaryimage","url":"https:\/\/lcloud.pl\/wp-content\/uploads\/Inzynieria-chaosu-\u2013-czyli-jak-wprowadzanie-kontrolowanych-bledow-moze-pomoc-w-projektowaniu-systemow-komputerowych-1.jpg","contentUrl":"https:\/\/lcloud.pl\/wp-content\/uploads\/Inzynieria-chaosu-\u2013-czyli-jak-wprowadzanie-kontrolowanych-bledow-moze-pomoc-w-projektowaniu-systemow-komputerowych-1.jpg","width":1440,"height":274,"caption":"In\u017cynieria chaosu \u2013 czyli jak wprowadzanie kontrolowanych b\u0142\u0119d\u00f3w mo\u017ce pom\u00f3c w projektowaniu system\u00f3w komputerowych"},{"@type":"WebSite","@id":"https:\/\/lcloud.pl\/#website","url":"https:\/\/lcloud.pl\/","name":"LCloud","description":"AWS Advanced Consulting Partner | APN Well-Architected Partner","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lcloud.pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/lcloud.pl\/#\/schema\/person\/4514b7cb65efcf283a08aebc7269087f","name":"LCloud","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lcloud.pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/61f46c824c899f1219b825e20fe617f3f16e4cd29b62c016d533e3f2b154c604?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/61f46c824c899f1219b825e20fe617f3f16e4cd29b62c016d533e3f2b154c604?s=96&d=mm&r=g","caption":"LCloud"},"url":"https:\/\/lcloud.pl\/en\/author\/developers\/"}]}},"_links":{"self":[{"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/posts\/2746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/comments?post=2746"}],"version-history":[{"count":4,"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/posts\/2746\/revisions"}],"predecessor-version":[{"id":10112,"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/posts\/2746\/revisions\/10112"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/media\/10110"}],"wp:attachment":[{"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/media?parent=2746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/categories?post=2746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lcloud.pl\/en\/wp-json\/wp\/v2\/tags?post=2746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}