実践! ソフトウェア開発

Tech

はじめに

世の中で提唱されている様々なソフトウェア開発のベストプラクティスがあります。書籍やWebで知識を仕入れて、それを実際に実践しようと、見よう見まねでやってみたり、試行錯誤したりと試みますが、なかなか上手くいかないということが多く、一筋縄ではいかないなというのが常でしょう。

しかし、ベストプラクティスには先人たちが試行錯誤した多くの経験や知識が詰まっており、それがうまくはまった時には、高い効果が得られるのは間違いありません。

こういった、ソフトウェア開発のベストプラクティスをもとに、それをどう実践するのかを中心にいくつか記事を書いていきたいなと考えています。

概要 → 解説 → 実践方法といった流れでそれぞれの記事がまとめられたらなと思います。なお、記事はQiitaに投稿していきます。

“Beyond the Twelve-Factor App” & “The Twelve-Factor App”から学び、AWSで実践する

  • (0)はじめに
  • (1)1つのコードベース、1つのアプリケーション / コードベース – バージョン管理されている1つのコードベースと複数のデプロイ
  • (2)APIファースト
  • (3)依存関係管理 / 依存関係 – 依存関係を明示的に宣言し分離する
  • (4)設計、ビルド、リリース、実行 / ビルド、リリース、実行 – ビルド、リリース、実行の3つのステージを厳密に分離する
  • (5)構成、クレデンシャル、およびコード / 設定 – 設定を環境変数に格納する
  • (6)ログ / ログ – ログをイベントストリームとして扱う
  • (7)廃棄容易性 / 廃棄容易性 – 高速な起動とグレースフルシャットダウンで堅牢性を最大化する
  • (8)バックエンドサービス / バックエンドサービス – バックエンドサービスをアタッチされたリソースとして扱う
  • (9)環境パーティー / 開発/本番一致 – 開発、ステージング、本番環境をできるだけ一致させた状態を保つ
  • (10)管理プロセス/ 管理プロセス – 管理タスクを1回限りのプロセスとして実行する<
  • (11)ポートバインディング / ポートバインディング – ポートバインディングを通してサービスを公開する
  • (12)ステートレスプロセス / プロセス – アプリケーションを1つもしくは複数のステートレスなプロセスとして実行する
  • (13)並行性/ 並行性 – プロセスモデルによってスケールアウトする
  • (14)テレメトリー
  • (15)認証と認可

Tech
makotomiをフォローする
makotomi's Tech Blog
タイトルとURLをコピーしました