Infra Study Meetup #1
Infrastructure as Codeを導入して
良かった点
Author: Masaki Suzuki
@makky12
Infra Study Meetup #1
自己紹介
• 名前:鈴木 正樹 (Masaki Suzuki)
• 在住:愛知県半田市
• 職業:フリーランスエンジニア
• 業務:サーバーレスアプリのアーキテクチャ構築/設計/開発 など
• 技術:
• AWS/Azure/Serverless Framework/Vue.js など
• 各種イベント・SNS・ブログでのクラウド普及活動(個人的に)
• MS系技術(最近はPower Platform/TypeScript/Unoなど)
• SNS
http://makky12.hatenablog.com/
https://github.com/smt7174
@makky12 (Masaki Suzuki@フリーランスクラウドエンジニア)
名古屋市
豊橋市
中部国際空港
(セントレア)
名古屋市
豊橋市
中部国際空港
(セントレア)
半田市
Infra Study Meetup #1
アジェンダ
• 今回の発表&その背景について
• Infrastructure as Codeを導入した得られたメリット
• 常に同じ品質
• 作業の簡素化・属人化解消
• まとめ
※以後、Infrastructure as Codeを「IaC」と略記します
※資料URL:https://www.slideshare.net/MasakiSuzuki3/vscode-231494753
Infra Study Meetup #1
今回の発表&その背景について
Infra Study Meetup #1
今回の発表&その背景について
• AWSでのサーバーレスSPA設計・開発が中心
• 最近はAPI開発Onlyにシフトしつつある
• いずれにせよ、AWSでのサーバーレス設計・開発がほとんど
• IaCツールとして、Serverless Frameworkを使用
• 9割以上、Serverless Frameworkを使用(一部AWS SAM)
• Serverless Framework大好き人間
• 公式サイト: https://serverless.com/
• Serverless Frameworkを1年ほど使ってみて、感じた内容です
• 内容自体はツールに関係なく、IaC導入全般で言える内容です
Infra Study Meetup #1
IaC導入で得られたメリット
Infra Study Meetup #1
常に一定の品質を保証できる
• 「コード」による定義=常に同じ品質が得られる
• 誰が何度実行しても、必ず同じ品質になる(=冪等性の確保)
• 作業者のスキル・経験、作業ミス・作業漏れ等による品質ブレが生じない
• 「コード」による定義=コードレビューが可能
• 事前のチェックを行える
• コンソールでの作業と異なり、リソース作成前に結果を確認可能
• トライ&エラーの工数を大幅に減らせる(特にCloudFrontなど、時間がかかるリソース)
• 離れていても作業可能
• 離れていても(=リモートワークなどの状況下でも)品質の確保が可能
• 現在の状況下において、非常に大きなメリット
Infra Study Meetup #1
作業の簡素化・属人化解消
• 「コード」による定義=実行(デプロイ)は「コード実行」のみ
• スキル・経験に関係なく、誰でも実行可能(=特定の人物に依存しない)
• 大抵はCLIコマンド1つで実行可能(「serverless deploy」など)
• npm script等で関連作業を全てスクリプト化してしまえば、コマンド1つですべて完結
• 「運用コスト削減」「本来使うべき作業に工数を使える」などのメリットも
• テスト・デプロイ等の自動化も可能
• クラウドなどの自動化機能を利用すれば、デプロイ等の自動化も可能
• (例) AWS CodePipeline, AWS CodeBuild, GitHub Actions etc.
• CI/CD(継続的インテグレーション/継続的デリバリー)の導入も容易に
• 開発者は、Gitブランチへのpush/mergeを実施するだけ
• (実現例): https://qiita.com/cm_sato_naoya/items/6a99acac9b833a5fae8e
Infra Study Meetup #1
まとめ
• IaC導入により、常に一定の品質を保証できる
• デプロイ結果は毎回同じ→品質のブレがない
• コードレビューが可能→ミスを事前に防げる
• リモートでの作業が可能→現在の状況においてまさに最適
• IaC導入により、作業の簡素化・属人化解消ができる
• CLIコマンド1つでデプロイ可能→誰でも実施可能
• デプロイ作業も自動化可能→CI/CDの導入も容易になる
• 「運用コスト削減」「本来使うべき作業に工数を使える」などのメリットも
※いきなり0→100を実施するのは難しい
※少しずつでいいから、ノウハウを積み重ねることが大切
Infra Study Meetup #1
以上です
ご清聴ありがとうございました

Infrastructure as Codeを導入して良かった点

  • 1.
    Infra Study Meetup#1 Infrastructure as Codeを導入して 良かった点 Author: Masaki Suzuki @makky12
  • 2.
    Infra Study Meetup#1 自己紹介 • 名前:鈴木 正樹 (Masaki Suzuki) • 在住:愛知県半田市 • 職業:フリーランスエンジニア • 業務:サーバーレスアプリのアーキテクチャ構築/設計/開発 など • 技術: • AWS/Azure/Serverless Framework/Vue.js など • 各種イベント・SNS・ブログでのクラウド普及活動(個人的に) • MS系技術(最近はPower Platform/TypeScript/Unoなど) • SNS http://makky12.hatenablog.com/ https://github.com/smt7174 @makky12 (Masaki Suzuki@フリーランスクラウドエンジニア) 名古屋市 豊橋市 中部国際空港 (セントレア) 名古屋市 豊橋市 中部国際空港 (セントレア) 半田市
  • 3.
    Infra Study Meetup#1 アジェンダ • 今回の発表&その背景について • Infrastructure as Codeを導入した得られたメリット • 常に同じ品質 • 作業の簡素化・属人化解消 • まとめ ※以後、Infrastructure as Codeを「IaC」と略記します ※資料URL:https://www.slideshare.net/MasakiSuzuki3/vscode-231494753
  • 4.
    Infra Study Meetup#1 今回の発表&その背景について
  • 5.
    Infra Study Meetup#1 今回の発表&その背景について • AWSでのサーバーレスSPA設計・開発が中心 • 最近はAPI開発Onlyにシフトしつつある • いずれにせよ、AWSでのサーバーレス設計・開発がほとんど • IaCツールとして、Serverless Frameworkを使用 • 9割以上、Serverless Frameworkを使用(一部AWS SAM) • Serverless Framework大好き人間 • 公式サイト: https://serverless.com/ • Serverless Frameworkを1年ほど使ってみて、感じた内容です • 内容自体はツールに関係なく、IaC導入全般で言える内容です
  • 6.
    Infra Study Meetup#1 IaC導入で得られたメリット
  • 7.
    Infra Study Meetup#1 常に一定の品質を保証できる • 「コード」による定義=常に同じ品質が得られる • 誰が何度実行しても、必ず同じ品質になる(=冪等性の確保) • 作業者のスキル・経験、作業ミス・作業漏れ等による品質ブレが生じない • 「コード」による定義=コードレビューが可能 • 事前のチェックを行える • コンソールでの作業と異なり、リソース作成前に結果を確認可能 • トライ&エラーの工数を大幅に減らせる(特にCloudFrontなど、時間がかかるリソース) • 離れていても作業可能 • 離れていても(=リモートワークなどの状況下でも)品質の確保が可能 • 現在の状況下において、非常に大きなメリット
  • 8.
    Infra Study Meetup#1 作業の簡素化・属人化解消 • 「コード」による定義=実行(デプロイ)は「コード実行」のみ • スキル・経験に関係なく、誰でも実行可能(=特定の人物に依存しない) • 大抵はCLIコマンド1つで実行可能(「serverless deploy」など) • npm script等で関連作業を全てスクリプト化してしまえば、コマンド1つですべて完結 • 「運用コスト削減」「本来使うべき作業に工数を使える」などのメリットも • テスト・デプロイ等の自動化も可能 • クラウドなどの自動化機能を利用すれば、デプロイ等の自動化も可能 • (例) AWS CodePipeline, AWS CodeBuild, GitHub Actions etc. • CI/CD(継続的インテグレーション/継続的デリバリー)の導入も容易に • 開発者は、Gitブランチへのpush/mergeを実施するだけ • (実現例): https://qiita.com/cm_sato_naoya/items/6a99acac9b833a5fae8e
  • 9.
    Infra Study Meetup#1 まとめ • IaC導入により、常に一定の品質を保証できる • デプロイ結果は毎回同じ→品質のブレがない • コードレビューが可能→ミスを事前に防げる • リモートでの作業が可能→現在の状況においてまさに最適 • IaC導入により、作業の簡素化・属人化解消ができる • CLIコマンド1つでデプロイ可能→誰でも実施可能 • デプロイ作業も自動化可能→CI/CDの導入も容易になる • 「運用コスト削減」「本来使うべき作業に工数を使える」などのメリットも ※いきなり0→100を実施するのは難しい ※少しずつでいいから、ノウハウを積み重ねることが大切
  • 10.
    Infra Study Meetup#1 以上です ご清聴ありがとうございました