tsalakh ain sus noam Huyah ol guf

勉強会のメモ。その他備忘録。参考にさせて頂いたサイトや資料はリンクさせて頂いていますが不都合があればご連絡ください。

【勉強会】RedHatForum2016

2016-10-05_RedHatForum2016

これに行ってきた

redhatforum.jp


JBoss on Azureでマイクロサービスアーキテクチャ

  • 富杉 正広 氏 [SCSK株式会社]

環境

  • Cloud
    • AWS/Azure/OpenStack
  • Container
    • Docker/Kubernates/OpenShift

MSAのメリット

  • システム改修の容易性
  • システム規模の拡縮の容易性
  • 技術的な柔軟性

MSAとSOAの違い

  • 根底は同じ、独立した機能をサービス化する
  • サービス間の結合方法の考え方が違う
  • SOAは連携定義が複雑(SOAP/WSDL等)、ESBが必須
  • MSAはRESTfulAPIでよいので、接続連携用のMWが不要

MSAの注意点

  • サービスの切り方、なるべく現実組織・ビジネス領域に合わせる、DDDの活用
  • CI/CDを正しく理解する
  • 小さいシステムで正しく管理できてるならモノリスが有益
  • システム全体の整合性、オーガナイズする組織なり人なりが必要

JBoss EAP7紹介

  • 安齋 宗一郎 氏 [レッドハット]

https://redhatforum.jp/pdf/APP601.pdf

  • JavaEE7のサポート
  • ユーザビリティ
  • セキュリティ
  • 互換性

  • JavaEE7→WIldFly8,9,10→EAP7

  • EAP6からの変更
  • Web→undertow
  • Messaging→AMQ Artemis
  • JacORB→iiop-openjdk

CloudReadyArchitecture

オペレーショナルモード

JBoss EAP 7 マニュアル文書 – https://access.redhat.com/documentation/en/jboss-enterprise-application-platform/ • グレースフルシャットダウン: – https://docs.jboss.org/author/display/WFLY10/Suspend%2C+Resume+and+Graceful+shutdown • オフラインCLIhttp://wildfly.org/news/2015/03/13/Offline-CLI/ • Discovery options – https://developer.jboss.org/people/fjuma/blog/2013/03/15/a-domain-controller-discovery-system-for-as-8

Wildfly10.1 HTTP/2採用

開発生産性


エンタープライズにおけるコンテナ活用法

  • Mark Coggin 氏[米国レッドハット]

アプリケーションの積み込みをドックではなく工場で行う

コンテナとは何か?

相手によって異なる Infrastructure ● Linuxオペレーティングシステムの機能に依存 ● 中身はLinuxなので、各コンテナはLinuxソフトウェアで作られる ● 仮想マシンよりも簡素、軽量、高密度 ● 有効に使用するためにはオーケストレーションと管理が必要 Applications ● iPhoneのアプリと同様にエンタープライズアプリケーションをパッケージ化 ● すでに構築済みのアプリケーションへの追加が容易 ● コンテナ化されたコンポーネントの共有が容易 ● アプリケーションとその実行に必要なものをすべて格納する「ブラックボックス」 ● 開発者による制御が向上


最新事例から考えるRed Hat OpenStack Platform

  • 井口 幸一 氏 [フリービット株式会社]
  • 内藤 聡 氏 [レッドハット株式会社]

https://redhatforum.jp/pdf/CLD302.pdf

目指したもの

標準化

  • 長く運用するとOS、MWのバージョンが混在する
  • スキルセットがばらばら、属人化
  • HWの年代、メンテナンス、維持コストがかさむ
  • サーバコンフィグをExcelにまとめるのでなく、コンフィグファイル自身を管理
  • ドキュメンテーションに費やすコストを排除

機敏性

  • IaC
  • BlueGreenDeployment

可用性

選定

導入効果

  • Nova/Neutronの標準APIでインフラ開発の75%をカバー
  • どこまでが手動で、どこまでがOpenStackやChefで自動化できるか
  • 手動で残った作業、IPアドレス管理台帳とか、クラスタリング設定とか
  • CinderのAPIでストレージを制御
  • Glanceを活用したテンプレートで、属人性を排除
  • 機敏性、インスタンス46台の構築、8分26秒
  • 可用性、FO/FBのしくみは設計済みだった、やったのは監視設計くらい

成功の秘訣

Culture is more important than Technology.
Jonathan Bryce
  • 技術より文化が大事
  • 全部自分たちでやろうとしない
  • 専門性の高い分野はサポートに任せる

実践 DevOps

  • 山田 義和 氏[レッドハット株式会社]

目的

  • ITによりビジネスの領域が拡大、多様化、競争激化
  • サービスはリリースの“後”じゃないと価値を生み出さない
  • リリースしてユーザが使わないと、学習ができない
  • リリースのサイクル数を増やすと、学習の機会が増える、変化に対応する機会が増える
  • 「より早くサービスをリリースする、より多くフィードバックをし継続的にサービスを改善」

  • Agileは変更にどううまく対応するか

  • Leanはワークをどううまくまわすか

  • DevOps≒Agile/Lean

  • DevOpsからAgile/Leanを引いて残るものは何か?と考えると、
  • Agile/Leanの考え方をソフトウェアライフサイクル全体に広げたもの
  • 本質=強調、文化・マインド、チームドリブン

技術・ツール

  • CI/CDパイプライン、変更容易性をあげて、変更スピードをあげる
  • CI/CDに向けた自動化において、インフラ・非機能の領域をどうするか
  • 自動化における技術的課題 • インフラ構築の自動化 • インフラ要件のコード化 • インフラに依存するテストの自動化 • インフラの構成管理の効率化
  • 変更容易性に関わる要素
    • 局所化
    • 疎結合
    • テスト容易性
    • SOLID原則

  • WildfFySwarm
  • JavaEEが一個のJarで利用出来る

  • DevOps実践課題バックログを減らすにつれて、DevOps成熟度はあがっていく

OPENSTACKによるオーケストレーションされたコンテナ化が可能にするもの

Lars Herrmann Red Hat インテグレーテッドソリューションズ事業部 GM

CIOが求めるもの 顧客満足度 アジリティ 信頼性

Agiilty

  • システムの提供に時間がかかるのは組織の問題
  • トヨタの、製造業のやり方を真似る

CustomerSatisfaction

  • リリース頻度が3ヶ月では継続的とは言えない

Confidence to Deilver

  • 可用性とセキュリティは最低限必要
  • スケーリングも必要
  • セルフサービスとオートメーション
  • 合理化、自動化
  • 弾力性、リソースの共有
  • 常時オン、ポリシードリブン、人ではなくテクノロジーが判断、スピードが違う

Content

  • 物理的なリソースがないとアプリケーションは動かない←OpenStack
  • OSも必要←OpenShift
  • アプリケーションがないとビジネスにならない

  • Devチームは、インフラを気にしない、動けばいい

  • Opsチームは、インフラを考える
  • DevとOpsのニーズは異なる
  • 必要なのは両者のコントロール、インフラは両者のニーズを満たす必要がある

  • これまでは、仮想化で実現してきた

  • VMは常に変更をしていかなければならない、複数の人が
  • マイナス点は待ち時間
  • 特に変更管理、アプリケーションの
  • エンタープライズになると、複雑性上がる
  • Cloudでは改善されない

Any color so long as it's black. Henry Ford

  • けど、ベストではない
  • そこでコンテナ
  • アプリとインフラの間に挟まるのがオーケストレーション・コンテナ

  • アプリケーションをコンテナ内に入れてしまう

  • セキュリティが担保される
  • パフォーマンスの最適化も担保できる
  • コンテナ毎に個別に制御できる
  • 継続的な改善が可能になる

  • OpenStackのコンテナだからってOpenShiftじゃなくていい

  • いまのシェアはKubertetesがトップ

  • ワークフローの自動化が可能になる

  • デプロイの自動化

  • OpenShiftはコンテナのリビルドで対応可能
  • OpenShiftは、セキュリティパッチも自動で、開発者が意識せずに

  • 組織の話

  • Dev/AppOps/SysOps
  • コンテナによって、各チームは自分の仕事に集中できる

OpenStack 事例紹介 ーOne Command デプロイへの挑戦ー

  • 黒澤 隆史氏 [NHNテコラス株式会社]
  • 輿水 万友美 氏 [レッドハット株式会社]

プロビジョニングツールとは

  • Orchestration:アプリケーション
  • Configuration:ミドルウェア
  • BootStrapping:OSインストール、VM起動

OpenStackのプロビジョニング

  • DevStack、Ubuntu Cloud Archive、packstack
  • MAAS、Juju、FUEL、TripleO
  • 実情
  • 設定が複雑
  • 過去に動いていたものが動かなくなる
  • OneCommandデプロイへ至る道
  • 検証と本番を意識できる
  • 作って壊してを繰り返せる
  • コンポーネント毎にマルチノードでデプロイできる
  • HA機能付きでデプロイできる
  • 冪等性がある
  • Git等リビジョン管理システムを利用したワークフロー
  • 挑戦した結果→4コマンド

OpenStackとは

  • クラウドインフラを自分で構築するためのソフトウェア
  • 仮想化管理ツールではない、パブリッククラウドと同等の機能を目指すもの
  • IaaSの成熟とサービスの強化を進めている
  • 「RedHatOpenStackPlatform」はRedHatディストリビューション
  • OpenStackは単体では成り立たない
  • OpenStackのコアサービス、IaaS的なところは、コミュニティ版と変わらない
  • コミュニティ版から2〜3ヶ月遅れでリリース
  • コミュニティ版はソース、OSPはrpmで提供

Ansible Tower by Red Hat ではじめる自動化

  • 平田 千浩 氏[レッドハット]

Ansible/AnsibleTower

  • Ansible
    • OSSで提供されている
    • Red Hatの製品としての提供はされていません。(※2016年9月末の時点)
  • Ansible Tower

Ansibleでできること

  • プロビジョニング
  • パッケージインストール
  • 設定変更
  • ファイル転送
  • オーケストレーション
  • 複数の機器・製品に対して自動で順序実行
  • Server / Router / Switch/ FW / Load Balancer / Storage / Database /Cloud etc… 構成管理  状態確認  バッチ処理  アップデート実行  セキュリティパッチ確認

Ansibleのコンセプト

  • シンプル:ソースではなくYAML
  • パワフル:多数の製品に、様々な操作を、すぐに
  • エージェントレス:管理対象にSSHできればOK

Ansibleの課題

  • 複数ユーザだと問題点が
  • ファイルの更新履歴

Ansible Towerでの追加コンセプト

何が違うのか

  • Playbookを外だしでGit等で管理
  • DBを持ってて履歴管理
  • ユーザ毎に権限を分離