ãImmutable Infrastructureé¢é£ã®è¨äºãèªãã§ãã¦ãããæè¿AWSä¸ã§ãµã¼ããæ§ç¯ã»éç¨ããä¸ã§ã¢ã¤ã¢ã¤ã¨æãã¦ããäºãä¸æ°ã«æ¦å¿µåããã¾ãããä¸çªç´å¾ããã®ãã@stanakaããã®2014年のウェブシステムアーキテクチャã§ãããã®ä¸ã®Statelessãµã¼ãã®ãã ãã§ãã
ç¶æ ãæããªã Stateless Server ã¯ãã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã¼ããªãã¼ã¹ãããã·ãµã¼ãã¼ããã£ãã·ã¥ãµã¼ãã¼ããã¼ããã©ã³ãµã¼ãªã©ã®ãã¨ã§ãããããã®ãµã¼ãã¼ã¯ãæ¬è³ªçã«ã¯ç¶æ ãæã¤å¿ è¦ããªãããããã¤å£ãã¦ãããããåä½æã容æã«ãããã¨ãã§ãã¾ãããã®ãããè² è·ã«å¿ãã¦å¿ è¦ååãªæ°ã ããã¬ãã·ãã«ã«å¢æ¸ããããã¨ãããã£ã¨ãå¹ççã§ãããµã¼ãã¼ãå¢ãããããæ¸ãããããè¨å®ãæ´æ°ããããåãæ»ããããããªãã¬ã¼ã·ã§ã³ã³ã¹ããããã«æ¸ããããåè² ã©ããã§ãã
Statelessãªãµã¼ãã¨ã¯ï¼
ãAWSä¸ã§ãµã¼ããæ§ç¯ããä¸ã§ã¯ããµã¼ããããã«ã¹ãã¼ãã¬ã¹ãªç¶æ ã«ãããã大ããªãã¤ã³ãã«ãªãã¾ããWebãã¢ããªã±ã¼ã·ã§ã³ãµã¼ãã«ãããã¹ãã¼ãï¼ç¶æ ï¼ã¨ã¯ä½ã§ãããï¼æ¥µè«ããã°ãã»ãã·ã§ã³æ å ±ã¨ãã°æ å ±ã ãã§ãã
ã以åãã何故、fluentdなのか?ãã¨ããã¨ã³ããªã¼ã§ã¯ã©ã¦ãã«ãªãã¨ãã°ãå¤åºãã«ããå¿ è¦ããããã¨æ¸ãã¾ãããAutoScalingã§ãµã¼ãã¯å¢æ¸ããã®ã§ããã°ãä¸ç®æã«éãã¦ããã¹ãã§ããã¨è¨ãå 容ã§ãã
ãã¾ãããアプリケーション・サーバのセッションの保存先の話ãã¨ããã¨ã³ããªã¼ã§ãã»ãã·ã§ã³æ å ±ã¯å¤åºãã«ããªãã¨ãªãã¨èãã¦ãã¾ããã
Statelessãªãµã¼ãã«ãªãã¨ãä½ãå¬ããã®ãï¼
ããµã¼ããStatelessã«ããã¨ãä½ãå¬ããã®ã§ããããï¼æ大ã®ã¡ãªããã¯ããµã¼ãã®å¢æ¸ãç°¡åã«ãªãã¨ãããã¨ã§ããããã®ä½ãå¬ãããã¨ããã¨ãAWSã®å ´åã§ã¯AutoScalingãå©ç¨åºæ¥ãã¨ãããã¨ã§ãããµã¼ãã«ç¶æ ãç¡ãã®ã ãããå¢ããããæ¸ããããåé¡ã¯ããã¾ãããã·ã¹ãã ã®è² è·ã«å¿ãã¦ãèªç±ã«å¢æ¸ãããã¤ã³ãã©ã»ã¨ã³ã¸ãã¢ã®çæ³ã®ä¸çã§ããã
Statelessã«åºæ¥ãªããµã¼ãã¯ï¼
ãä¸æ¹ã§ãå ¨ã¦ã®ãµã¼ããã¹ãã¼ãã¬ã¹ã«åºæ¥ããã¨ããã¨ããããªè¨³ã¯ããã¾ãããDBãµã¼ãã§ãã£ããããã¡ã¤ã«ãµã¼ãã¯ä¾ç¶ã¹ãã¼ããã«ãªç¶æ ã§ãããããã©ãæ±ããï¼å®ã¯ãæ¹å¼è¨è¨ã®æ大ã®è¦ã§ããDBãµã¼ãã§ããã°ãè² è·ã軽æ¸åºæ¥ãããã«ãã£ãã·ã¥æ©æ§ãå°å ¥ããããæ°´å¹³ã»åç´ã§ã®ãã¼ã¿åæ£ããªã¼ãã¬ããªã«ã®å°å ¥ãªã©ãããã¾ããRDSã®ãããªãã¼ã¿ãã¼ã¹ã®PaaSãåæ£DBããã£ã¨é²åãã¦ããã¨ãåã ã®ãµã¼ãåä½ã§èããã¨ã¹ãã¼ãã¬ã¹ãªDBãµã¼ããªã©ãå®ç¾ããããããã¾ããããããªæ代ã夢è¦ãªãããä»ã¯æå ããã£ãã·ãã£ã»ãã©ã³ãã³ã°ãã¦ããã®ãã¹ãã¼ããã«ãªãµã¼ãã®ä¸çã§ãã
ã¾ã¨ã
ãåµãå ãé¶ãå ãã¯è§£ãã¾ããããImmutable Infrastructureã¨ããæ¦å¿µã®ãé°ã§Provisioning toolã¯ã¾ãä¸æ°ã«é²åãããã¨ãã¦ãã¾ããããã¨åãããã«ã¹ãã¼ãã¬ã¹ã»ã¹ãã¼ããã«ãªãµã¼ãã®å¨ãæ¹ããé²åãã¦ããã®ã§ã¯ãªããã¨æãã¾ããé²åã®å ã¯ãæãã¯ãµã¼ãã§ã¯ãªãPaaSãSaaSãªã®ããããã¾ããããã®è¾ºãããã£ããè¦æ¥µãããã¨æãä»æ¥ãã®é ã§ãã
See Also:
AutoScalingのインスタンスをどう扱うのか(デプロイ編)
Immutable InfrastructureとChefと冪等性の話
何故、fluentdなのか?
アプリケーション・サーバのセッションの保存先の話
AutoScalingやインスタンス障害に強い 〜Stateless Serverパターン〜
åç
§ï¼
2014年のウェブシステムアーキテクチャ - stanaka's blog