{"action":"created","issue":{"url":"https://api.github.com/repos/lyuich/brain/issues/41","repository_url":"https://api.github.com/repos/lyuich/brain","labels_url":"https://api.github.com/repos/lyuich/brain/issues/41/labels{/name}","comments_url":"https://api.github.com/repos/lyuich/brain/issues/41/comments","events_url":"https://api.github.com/repos/lyuich/brain/issues/41/events","html_url":"https://github.com/lyuich/brain/issues/41","id":196192750,"number":41,"title":"DevOpsの全体観を掴む","user":{"login":"lyuich","id":11712148,"avatar_url":"https://avatars.githubusercontent.com/u/11712148?v=3","gravatar_id":"","url":"https://api.github.com/users/lyuich","html_url":"https://github.com/lyuich","followers_url":"https://api.github.com/users/lyuich/followers","following_url":"https://api.github.com/users/lyuich/following{/other_user}","gists_url":"https://api.github.com/users/lyuich/gists{/gist_id}","starred_url":"https://api.github.com/users/lyuich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lyuich/subscriptions","organizations_url":"https://api.github.com/users/lyuich/orgs","repos_url":"https://api.github.com/users/lyuich/repos","events_url":"https://api.github.com/users/lyuich/events{/privacy}","received_events_url":"https://api.github.com/users/lyuich/received_events","type":"User","site_admin":false},"labels":[{"id":493738380,"url":"https://api.github.com/repos/lyuich/brain/labels/category:%20engineer","name":"category: engineer","color":"0e8a16","default":false},{"id":498957671,"url":"https://api.github.com/repos/lyuich/brain/labels/infra","name":"infra","color":"0052cc","default":false},{"id":493735371,"url":"https://api.github.com/repos/lyuich/brain/labels/priority:%20high","name":"priority: high","color":"b60205","default":false},{"id":493735948,"url":"https://api.github.com/repos/lyuich/brain/labels/status:%20new","name":"status: new","color":"0052cc","default":false},{"id":493737820,"url":"https://api.github.com/repos/lyuich/brain/labels/type:%20feature","name":"type: feature","color":"fef2c0","default":false}],"state":"open","locked":false,"assignee":{"login":"lyuich","id":11712148,"avatar_url":"https://avatars.githubusercontent.com/u/11712148?v=3","gravatar_id":"","url":"https://api.github.com/users/lyuich","html_url":"https://github.com/lyuich","followers_url":"https://api.github.com/users/lyuich/followers","following_url":"https://api.github.com/users/lyuich/following{/other_user}","gists_url":"https://api.github.com/users/lyuich/gists{/gist_id}","starred_url":"https://api.github.com/users/lyuich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lyuich/subscriptions","organizations_url":"https://api.github.com/users/lyuich/orgs","repos_url":"https://api.github.com/users/lyuich/repos","events_url":"https://api.github.com/users/lyuich/events{/privacy}","received_events_url":"https://api.github.com/users/lyuich/received_events","type":"User","site_admin":false},"assignees":[{"login":"lyuich","id":11712148,"avatar_url":"https://avatars.githubusercontent.com/u/11712148?v=3","gravatar_id":"","url":"https://api.github.com/users/lyuich","html_url":"https://github.com/lyuich","followers_url":"https://api.github.com/users/lyuich/followers","following_url":"https://api.github.com/users/lyuich/following{/other_user}","gists_url":"https://api.github.com/users/lyuich/gists{/gist_id}","starred_url":"https://api.github.com/users/lyuich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lyuich/subscriptions","organizations_url":"https://api.github.com/users/lyuich/orgs","repos_url":"https://api.github.com/users/lyuich/repos","events_url":"https://api.github.com/users/lyuich/events{/privacy}","received_events_url":"https://api.github.com/users/lyuich/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/lyuich/brain/milestones/3","html_url":"https://github.com/lyuich/brain/milestone/3","labels_url":"https://api.github.com/repos/lyuich/brain/milestones/3/labels","id":2183354,"number":3,"title":"Sprint #2 - 12/18/2016","description":"","creator":{"login":"lyuich","id":11712148,"avatar_url":"https://avatars.githubusercontent.com/u/11712148?v=3","gravatar_id":"","url":"https://api.github.com/users/lyuich","html_url":"https://github.com/lyuich","followers_url":"https://api.github.com/users/lyuich/followers","following_url":"https://api.github.com/users/lyuich/following{/other_user}","gists_url":"https://api.github.com/users/lyuich/gists{/gist_id}","starred_url":"https://api.github.com/users/lyuich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lyuich/subscriptions","organizations_url":"https://api.github.com/users/lyuich/orgs","repos_url":"https://api.github.com/users/lyuich/repos","events_url":"https://api.github.com/users/lyuich/events{/privacy}","received_events_url":"https://api.github.com/users/lyuich/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":2,"state":"open","created_at":"2016-12-08T05:51:43Z","updated_at":"2016-12-17T03:19:11Z","due_on":"2016-12-18T00:00:00Z","closed_at":null},"comments":1,"created_at":"2016-12-17T03:16:10Z","updated_at":"2016-12-17T04:56:17Z","closed_at":null,"body":"### Write a summary of this issue\r\n- DevOpsの全体像を把握できるようにする\r\n\r\n### List the details of what to do as a list\r\n- [ ] DevOpsとは何かをまとめる\r\n- [ ] DevOps推進のために利用するツールをまとめる\r\n\r\n### Any references (Describe URL of documents or webpages)\r\n- なし\r\n"},"comment":{"url":"https://api.github.com/repos/lyuich/brain/issues/comments/267743561","html_url":"https://github.com/lyuich/brain/issues/41#issuecomment-267743561","issue_url":"https://api.github.com/repos/lyuich/brain/issues/41","id":267743561,"user":{"login":"lyuich","id":11712148,"avatar_url":"https://avatars.githubusercontent.com/u/11712148?v=3","gravatar_id":"","url":"https://api.github.com/users/lyuich","html_url":"https://github.com/lyuich","followers_url":"https://api.github.com/users/lyuich/followers","following_url":"https://api.github.com/users/lyuich/following{/other_user}","gists_url":"https://api.github.com/users/lyuich/gists{/gist_id}","starred_url":"https://api.github.com/users/lyuich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lyuich/subscriptions","organizations_url":"https://api.github.com/users/lyuich/orgs","repos_url":"https://api.github.com/users/lyuich/repos","events_url":"https://api.github.com/users/lyuich/events{/privacy}","received_events_url":"https://api.github.com/users/lyuich/received_events","type":"User","site_admin":false},"created_at":"2016-12-17T04:56:17Z","updated_at":"2016-12-17T04:56:17Z","body":"# DevOps\r\n## 1. DevOpsが生まれた背景\r\n### ソフトウェア開発速度を上げる必要性\r\n- かつてソフトウェアは手作業自動化による業務効率化のシステム\r\n- 現在ではソフトウェアそのものがビジネス(サービス)となった\r\n- ビジネス環境のの変化に合わせて、ソフトウェアの開発速度を上げる必要が出た\r\n\r\n### ソフトウェア開発プロセスの変化\r\n- 事前に仕様を詳細に決められない、または決めることに意味がない\r\n- 長時間掛けて100%のものを作るとりもTime to Marketが優先される\r\n  - 受託でも顧客のビジネス速度に合わせて納期の短縮が要求される\r\n- 作った後も、利用者のフィードバックを得ながら機能改善を続ける必要がある\r\n\r\n### 開発と運用の対立\r\n- ソフトウェアの開発者(Dev)とシステムの運用者(Ops)に分かれる\r\n  - Dev: 新しい機能を作る役割\r\n  - Ops: システムを安定運用する役割\r\n- Dev <-> Opsの対立構造が開発速度が上がらない問題\r\n  - Dev: 開発サイクルを早め、頻繁にリリースを行おうとする\r\n  - Ops: システムを安定的に運用するために変化を加えたがらない\r\n\r\n## 2. DevOpsとは\r\n- 開発者(Dev)と運用者(Ops)がお互いに協力しあいながらビジネスの価値を実現していくという概念\r\n\r\n## 3. DevOpsにおけるツール\r\n1. コミュニケーションツール: 関係者のコミュニケーションを円滑化\r\n2. バージョン管理システム: 開発チームや運用チームがシステムのソースコードや設定情報を保存\r\n3. プロジェクト管理ツール: さまざまな要件や課題、作業や不具合を管理\r\n4. CIツール: 常時ビルドやテストを実施\r\n5. デプロイツール: 様々な環境にソフトウェアを配置\r\n6. 仮想化ツール: 開発や検証において、全員が同じ環境を利用\r\n7. プロビジョニングツール・構成管理ツール: 環境の構築を自動化\r\n8. 監視ツール: 本番環境を監視し、その結果を受けて問題を発見したりプロセスを改善\r\n9. ダッシュボード: 様々なメトリクスを集約しみんなが見れるようにする\r\n\r\n### バージョン管理ツール\r\n- ビジネスの変化に対応するためにソースコードにも頻繁に変化を加える必要がある\r\n- いつ・誰が・どのような変更を・何のために行ったのかを追跡出来るようにする必要がある\r\n\r\n### プロジェクト管理ツール\r\n- 素早いサイクルの開発では、日々新たなようきゅうや要望が出てきたり、障害対応や改善作業が必要になってきたりする\r\n- 常に一元的に管理を行い、優先順位の管理や進捗の確認をしなければいけない\r\n\r\n### テストの自動化\r\n- 頻繁に機能追加やリリースをする場合、システム全体が正常に動作するかを常に検証し続けることが必要 \r\n- この検証作業を、テスト手順書に従って手作業で行なうと多くの時間がかかり、開発のスピードが失われる\r\n\r\n### 継続的インテグレーション\r\n- バージョン管理システムにコミット舌タイミングで自動的にビルドとテストを実行できる\r\n- 常に問題がないかを確認し続けることで、どの変更が問題を起こしたのかを検知しやすくなる\r\n\r\n### 仮想環境構築ツール\r\n- 環境差異によって起こる問題を解決するため、Vagrantなどで仮想環境構築を行い開発環境を均一化\r\n\r\n### プロビジョニングツール\r\n- Chef, Ansibleなどのプロビジョニングツールの導入によるインフラ構築の自動化\r\n- 手作業でのミスを防ぎ、いつでも同じ方法で環境を構築できる\r\n\r\n### 監視ツール\r\n- ただ障害が発生していないかどうかを確認し続けるためではない\r\n- 様々なデータを得て、開発サイクル全体にフィードバックしていく\r\n  - 開発プロセスの問題, システムの潜在的な課題, インフラ構成の改善など\r\n  - また、アクセス状況などビジネスに近いデータを取得し、機能の有効性を把握・改善\r\n\r\n"}}
{"actor":{"display_login":"lyuich"}}