东京NoOps Meetup #2会议笔记
活动消息
无人运维会议东京第二次活动 – connpass
NoOps = 没有不舒服的运维运营
NoOps Japan致力于”消除系统运维保守中的不愉快之事!”,我们希望共享关于实现NoOps所需的技术、设计方法、开发运营维护周期、工具、思维,以及案例等等。
在NoOps Meetup Tokyo #2上,我们会邀请业界的权威人士继续发表演讲,以不同的观点谈谈NoOps。
NoOps Meetup Tokyo #1 会议笔记- Qiita
这里是第一次会议的笔记。
資料連結收藏夾
-
- NoOps Meetup Tokyo #2 Opening
-
- MicroserviceでのNoOps戦略 – NoOps Meetup Tokyo #2 #NoOpsJP
-
- The NoOps strategy and tactics
- なかなか楽にならないSSL/TLS証明書の話 – Speaker Deck
岡大勝是Opening/NoOps Japan的发起人。
-
- NoOps Meetup #1 振り返り
Publickeyで第一回が記事として取り上げられている
NoOpsを実現できる時が来た。「NoOps」とは運用の“嬉しくない”ことをなくすこと。NoOps Meetup Tokyo #1 - Publickey
「NoOps? よろしい、ならば戦争だ」 NoOpsコミュニティに異議申し立てた「Opsの味方」 決裂か? 和解か? NoOps Meetup Tokyo #1 - Publickey
「やめることを決める」ことが大事
やめようと言い出すハードルは低くないが、前向きなやめかたをする
NoOpsに向かう準備は整っている
コンテナ、サーバレス、DevOps、SRE …
みんな違ってみんな良い
背景/手段はたくさんある、いろんな観点を重ねながら学んでいきたい
Meetupでは知の共有、OpenHackでものづくりを進めるコミュニティ作りを進める
行動指針
オープン&フラット
共感駆動のSRCA(Sympaty-Respect-Contribute-Appriciate)
スポンサー募集中
Microsoft Tech Summit 2018 / Japan Container Days 2018 登壇します
Microsoft Tech Summit 2018 | インフラエンジニア、アーキテクト、IT IT 戦略にかかわる皆様の為の技術カンファレンス – Microsoft Events & Seminars
Japan Container Days v18.12
在微服务中的NoOps策略 / 铃木雄介 @yusuke_arclamp增长专家伙伴
-
- NoOpsとは / 歴史経緯
ITサービスのライフサイクルを早くする(企画、実装、運用、利用)
2001年 アジャイル
アジャイルソフトウェア開発宣言
企画→開発 のスピードアップ
2009年 DevOps
アジャイルをインフラや運用の仕事にも適用する
開発-運用
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
2011年 NoOps
運用はいらない?運用担当者はいらない?という議論へ
NoOps炎上事件
Augment DevOps With NoOps
その後の議論
2012年 Netflix / Ops, DevOps and PaaS (NoOps) at Netflix
カナリアリアリリース、アラート収集、Cassandra用運用ツール
DevOps/SREチームがこれらのツールを作成
運用するための組織は存在せず,開発者は運用者と話す必要はない
開発者を運用から開放し、セルフサービスツールを提供する
Why 2013 is the year of ‘NoOps’ for programmers [Infographic]
90年代 データセンター集約
2006 API(AWS)
2011 SysOps(Puppet/Chef)
2012 AppLifecycle(CloudFoundry/OpenShift)
2013 NoOps(Heroku)
NoOps総論
運用作業の自動化とツール化
ツール化するエンジニアがいる
開発者はツールを使って運用作業を行う
作る と 動かす の距離がなくなる
ツール化により役割分担が変わった
機能要件だけでなく非機能要件まで
プログラマの役割が変わってきた
2014年 Microservices
先端的なウェブサービス企業が似たようなアーキテクチャスタイルを取っている
なぜMicroservices?
目的:サービス全体を止めずに一部を変更する
解決:変更発生単位にサービスとして分割し、APIで連携させることで変更時にサービス全体を止めない
MicroservicesとNoOps
Microservices にNoOpsは織り込み済み
運用作業の自動化、ツール化は重要な土台
「アプリを作る」から「サービスを動かす」へ
全員が NoOpsを目指すべき
NoOps とは まとめ
「サービス全体を止めに一部を変更する」ために主に「運用作業の自動化とツール化」を推進すること
開発者にとっては「作る」から「作って動かす」へ
「うちはAWSじゃない」「既存のツールが使えない」は思考停止
サービスを管理せよ
アプリとインフラを一体で管理する
「インフラを用意して、アプリをインストールする」ではなく「サービスとして管理する」
PaaS
そもそも対障害性、無停止リリース機能を持ったPaaSを利用する
すごく便利だが制約に従う必要がある、実現できることと制約が比例する
コンテナ
ネットワーク/ミドルウェアを含めた構成のバージョン管理
ほぼ制約なし
コンテナ対応PaaSを利用すると便利
発想の転換:動かす時にインフラ調達
「インフラを用意してアプリを置く」ではなく「アプリを動かす時にインフラを調達する」
バッチサーバという概念はいらない、バッチジョブを起動するタイミングでインフラ調達する
ありがちな課題の解決
固定IP、固定ドメイン前提になってる→動的対応する
エージェントが必要→エージェント不要にしていく
設定ファイルで環境切り替え→設定をリポジトリ化
DB関連が手動→コード化
その先へ
コンテナオーケストレーション、サービスメッシュ
イベントソージング
实现IT基础设施的NoOps战略和方法论/中岛伦明 @Irix_jp Red Hat
-
- NoOps = 戦う階層を変えること
従来インフラではストレージ、サーバ、DB等と戦ってきた
安全に確実に動かす、コストを最適化する、に加えて「変化への対応」という3軸目が重要に
1度作ったインフラが変化するのは当たり前
パッチ適用、バージョンアップ、設定変更、リソース増減 …
戦略的なアプローチ
先に考えること:状態
どういう状態にするか、どういう状態になればComfortableなのか
後で考えること:方法
どう作るか、どうやって実現するか
戦略的な考え方とは
戦術のみを知って戦略を知らざるものは、ついに国家をあやまつ
今、エンジニアに最も必要なものは「戦略」である!孫氏に学ぶ本質のつかみ方
イゼルローン要塞攻略に学ぶエンジニアの戦略思考
クラウドファースト、コンテナファースト、自動化ファースト
NoOpsへの戦略的アプローチ
モデルとなる状態を定義:他の成功者を参考にすると近道
その状態に行き着くために障害となるギャップを抽出
解消できるギャップ、出来ないギャップ(法律とか業界とかの縛りなど)を整理して、ToBeを描く
ギャップ測定
バリューストリームマッピングで抽出・可視化
理想的な環境ではどうなるか
現状とのギャップ、障害となるものは何か
今すぐできること、将来的にやること、やらなくて良いことを整理
自動化の戦術
置換:単純に手順を置き換える、
機能化:サービスとして切り出して別の人に実行してもらう
連結:小さな機能を連結して大きな機能を作る
アンチパターン:全部自動化しなといけない、一気通貫で自動化しなければならない、今の環境のまま自動化しないといけない
戦略的:運用が発生しないアーキテクチャで始める
戦略的:自動化しやすい環境を整える
戦術的:簡単なやりやすいところから自動化してしまう
戦術的:難しいもの、複雑なものをそのまま自動化する
证书的问题并不容易解决/しばやん @shibayan
-
- SSL/TLS証明書の管理がしんどい
12ヶ月に一回位の作業
認証局からのメールで期限を思い出したり忘れたり
DV証明書発行の流れ
認証局にCSRを投げる
ドメインの所有を確認する
whoisに登録されているメールアドレスにリンク送信、指定されたTOKEN入のファイルをサーバに置く、DNSで指定されたレコードを追加するなど
証明書が発行される
中間証明書と一緒にサーバに配置したり、PFXにしたり
自動化されない理由
自動化が難しい作業ばかり:CSR作成、ドメイン所有の確認、証明書と秘密鍵の配置
12ヶ月ごとなので、手動でもなんとかなっちゃう雰囲気(自動化のコストが割に合わない)
そもそも認証局が自動化前提の作りじゃない
更新忘れると
SSL/TSL通信がうまくいかない
ブラウザが警告出す、ブラウザ意外の通信も同様
最近は常時SSLやHSTSの流れにより致命的
Windows Azure、11時間にわたる全世界的なストレージ障害。原因はSSL証明書の失効 - Publickey
致命的な問題に発展するのに、なかなか楽にならない
楽にしようとする動き
クラウドベンダが認証局をもつ:AWS Certificate Manager
外部認証局とパートナーシップを結んでる:Azure Key Vault/App Service Certificate
Let’s Encrypt を利用している/ACMEプロトコルの導入:GCP の Managed SSL、さくら など数多くの例
AWS Certificate Manager
ELB/ALB/CloudFront/APIGatewayで使える
パブリック向けの場合、ワイルドカード証明書も発行可能、マルチテナントのアプリケーションにも使いやすい
自動的に証明書の更新を行ってくれる
条件:ドメインが利用中かつSSL/TLSで外部からアクセス可能な場合
IP制限している場合は、メールが飛んできてURLを踏む必要がある(今までと同じく手動の作業が出てくる)
無料
Azure Key Valt
DigiCert と GlobalSignと連携、予めアカウントを作る必要がある
事前に指定したポリシーに従って更新してくれる
自己証明書の発行もできる
おそらく有料
App Service Certificate
GoDaddyと連携している、AzurePotalから購入可能
自動更新
有料:1ドメイン$69.999、ワイルドカード$299.999
Let’s Encrypt
ACMEプロトコルに基づいた自動での証明書発行
公式のcertbotを使って管理可能
v2からはワイルドカードも可能
HTTPかDNSを利用してドメイン所有の確認
無料で使える
ACMEプロトコルについて
認証局が証明書発行に必要な機能を定義している
REST-API
対象のドメイン全てに対してHTTPSかDNSで確認される
特殊なファイル、もしくはTXTレコード書き換え
certbot が使えるケース
nginxやApacheを直接公開している場合
Let’s Encrypt公式クライアントなので安心
各クラウドのManagedDNSに対応(Azure除く)
Linuxのみサポート
所感
AWS Certificate Managerが突出して便利
Let’s Encrypt周りを面倒見てくれるManaged SSL良さ
Azureは無料で使えるSSL証明書がない
まとめ
SSL/TSL証明書管理は自動化できる(DVのみ)
AWSならAWS-CM、GCPならManagedSSLを使う
Azureはお金払うか、コミュニティ作成のIssuerを使う
Let’s Encryptに感謝を