{"id":17581,"date":"2019-12-03T06:42:50","date_gmt":"2019-12-02T21:42:50","guid":{"rendered":"http:\/\/www.skyarch.net\/blog\/?p=17581"},"modified":"2020-05-22T17:15:31","modified_gmt":"2020-05-22T08:15:31","slug":"reinvent-2019-cmy301-performing-chaos-engineering-in-a-serverless-world%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e5%8f%97%e8%ac%9b%e3%81%97%e3%81%be%e3%81%97%e3%81%9f","status":"publish","type":"post","link":"https:\/\/www.skyarch.net\/blog\/reinvent-2019-cmy301-performing-chaos-engineering-in-a-serverless-world%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e5%8f%97%e8%ac%9b%e3%81%97%e3%81%be%e3%81%97%e3%81%9f\/","title":{"rendered":"\u3010AWS re:Invent2019\u3011CMY301 Performing chaos engineering in a serverless world\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u53d7\u8b1b\u3057\u307e\u3057\u305f"},"content":{"rendered":"<ul>\n<li><a href=\"#overview\">\u6982\u8981<\/a><\/li>\n<li><a href=\"#reflink\">\u53c2\u8003\u30ea\u30f3\u30af<\/a><\/li>\n<li><a href=\"#session\">\u30bb\u30c3\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066<\/a><\/li>\n<\/ul>\n<h2 id=\"overview\">\u6982\u8981<\/h2>\n<p>Performing chaos engineering in a serverless world\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u53d7\u8b1b\u3057\u307e\u3057\u305f<br \/>\n\u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u5927\u304d\u304f\u4e0b\u8a182\u3064\u306e\u30d1\u30fc\u30c8\u306b\u5206\u304b\u308c\u8a71\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n- ChaosEngineering \u306b\u3064\u3044\u3066<br \/>\n- Serverless\/Serverless\u3067\u306eChaosEngineering\u5b9f\u8df5\u306b\u3064\u3044\u3066<\/p>\n<h3 id=\"reflink\">\u53c2\u8003\u30ea\u30f3\u30af<\/h3>\n<ul>\n<li>Serverless Chaos Engineering Demo<br \/>\n<a href=\"https:\/\/github.com\/gunnargrosch\/serverless-chaos-demo\">https:\/\/github.com\/gunnargrosch\/serverless-chaos-demo<\/a><\/li>\n<li>\u4e0a\u8a18\u30c7\u30e2\u3067\u5229\u7528\u3057\u3066\u3044\u308b Lambda-Layer \u3092\u5229\u7528\u3057\u3066 chaos-injection \u3092\u5b9f\u65bd\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea<br \/>\n<a href=\"https:\/\/github.com\/adhorn\/aws-lambda-layer-chaos-injection\">https:\/\/github.com\/adhorn\/aws-lambda-layer-chaos-injection<\/a><\/li>\n<li>\u30c7\u30e2Website<br \/>\n<a href=\"https:\/\/demo.serverlesschaos.com\/\">https:\/\/demo.serverlesschaos.com\/<\/a><\/li>\n<\/ul>\n<h2 id=\"session\">\u30bb\u30c3\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066<\/h2>\n<p>\u8a73\u7d30\u306f\u66f8\u7c4d\u7b49\u3092\u8aad\u3093\u3060\u65b9\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u306e\u3067\u3001\u30dd\u30a4\u30f3\u30c8\u3068\u601d\u308f\u308c\u308b\u90e8\u5206\u306e\u307f\u30d4\u30c3\u30af\u30a2\u30c3\u30d7\u3055\u305b\u3066\u9802\u304d\u307e\u3057\u305f\u3002<\/p>\n<h3>ChaosEngineering \u306b\u3064\u3044\u3066<\/h3>\n<h4>\u30ab\u30aa\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u3068\u306f\u4f55\u3067\u306f\u306a\u3044\u306e\u304b<\/h4>\n<ul>\n<li>\u30ab\u30aa\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u306f\u306a\u306b\u304b\u3092\u58ca\u3059\u3053\u3068\u3067\u306f\u7121\u3044<\/li>\n<li>\u30ab\u30aa\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u306f\u30ec\u30b8\u30ea\u30a2\u30f3\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u3067\u306f\u7121\u3044 <\/li>\n<li>\u30ab\u30aa\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u306f\u672c\u756a\u74b0\u5883\u3060\u3051\u306e\u305f\u3081\u306e\u7269\u3067\u306f\u7121\u3044<br \/>\n...<\/li>\n<\/ul>\n<h4>\u30ab\u30aa\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u3068\u306f\u4f55\u304b<\/h4>\n<ul>\n<li>\u30ab\u30aa\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u306f\u30b7\u30b9\u30c6\u30e0\u306e\u8106\u5f31\u306a\u90e8\u5206\u3092\u63a2\u3057\u4e8b\u524d\u306b\u4fee\u6b63\u3059\u308b\u4e8b\u3067\u3042\u308b<\/li>\n<li>\u30ab\u30aa\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u306f\u30b7\u30b9\u30c6\u30e0\u306e\u4fe1\u983c\u3092\u7f6e\u304f\u305f\u3081\u306b\u5b9f\u65bd\u3059\u308b\u4e8b\u3067\u3042\u308b<br \/>\n...<\/li>\n<\/ul>\n<h4>\u30ab\u30aa\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u306e\u5b9f\u8df5<\/h4>\n<p>Step1-5\u307e\u3067\u306b\u5206\u3051\u3066\u9032\u3081\u65b9 (\u629c\u7c8b)<\/p>\n<ul>\n<li>Step1 Define steady state (\u5b89\u5b9a\u72b6\u614b\u306e\u5b9a\u7fa9)\n<ul>\n<li>Normal behavior of our system<\/li>\n<li>System\/Business metrics<\/li>\n<\/ul>\n<\/li>\n<li>Step2 Form your hypothesis (\u4eee\u8a2d)\n<ul>\n<li>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u843d\u3061\u305f\u3089\u3069\u3046\u306a\u308b\u304b<\/li>\n<li>\u96fb\u6e90\u304c\u843d\u3061\u305f\u3089\u3069\u3046\u306a\u308b\u304b<\/li>\n<\/ul>\n<\/li>\n<li>Step3 Plan and run your experiment\n<ul>\n<li>Whiteboard\u306b\u66f8\u304d\u51fa\u3057<\/li>\n<li>\u7d44\u7e54\u306b\u4f1d\u3048\u308b<\/li>\n<\/ul>\n<\/li>\n<li>Step4 Measure and learn\n<ul>\n<li>\u4eee\u8aac\u691c\u8a3c<\/li>\n<li>\u60f3\u5b9a\u3057\u3066\u3044\u306a\u3044\u4e8b\u304c\u8d77\u3053\u3089\u306a\u304b\u3063\u305f\u304b<\/li>\n<\/ul>\n<\/li>\n<li>Step5 Scale up or abort and fix<\/li>\n<\/ul>\n<h3>Serverless\/Serverless\u3067\u306eChaosEngineering\u5b9f\u8df5\u306b\u3064\u3044\u3066<\/h3>\n<h4>\u30b5\u30fc\u30d0\u30ec\u30b9\u5171\u901a\u306e\u8106\u5f31\u3092\u751f\u307f\u3084\u3059\u3044(\u30c6\u30b9\u30c8\u3059\u308b\u30dd\u30a4\u30f3\u30c8\u3068\u306a\u308b)\u90e8\u5206<\/h4>\n<ul>\n<li>Error Handling<\/li>\n<li>Timeout values<\/li>\n<li>Events<\/li>\n<li>FallBacks<\/li>\n<li>Failovers<\/li>\n<\/ul>\n<h4>Serverless chaos experiments<\/h4>\n<p>\u69d8\u3005\u306a\u30dd\u30a4\u30f3\u30c8\u3067\u4eee\u8aac\u304c\u5b58\u5728\u3059\u308b (\u629c\u7c8b)<\/p>\n<ul>\n<li>APIGateway\n<ul>\n<li>CORS\u8a2d\u5b9a\u304c\u306a\u3051\u308c\u3070<\/li>\n<\/ul>\n<\/li>\n<li>Lambda\n<ul>\n<li>Latency\u304c\u9577\u304f\u306a\u3063\u305f\u5834\u5408 (Layer\u3092\u8ffd\u52a0\u3059\u308b\u7b49\u3067\u30c6\u30b9\u30c8)<\/li>\n<li>Exception\u3092\u8fd4\u3057\u305f\u5834\u5408<\/li>\n<\/ul>\n<\/li>\n<li>S3\u30d0\u30b1\u30c3\u30c8\n<ul>\n<li>\u30a2\u30af\u30bb\u30b9\u30dd\u30ea\u30b7\u30fc\u3092\u9593\u9055\u3048\u305f\u3089<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120512-1024x768.jpg\" alt=\"\" width=\"728\" height=\"546\" class=\"aligncenter size-large wp-image-17584\" srcset=\"https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120512.jpg 1024w, https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120512-300x225.jpg 300w, https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120512-768x576.jpg 768w, https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120512-728x546.jpg 728w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/>\n<h4>Serverless chaos demo<\/h4>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120822-1024x768.jpg\" alt=\"\" width=\"728\" height=\"546\" class=\"aligncenter size-large wp-image-17583\" srcset=\"https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120822.jpg 1024w, https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120822-300x225.jpg 300w, https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120822-768x576.jpg 768w, https:\/\/www.skyarch.net\/blog\/wp-content\/uploads\/2019\/12\/IMG_20191202_120822-728x546.jpg 728w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/>\n<ul>\n<li>\u3082\u3057LambdaFunctions\u304c300ms\u4f59\u8a08\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u305f\u3089\u3069\u3046\u306a\u308b\u304b<\/li>\n<li>errorcode xxx \u304c\u8fd4\u5374\u3055\u308c\u305f\u3089\u3069\u3046\u306a\u308b\u304b<\/li>\n<li>lambda\u304cexception message\u3092\u8fd4\u5374\u3057\u305f\u3089\u3069\u3046\u306a\u308b\u304b<\/li>\n<\/ul>\n<p>\u4e0a\u8a18\u53c2\u8003\u30ea\u30f3\u30af\u5148\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u308b\u5185\u5bb9\u3092\u8aad\u3080\u3068\u308f\u304b\u308a\u3084\u3059\u3044\u306e\u3067\u3059\u304c\u3001\u69cb\u6210\u3068\u3057\u3066APIGateway\u306e\u5148\u306b3\u3064\u306eLambdaFunctions\u304c\u5b58\u5728\u3057<br \/>\nSystemManager Parameter Store\u3092\u5229\u7528\u3057\u3001\u3069\u306e\u3088\u3046\u306a\u52d5\u4f5c\u3092\u3059\u308b\u304b\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u3057\u3066\u8a2d\u5b9a\u3057\u5b9f\u969b\u306b\u8a66\u3059\u3068\u3044\u3046\u4e8b\u3092Demo\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u8272\u3005\u306a\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u3092\u8a66\u3057\u3084\u3059\u3044\u3088\u3046\u306b\u3001CLI\u306b\u3066SSMParameterStore\u306e\u5024\u3092Update\u3057\u3001\u52d5\u4f5c\u78ba\u8a8d\u3092\u5b9f\u65bd<\/p>\n<p>RobotFramework\u7b49\u3068\u7d44\u307f\u5408\u308f\u305b\u3066Chaos\u30c6\u30b9\u30c8??\u3082\u81ea\u52d5\u5316\u51fa\u6765\u308b\u306e\u3067\u306f\u7121\u3044\u304b\u306a\u3068\u611f\u3058\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3067\u3057\u305f\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u8981 \u53c2\u8003\u30ea\u30f3\u30af \u30bb\u30c3\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066 \u6982\u8981 Performing chaos engineering in a serverless world\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u53d7\u8b1b\u3057\u307e\u3057\u305f \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u5927\u304d\u304f\u4e0b\u8a182\u3064\u306e\u30d1\u30fc\u30c8\u306b\u5206\u304b\u308c\u8a71\u3055\u308c\u3066&#8230;<\/p>\n","protected":false},"author":2,"featured_media":17587,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"ja","_original_post":"17581","footnotes":""},"categories":[923],"tags":[],"class_list":{"0":"post-17581","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-aws-reinvent-2019","8":"ja"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/17581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/comments?post=17581"}],"version-history":[{"count":6,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/17581\/revisions"}],"predecessor-version":[{"id":17617,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/17581\/revisions\/17617"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/media\/17587"}],"wp:attachment":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/media?parent=17581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/categories?post=17581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/tags?post=17581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}