Movatterモバイル変換


[0]ホーム

URL:


Uploaded byYorikoYokoyama
PDF, PPTX218 views

Monolith to microservice

エンタープライズアジャイル勉強会登壇資料モノリスなアプリからマイクロサービスへ - クラウドネイティブなアプリ開発における CI CD プロセスと DevOps ツール-20190512

Embed presentation

Download as PDF, PPTX
© COPYRIGHT 2019 FIXER Inc.モノリスなアプリからマイクロサービスへ- クラウドネイティブなアプリ開発におけるCI/CD プロセスと DevOps ツール -横山 依子株式会社 FIXERCloud Evangelist鈴木 章太郎株式会社 FIXERTechnical Fellow, Evangelist内閣官房 政府 CIO 補佐官エンタープライズアジャイル勉強会 5月セミナー
© COPYRIGHT 2019 FIXER Inc.鈴木章太郎株式会社 FIXERTechnical Fellow, Evangelist内閣官房 政府 CIO 補佐官(法務省担当)元 Microsoft EvangelistAWS, Azure, GCPCertified ProfessionalFollow me!@shosuz
© COPYRIGHT 2019 FIXER Inc.横山 依子(ヨコヤマ ヨリコ)株式会社FIXERCloud EvangelistFollow me!@yokoyamasandesu
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.4Technology to FIX your challenges.あなたのチャレンジをテクノロジーで成就する私たちはテクノロジーの力を信じています。情報化社会のビジネスシーンにおいて、新たなチャレンジの基盤となるテクノロジー。スローガンに込めた「FIX(=成就)」とは、お客さまのチャレンジを実現し、事業の価値を高めること。そして「your challenges」は、お客さまとFIXER の社員、あらゆるステークホルダーのチャレンジを示します。その全てをテクノロジーでFIX することが私たちの歓びであり、みなさまへの約束です。
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.5会社概要 (2019年4月1日現在)会社名所在地従業員数資本金従業員数株式会社FIXER東京都港区芝浦1-2-3シーバンスS館 24階2009年11月6日3,500万円118名 (正社員)172名 (他雇用形態・業務委託を含む)役員関連会社会長: 仲畑 貴志代表取締役社長: 松岡 清一取締役: 中尾 公一社外取締役: 板野 泰之顧問: 渥美 俊英社外監査役: 名古屋 聡介株式会社ドラゴン東京代表者 松岡 清一
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.6拠点 (2019年1月1日現在)金沢事業所名古屋事業所東京本社FIXERクラウドセンターFIXERTechnologies, Inc.石川県金沢市広岡2-13-37STビル愛知県名古屋市中区栄2-2-23アーク白川公園ビルディング東京都港区芝浦1-2-3シーバンスS館三重県津市あのつ台4-6-1あのつピア717 Market St STE100,San Francisco CA 94103
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.7IoT Platform自然言語処理のLegal Tech応用、対話型エージェントの開発AI / Machine Learningクラウドの利点をフル活用できる5G時代のデータ収集・転送・分析プラットフォームの開発MaaS (Mobility as a Service)サービス開発 クラウドバンキングの開発から、デジタル時代の銀行のビジネスとシステムアーキテクチャデザインFintechコアプロダクトであるマネージドサービス cloud.config を基盤に、Fintech/MaaS 領域でサービスを開発。これらのサービスの基礎技術となる AI/Machine Learning および IoT Platform の研究開発を積極的に推進当社が提供するサービスの全体像先端技術開発マネージドサービスマルチモーダルサービス対応のアプリ開発、自動運転時代のデータプラットフォーム開発Lift & Shiftクラウド移行の難易度・効果をクイックに診断、プランをご提案cloud.config設計・監視・運用・保守を24/7支援するフルネージドサービスcloud.config Portalプロビジョニングからスケーリングまでを自動化する管理ポータル
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.8Microsoftの「Cloud Solution Provider Program」に開始初期から参加、2017年には「Microsoft Country Partner of theYear」を受賞するなど、緊密に連携してビジネスを展開Microsoftとのパートナーシップクラウドのためのベストサービス~フルマネージドサービス~最適なパブリッククラウド~クラウドマネージメント~2013201420152016201820172019当社松岡が発起人となり一般社団法人アジュール評議会(ACE)設立Microsoft Azure パートナーアワード Cloud Service Vendor 最優秀賞 受賞Microsoft Azure パートナーアワード Cloud Service Vendor 最優秀賞 受賞パートナープログラム「Cloud Solution Provider Program」の開始に当たりパートナーとして認定(世界26社のうち1社)Microsoft Financial Services Award 受賞日本国内で最も優秀な成績を収めたパートナーとして、Microsoft Country Partner of the Year 受賞
© COPYRIGHT 2019 FIXER Inc.© COPYRIGHT 2019 FIXER inc.10Cloud Config TechBlog Powered by FIXERhttps://tech-blog.cloud-config.jp/
© COPYRIGHT 2019 FIXER Inc.Agenda• アプリケーションのクラウド移行戦略• マイクロサービスとは何か• マイクロサービスを支える技術• Azure DevOps デモ• サンプルアプリご紹介• まとめ
© COPYRIGHT 2019 FIXER Inc.アプリケーションのクラウド移行戦略
© COPYRIGHT 2019 FIXER Inc.デジタル・トランスフォーメーションとは何か異業種からの参入 市場環境の流動性 顧客嗜好の多様化不確実性の増大ビジネスのスピードを圧倒的に上げるしか対処する術はない➢ 経営会議のサイクルを月次から日次へ➢ 販売実績の報告を日次からリアルタイムへ➢ 労働時間の把握を月次からリアルタイムへ意思決定サイクルの短縮現場への大幅な権限委譲流水化されたビジネス・プロセスデジタル・テクノロジーを駆使ビジネス・スピードを加速するデジタル・トランスフォーメーション自律的なチームによる運営と管理現場や顧客の「見える化」バリューストリームの管理と把握(ヒト、モノ、カネ、情報)
© COPYRIGHT 2019 FIXER Inc.デジタルトランスフォーメーションを取り巻く2つの環境異業種からの参入 市場環境の流動性 顧客嗜好の多様化不確実性の増大事業継続の条件:変化への即応力を持つことビジネス環境アジャイル開発と DevOpsクラウド:コンテナ × Kubernetes / SaaS × PaaSIT環境ERP × BPR / BPM意志決定の迅速化 ビジネス・プロセスのデジタル化見える化 最適化機械学習×データサイエンスビジネスの現場からのデータ収集DXを支える仕組みプラットフォーム変化に俊敏に対応できる企業文化・体質
© COPYRIGHT 2019 FIXER Inc.クラウド移行戦略リフト&シフト+モダナイズガートナーの5つのR・Rehost・Refactor・Rearchitect・Rebuild・Replaceシフトの指針New
© COPYRIGHT 2019 FIXER Inc.アプリケーション ポートフォリオ アセスメントEOS(例:Windows Sever 2008)がきっかけの場合も16・アプリケーション・プラットフォーム・ワークフローのメンテナンスや更新・ビジネス価値・コスト• ビジネス• テクノロジー• 人リタイアリプレースリビルドリアーキテクトリファクタリホスト
© COPYRIGHT 2019 FIXER Inc.アプリケーションのクラウド移行シナリオ17コンテナオンプレミス サーバーレスIaaS
© COPYRIGHT 2019 FIXER Inc.マイクロサービスでアプリ構築・スケールアップやメンテナンスがより簡単になり、弾力性があり安定した運用が可能リアーキテクト : アプリのアーキテクチャ変更18マイクロサービスモノリシック
© COPYRIGHT 2019 FIXER Inc.モノリシックからマイクロサービス(APIベース)商品注文決済配達APIAPIAPIAPI
© COPYRIGHT 2019 FIXER Inc.マイクロサービス的実装例APIAPIAPIAPI
© COPYRIGHT 2019 FIXER Inc.Smart hotels 360https://azure.microsoft.com/ja-jp/campaigns/smarthotel360/
© COPYRIGHT 2019 FIXER Inc.日本政府の取り組み• 世界最先端デジタル国家創造宣言• 官民データ活用推進基本計画• デジタル・ガバメント推進方針• デジタル・ガバメント実行計画世界最先端デジタル国家実行計画が目指すもの(ToBe)
© COPYRIGHT 2019 FIXER Inc.デジタルファースト法案、衆院通過
© COPYRIGHT 2019 FIXER Inc.クラウドバイデフォルトの推進• 【方針2-3】プラットフォームの共用化と民間サービスの活用• 効率的かつ効果的なプラットフォームの整備を行うため、共用化を前提とした共通システムや共通サービスの整備及び拡充を推進する。業務やデータの標準化等の業務改革を進めながら、府省共通システムの継続的な充実及び強化や自治体クラウドの一層の推進に取り組む。• 全国同一水準での提供が求められる地方公共団体等のサービスについて、各主体において個別に情報システムの整備を行うのではなく、自治体クラウド等への集約化を推進する。加えて、クラウドの広域化やグループ同士の統合等を進め、機能の共用化を促進する。• プラットフォームの共用化の一環として、行政機関におけるテレワーク・リモート アクセス環境の共通化等、生産性の向上や多様なワークスタイルを実現する共通インフラの整備を推進する。• 情報システムの導入に当たっては、全ての機能を行政自らが構築するという自前主義に拘泥するのではなく、民間クラウドや民間サービスを積極的に活用し、行政機関が全てを保有・管理する形態から必要なものを必要な期間だけ利用するという考え方へ転換する。これによって、最新技術の早期かつ適時の導入や投資対効果の向上を実現する。国において直接保有・管理する必要がある政府情報システムについては、標準化・共通化を図るとともに、投資対効果の検証を徹底した上で、政府共通プラットフォームへの移行を推進する。24• 国際的な動向を見ながら、プラットフォームの共通化を再検討する必要あり• クラウド方針を作成(CIO 補佐官技術タスクフォース)• データ分析やプロジェクト管理等、汎用機能での民間サービスの積極的活用(CIO 補佐官)
© COPYRIGHT 2019 FIXER Inc.政府 CIO 補佐官技術タスクフォース ディスカッションペーパーhttps://cio.go.jp/dp
© COPYRIGHT 2019 FIXER Inc.(参考)3.アプリケーション設計・開発における考え方 1/2パブリック・クラウド利用時の考え方 (従来の考え方)システム設計 クラウドサービスのリファレンスアーキテクチャをベースとする様々な技法・手法や、これまでの経験をベースとする開発量の削減 SaaS、PaaS、マネージドサービス等を利用する パッケージや超高速開発ツール等を適用するデータベース マネージドサービスの DB を利用する(スケールアップ・スケールアウト可能)ライセンスを購入して個別に DB サーバを構築するBI マネージドサービスの BI を利用する ライセンスを購入して個別に BI 環境を構築するシステム間インタフェース 疎結合、非同期を前提に、API 管理ツールで一元管理を行う 個別に設計・実装サービス指向 マネージドサービスのマイクロサービス(サーバレス)を利用する個別にサービス化を行う環境変化への姿勢 環境変化を当然と捉えて、前向きに対応する。アジャイル開発を積極的に取り入れ、コンテナ等の DevOpsも想定する環境変化を必要悪と捉えて、やむを得ず対応するhttps://cio.go.jp/dp2019_01引用:パブリック・クラウドを利用した情報システムにおける計画・構築時の基本的な考え方
© COPYRIGHT 2019 FIXER Inc.マイクロサービスとは何か
© COPYRIGHT 2019 FIXER Inc.マイクロサービスとは• MSDN アーキテクチャーセンター• マイクロサービスアーキテクチャは、小さな自律的サービスのコレクションで構成されます。各サービスは自己完結型で、1つのビジネス機能を実装している必要があります。• https://docs.microsoft.com/ja-jp/azure/architecture/guide/architecture-styles/microservices• ビジネスの変化に即応するための目的的な概念
© COPYRIGHT 2019 FIXER Inc.各サービスの特長
© COPYRIGHT 2019 FIXER Inc.①小さく、独立的で、疎結合
© COPYRIGHT 2019 FIXER Inc.②小規模な1つの開発者チームで作成および管理可能
© COPYRIGHT 2019 FIXER Inc.大規模なチーム開発だと・・・
© COPYRIGHT 2019 FIXER Inc.③個別にデプロイ可能で、 アプリケーション全体を再構築したり再デプロイしたりすることなく、個別にサービスを更新可能
© COPYRIGHT 2019 FIXER Inc.多くの人手・承認・時間などコストがかかる
© COPYRIGHT 2019 FIXER Inc.④サービスのデータや外部の状態を保持する役割を担う
© COPYRIGHT 2019 FIXER Inc.⑤明確に定義された API で互いに通信し、各サービス内部の実装の詳細は、他のサービスに開示されない
© COPYRIGHT 2019 FIXER Inc.⑥各サービスは、サービスの特性に応じて異なるテクノロジスタック、ライブラリ、またはフレームワークで構築可能
© COPYRIGHT 2019 FIXER Inc.このシステム複雑すぎる・・・どのコードを参照したらいいんだっけ・・・??しかもNode.js使いたいんですけど。
© COPYRIGHT 2019 FIXER Inc.⑦障害も分離される
© COPYRIGHT 2019 FIXER Inc.全サービス、ストップ。いつ復旧するの?損害は?
© COPYRIGHT 2019 FIXER Inc.モノリシックサービス
© COPYRIGHT 2019 FIXER Inc.マイクロサービス
© COPYRIGHT 2019 FIXER Inc.マイクロサービスの特長• ビジネスドメインに沿ったモデル化• 実装の詳細の隠避• 自動化の推進• 高度な分散化の推進• 独立したデプロイメント• 障害の分離の徹底• 監視と管理の高度化
© COPYRIGHT 2019 FIXER Inc.マイクロサービス化する上での課題とは??運用管理コスト単純に複数サーバで運用するので運用管理コストは増大します。サーバの費用もそうですが、環境構築や監視、メンテナンスなどサーバが増えるのでそれも運用コストとなります。01データの整合性データベースも複数運用となると、データの整合性の問題も出てきます。また、既存サービスをデータ分割するとなると難易度が上がります。02結合テストアプリケーションが複数のサーバ、インスタンスにまたがった構成になるので結合テストが難解になります。03
© COPYRIGHT 2019 FIXER Inc.ちょうどいいマイクロサービス化を行い、変化に対応しやすいシステムを作ろう!
© COPYRIGHT 2019 FIXER Inc.マイクロサービスの2側面• プラットフォーム技術• Container• Docker• Kubernetes• ソフトウェアアーキテクチャ• 分散アーキテクチャ• 通信• データ
© COPYRIGHT 2019 FIXER Inc.マイクロサービスの台頭①• ビジネスモデルの急速な変化• アジャイル開発• クラウドベンダー成長• クラウド利用企業激増• API 公開・連携の拡大• アプリケーション最新化• 反復的• 継続的
© COPYRIGHT 2019 FIXER Inc.マイクロサービスの台頭②• プラットフォーム技術• Container, Orchestrator• 運用コスト削減• ビジネス機会の拡大• 選択と集中• 必要機能のみスケールアウト
© COPYRIGHT 2019 FIXER Inc.マイクロサービスアーキテクチャによるアプリ構築着手前に考慮すべき技術的課題• 同機能のモノリシックアプリより多くの動的なパーツで構成され複雑• サービス間の境界にまたがってリファクタリングを行うことは困難• 多くの異なる言語やフレームワークを使用する場合のアプリのガバナンス• ネットワークの輻輳と待機時間• 独自のデータを永続化する各マイクロサービスを使用するためデータ整合性の困難さ• サービス間で相互に関連付けられたログを記録することは難しい• 複数のサービスが特定の時点で更新される場合があるためバージョン管理を慎重に設計する必要がある• 高度な分散システムのため成功のために必要なスキルセット
© COPYRIGHT 2019 FIXER Inc.マイクロサービスを支える技術
© COPYRIGHT 2019 FIXER Inc.Docker Containersクラウドからオンプレミスまでどこでも実行可能な高速で軽量なアプリケーション / サービスの配置、運用、管理、自動化のための技術コンテナー型のアプリ仮想化技術◼ ネットワークやリソースを分離◼ 高速かつオーバーヘッドの少ない配置展開◼ オープンソース WindowsLinux
52© COPYRIGHT 2018 FIXER Inc.Docker とは?◼ コンテナー型のアプリ仮想化技術◼ コンテナ間は分離◼ OS カーネルや各種ライブラリ等は共有◼ 高速かつオーバーヘッドの少ないデプロイ、再起動、移行◼ オープンソースAppA’Host OSServerBins/LibsAppABins/LibsAppBAppB’AppB’AppB’ContainerAppAHypervisor (Type 2)Host OSServerGuestOSBins/LibsAppA’GuestOSBins/LibsAppBGuestOSBins/LibsVMGuestOSGuestOS
53© COPYRIGHT 2018 FIXER Inc.参考:マンガでわかるDocker_技術書典Docker とは?
© COPYRIGHT 2019 FIXER Inc.本日Dockerについて覚えていただきたいこと①コンテナ②イメージ
55© COPYRIGHT 2018 FIXER Inc.参考:マンガでわかるDocker_技術書典Docker と コンテナの関係は?
56© COPYRIGHT 2018 FIXER Inc.コンテナをつくる元となるファイルのこと。イメージ とは?
57© COPYRIGHT 2018 FIXER Inc.参考:マンガでわかるDocker_技術書典「Docker」で「イメージ」をもとに「コンテナ」を起動する
58© COPYRIGHT 2018 FIXER Inc.イメージが置いてあるDocker hubっていうWebサイトがあるよ。
© COPYRIGHT 2019 FIXER Inc.Container(Docker)をなぜ使うのか資源効率性の高さコンテナはホスト OS を共有するので、ゲスト OS を立てる必要がないポータビリティ(移植性)の高さコンテナを構成してリポジトリに保存しておけば、どこでも動かせるクラウドをまたぐことも可能(PolyCloud)展開の容易性と高速性コマンドのみで展開、再展開が容易に可能開発の容易性と高速性アプリケーションが動作する環境をコンテナとして維持管理可能
© COPYRIGHT 2019 FIXER Inc.従来のサーバ構成HW(CPU/メモリ/ディスク)OS(Linux/Windows)MW(Apache/PostgreSQL)アプリケーションバイナリライブラリ依存• アプリケーション/MWは、バイナリ (Java コマンド等) /ライブラリに依存しており、動作させるためには OS に依存対象をインストールする必要あり• その結果、OS 含めたサーバ全体が、“Web サーバ”、”バッチサーバ” といった目的に特化したものとなり汎用性がなくなることになる• 例えば、”Web サーバ”と”バッチサーバ”を一つのサーバに同居させようとすると、”Web + バッチサーバ”という目的に特化したOS設定となる
© COPYRIGHT 2019 FIXER Inc.Docker を利用したコンテナ化• アプリケーション/MW が依存するバイナリ/ライブラリをコンテナイメージという形でパッケージング• どんなサーバでも、docker が動いていればコンテナイメージをコンテナとして稼働可能• 結果、アプリケーション/MW は、コンテナとして抽象化され、 OS 以下のレイヤーは汎用的に• 例えば、障害時のフェイルオーバや負荷によるスケールアウトが、コンテナと OS/HW で分離されるため柔軟に実行可能• OS/HW はクラウドで容易に調達可能であるため、クラウドのメリットをより引き出すシステム構成dockerコンテナHW(CPU/メモリ/ディスク)OS(Linux/Windows)MW(Apache/PostgreSQL)アプリケーションバイナリライブラリ依存Docker
© COPYRIGHT 2019 FIXER Inc.Docker Containers ~ 共通デプロイ単位OptionsofcomputeAzure Web App for ContainersService FabricMa enAzureKubernetesService (AKS)Leverage the Azure platformdesigned for your container needsKeep using the platform of your choice,running great on AzureAzure Container RegistryDocker Hub,private registryVisual Studio tools InteliJ JenkinsRedhat OpenshiftContainer PlatformPivotal CloudFoundryKubernetes
© COPYRIGHT 2019 FIXER Inc.コンテナが増えすぎた!
© COPYRIGHT 2019 FIXER Inc.コンテナのオーケストレーションの必要性• Docker により、アプリケーションのコード、インフラの構成情報を統合的に管理(疎結合)• ただし、大規模システムの場合、複数のホストマシンからなる、分散環境構築が必要• 開発したアプリケーションを、効率よく継続的にデプロイしていくか?という開発 / 運用を考えなくてはならない↓• コンテナのオーケストレーションツールが必要
© COPYRIGHT 2019 FIXER Inc.コンテナのオーケストレーションとは?• 複数のコンテナアプリケーションを連動させて一つのサービスとして提供するサービス• 障害時の対策など運用面を考慮し、複数コンテナを管理するシステム• AWS、Microsoft、Google、IBM、等主要クラウドベンダーが採用したこともあり、現在のところコンテナオーケストレーションツールとしてKubernetes はデファクトといえる存在
© COPYRIGHT 2019 FIXER Inc.Kubernetes (クゥバネィテス) とは• ギリシャ語で “船の操縦手” “統括者・支配者” という意味• K8s と略され記述される事が多い(8は K から s の間の文字数)• ベアメタルサーバーや、仮想マシン(On-Premise、Cloud)上の、Docker をはじめとするコンテナ群を管理するシステム(コンテナオーケストレーションツール)• Google 社内で開発/運用されている、コンテナクラスタ管理システム “Borg” でのノウハウを結集して開発された• 現在は、Apache ライセンスで配布されているオープンソースソフトウェア• マイクロサービスを効率的にデプロイ、アップデートする機能として、• コンテナのオートスケール• Blue Green Deployment• Rolling Updateなどの機能を備えている
© COPYRIGHT 2019 FIXER Inc.Kubernetes におけるコンテナのオーケストレーション•コンテナを複数のノードに配置し、全体を一つのプラットフォームとして管理可能• スケジューリング、配置• 監視、復旧• コンテナの冗長構成• コンテナ間の通信確保• コンテナのオートスケール (In/Out)などの機能を備えているPodMaster NodeAgent NodePodPodPodAgent Node
© COPYRIGHT 2019 FIXER Inc.Istio - サービスメッシュ(Service Mesh)• Kubernetes 上にデプロイしたサービスの間の通信を統一的な仕組みで管理• Blue/Green Deployment• カナリアリリース• サーキットブレーカー(CDP)• 分散トレーシング• Envoy サイドカーパターンhttps://docs.microsoft.com/ja-jp/azure/aks/istio-scenario-routing
© COPYRIGHT 2019 FIXER Inc.Circuit Breaker パターンCircuit Breaker 処理一般的な業務処理通常処理( Close )準縮退処理( Half-Open)
© COPYRIGHT 2019 FIXER Inc.Microsoft Azure でコンテナに対応している サービス利用用途に応じて適切なサービスを選択可能70管理重視 生産性重視
© COPYRIGHT 2019 FIXER Inc..NET Core でマイクロサービスを開発するメリット• 使い慣れた C# / VB.NET を用いてコンテナで実行するアプリを開発可能• 開発環境をサポートするツール群• .NET Core CLI(dotnet コマンド)• Docker for Windows• Visual Studio 2019 によるコンテナサポート• ※ Windows のみの環境でLinux を含むコンテナ実行アプリを開発可能
© COPYRIGHT 2019 FIXER Inc.ローカル環境での開発マイクロサービスの開発ライフサイクルB チームA チームAzure DevOpsAzureKubernetesServiceAzureContainerRegistry開発環境AzureKubernetesServiceテスト環境 / 運用環境Repository PipelineAzureKubernetesService© COPYRIGHT 2019 FIXER Inc.
© COPYRIGHT 2019 FIXER Inc.WebApps 開発ライフサイクル (シナリオ例)Azure開発環境git pushpull, cloneDeployDeploy
© COPYRIGHT 2019 FIXER Inc.Azure DevOps デモ①- Azure Web Apps -
© COPYRIGHT 2018 FIXER Inc.•Docker CLI•Azure CLI, SSH•Visual Studio Code & Docker 拡張機能•Visual Studio 2019 コンテナー サポート (Build, Debug)•Docker Image の管理• Docker Hub• Azure Container Registry• Private RegistryContainer 開発とツールサポート
© COPYRIGHT 2019 FIXER Inc.Container 開発ライフサイクル (シナリオ例)Azure開発環境git pushpull, cloneCD (Webhook)docker pushdocker push
© COPYRIGHT 2019 FIXER Inc.マイクロサービスの開発から展開までの流れ•開発• ASP.NET Core アプリをローカルで開発• Azure DevOps でソースコードを管理• Docker Compose(Option)•自動ビルド• Azure DevOps Pipelineでビルド&単体テスト• Azure ContainerRegistry にコンテナイメージを登録•クラウド展開• Helm Charts を利用して AKS に展開
© COPYRIGHT 2019 FIXER Inc.Answer3Description:xxxxxxxxxxxxxx〇NextReference:http://quizap.com/orBlob URLUser IDPasswordC#JavaScriptSubjectsHTMLSQLASP.NET CoreWeb APIStudy Mode LTrial ModeMode SelectionUser AuthenticationStudy Mode1. C# Introduction2. C# xxxxxxxxxxxx3. C# yyyyyyyyyyyy4. ・・・・・・・☒☒☒5. ・・・・・・・Select Range ListTrial ModeSearch wrong Answers or Top 100from the BeginningWrong AnswersRecommended by AIPast TimesnANDConditions :ORQuestions ListQuestions List1 C# has only 3 Types ? YES NO Description http://quizap.com/2 .NET is the Language? YES NO Description http://quizap.com/3Web API consists ofInterfaces?YES NO Description http://quizap.com/・・Users AdminUsersAdmin CRUD, BULK INSERT(Link Added)READ, UPDATEQuestion1YES NOC# has only 3 Types ?Picture from Blob URL(if exists)Answer1Description:xxxxxxxxxxxxxx×NextReference:http://quizap.com/orBlob URLResultsResult List1 C# has only 3 Types ? × Description http://quizap.com/2 .NET is the Language? 〇 Description http://quizap.com/3Web API consists ofInterfaces? 〇 Description http://quizap.com/・・78/100 CorrectAnswer1Answer2Answer3Top MenuCorrect Answer:NOCorrect Answer: NOサンプルアプリの構造
© COPYRIGHT 2019 FIXER Inc.サンプルアプリ画面遷移イメージ
© COPYRIGHT 2019 FIXER Inc.サンプルアプリ画面遷移イメージ
© COPYRIGHT 2019 FIXER Inc.• 統合認証機能• 検索機能追加• BI (Power BI) 機能追加• AI (Recommendation 等) 機能追加追加実装する範囲
© COPYRIGHT 2019 FIXER Inc.Answer3Description:xxxxxxxxxxxxxx〇NextReference:http://quizap.com/orBlob URLUser IDPasswordC#JavaScriptSubjectsHTMLSQLASP.NET CoreWeb APIStudy Mode LTrial ModeMode SelectionUser AuthenticationStudy Mode1. C# Introduction2. C# xxxxxxxxxxxx3. C# yyyyyyyyyyyy4. ・・・・・・・☒☒☒5. ・・・・・・・Select Range ListTrial ModeSearch wrong Answers or Top 100from the BeginningWrong AnswersRecommended by AIPast TimesnANDConditions :ORQuestions ListQuestions List1 C# has only 3 Types ? YES NO Description http://quizap.com/2 .NET is the Language? YES NO Description http://quizap.com/3Web API consists ofInterfaces?YES NO Description http://quizap.com/・・Users AdminUsersAdmin CRUD, BULK INSERT(Link Added)READ, UPDATEQuestion1YES NOC# has only 3 Types ?Picture from Blob URL(if exists)Answer1Description:xxxxxxxxxxxxxx×NextReference:http://quizap.com/orBlob URLResultsResult List1 C# has only 3 Types ? × Description http://quizap.com/2 .NET is the Language? 〇 Description http://quizap.com/3Web API consists ofInterfaces? 〇 Description http://quizap.com/・・78/100 CorrectAnswer1Answer2Answer3Top MenuCorrect Answer:NOCorrect Answer: NO統合認証、検索、BI / AI 機能追加
© COPYRIGHT 2019 FIXER Inc.Trial ModeWrong AnswersRecommended by AIPast TimesnANDConditions :OR追加する機能について• Facebook/Twitter/Google/Microsoft認証追加• Active Directory 認証追加• Study (学習)モード追加• 検索機能追加• BI 機能追加(Power BI 等)• AI バックエンド追加(Recommendation 等)
© COPYRIGHT 2019 FIXER Inc.• 統合認証機能追加 → App Services で追加、認証ロジック追加• 検索機能追加 → Service 実装、Model に Search フォルダを追加• BI (Power BI) 機能追加 → Web API をフルに公開• AI (Recommendation 等) 機能追加 → 様々な方法有り• 例:Recommendations Solution Template追加編実装の方針
© COPYRIGHT 2019 FIXER Inc.• Azure にレコメンデーションエンジンがデプロイ• Azure Web Apps、Web Jobs、Storage で構成• 商品カタログとトランザクション履歴のデータに基づき、商品のレコメンド予測モデルを構築• SAR(Smart Adaptive Recommendations)アルゴリズムにより、2つのシナリオがサポート• Item-to-Item Recommendations• 「この商品をチェックした人はこんな商品もチェックしています」のようなレコメンドを表示するシナリオ• 関連する商品を表示することで、カタログ内の商品を見つけやすくする• Personalized Recommendations• ユーザーの最近のトランザクション履歴をもとに、そのユーザーに特化したレコメンドを表示Recommendations Solution Template とはhttps://github.com/Microsoft/Product-Recommendations
87© COPYRIGHT 2018 FIXER Inc.マイクロサービス化検索バッチ処理RecommendBusinessIntelligenceAzure Kubernetes Services(AKS)RecommendationSolution TemplateAzureFunctionsiOS,AndroidASP.NETCoreWeb App 認証
© COPYRIGHT 2019 FIXER Inc.
89© COPYRIGHT 2018 FIXER Inc.クイズアプリ Web サイトの実行用アーキテクチャ実装例 (AKS)・Azure Kubernetes Services・SQL Azure Database Managed InstanceSQLDatabaseWeb AppGeoレプリケーション自動スケールQuiz サービス東日本西日本 東南アジアSQLDatabaseWeb App認証サービスSQLDatabaseWeb App検索サービスSQLDatabaseWeb Appマスター DBSQLDatabaseWeb App出題サービスSQLDatabaseWeb AppBI サービスSQLDatabaseWeb AppAI サービスTokenService APIMasterAPISearchAPITestAPIReportAPIRecommendAPIMessageBus
© COPYRIGHT 2019 FIXER Inc.• 最初にモノリシックなアプリを開発• 各種必要機能を追加• CDP 等を考慮してサービス単位を分割• Docker でのローカルテスト• Azure Kubernetes Services へのデプロイ実装方針
© COPYRIGHT 2019 FIXER Inc.ローカル環境での開発マイクロサービスの開発ライフサイクルB チームA チームAzure DevOpsAzureKubernetesServiceAzureContainerRegistry開発環境AzureKubernetesServiceテスト環境 / 運用環境Repository PipelineAzureKubernetesService© COPYRIGHT 2019 FIXER Inc.
© COPYRIGHT 2018 FIXER Inc.• Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能• マネージドな Kubernetes クラスターをチームで共有して共同作業可能• 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、他のコンポーネントと併せてエンド ツー エンドのテストを実行Azure Dev Spaces (Preview)
© COPYRIGHT 2019 FIXER Inc.Azure Dev Spaces (Preview)• Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能• マネージドな Kubernetes クラスターをチームで共有して共同作業可能• 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、他のコンポーネントと併せてエンド ツー エンドのテストを実行• さまざまな開発言語/フレームワーク、Windows, macOS, Linux で利用可能• 開発とプロダクションで同一の Docker / Helm 環境を利用http://web-frontend.bd0cfb25.../aksapp.iohttp://scott.s.web-frontend.bd0cfb25.../aksapp.io Scott
© COPYRIGHT 2019 FIXER Inc.
© COPYRIGHT 2019 FIXER Inc.Azure DevOps デモ③- Azure Dev Spaces -
© COPYRIGHT 2018 FIXER Inc.• アプリケーションのクラウド移行戦略• マイクロサービスとは何か• マイクロサービスを支える技術• Azure DevOps デモ• サンプルアプリご紹介• まとめまとめ
© COPYRIGHT 2018 FIXER Inc.FIXER Tech AcademyCloud Config Boot CampNagisa Terrace in Tamachi
© COPYRIGHT 2018 FIXER Inc.Azureソリューションに必要なスキルを体系的に習得FIXERでは、Azureへのリフト&シフトやクラウドの効果的な活用、クラウド上でのアプリ開発など、様々なスキルを体系的に習得できる各種トレーニングをご用意しております。Azureの基礎知識Azure基本事項、Azureサービスと機能のツアーなどASP.NET CoreMVC WebモノリシックアーキテクチャASP.NET CoreMVC WebマイクロサービスアーキテクチャCDP概論・各論、仮想ネットワーク、ARMテンプレート等インフラ構築編アプリ開発基礎編アプリ開発機能追加編応用編Cloud Config Boot Camp(クラウド・コンフィグ・ブートキャンプ)
ご清聴ありがとうございました!© COPYRIGHT 2019 FIXER Inc.
© COPYRIGHT 2019 FIXER Inc.

Recommended

PDF
クラウドネイティブ時代の オブザーバビリティとは? 〜 SignalFxで実現するマイクロサービスの トレーサビリティとリアルタイム監視・分析 〜
PDF
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
PDF
OutSystems 新機能紹介: Reactive Web
PDF
Kymaではじめるマイクロサービスなサーバレス開発
PDF
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化
PDF
SAP Ruum ではじめるノーコードなワークフロー開発
PDF
Splunkで実践するKubernetesの運用監視とオブザーバビリティ
PDF
Cloud Nativeを見据えたアプリケーションアーキテクチャとレガシーモダナイゼーション
PDF
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
PDF
10分でわかるサイバーエージェント広告部門のハイブリッドクラウド環境 公開用
PDF
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
PDF
HCL Leap 概説
PDF
【Japan Partner Conference 2019】Microsoft Azure ビジネスの賢い進めかた ~ SB C&S が御社の Azur...
PPT
会社紹介
PDF
LLL ASIA 会社・サービス紹介資料 ver2.1
PDF
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
PPTX
新たなビジネスにおけるデータ活用 ~小田急電鉄のローカル・コミュニティ活性化アプリ「KYOUDOKO」の場合~(2021/9/15)
PDF
Hyperledgerマルチブロックチェーン基盤戦略構想 2/3
PDF
Einsteinvision - object detection を試してみよう
PDF
Decode19 cd42 fixer_public_0601
PDF
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
PDF
KongHQ Summit Japan 2021
PDF
Api managementご案内資料 201611 1st contact
PDF
Api meet up online#6 session1 ginco
PPTX
API Academy:マイクロサービス化へのファーストステップ
PDF
なぜ今なのか?非開発者でも開発者でも、これから始めるPower Platform
PDF
Kong Enterprise の紹介
PDF
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
PDF
なぜ「マイクロサービス“化”」が必要なのか
PPTX
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望

More Related Content

PDF
クラウドネイティブ時代の オブザーバビリティとは? 〜 SignalFxで実現するマイクロサービスの トレーサビリティとリアルタイム監視・分析 〜
PDF
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
PDF
OutSystems 新機能紹介: Reactive Web
PDF
Kymaではじめるマイクロサービスなサーバレス開発
PDF
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化
PDF
SAP Ruum ではじめるノーコードなワークフロー開発
PDF
Splunkで実践するKubernetesの運用監視とオブザーバビリティ
PDF
Cloud Nativeを見据えたアプリケーションアーキテクチャとレガシーモダナイゼーション
クラウドネイティブ時代の オブザーバビリティとは? 〜 SignalFxで実現するマイクロサービスの トレーサビリティとリアルタイム監視・分析 〜
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
OutSystems 新機能紹介: Reactive Web
Kymaではじめるマイクロサービスなサーバレス開発
Splunkを使ってKubernetesクラスターとコンテナのログ・メトリクスを可視化
SAP Ruum ではじめるノーコードなワークフロー開発
Splunkで実践するKubernetesの運用監視とオブザーバビリティ
Cloud Nativeを見据えたアプリケーションアーキテクチャとレガシーモダナイゼーション

What's hot

PDF
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
PDF
10分でわかるサイバーエージェント広告部門のハイブリッドクラウド環境 公開用
PDF
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
PDF
HCL Leap 概説
PDF
【Japan Partner Conference 2019】Microsoft Azure ビジネスの賢い進めかた ~ SB C&S が御社の Azur...
PPT
会社紹介
PDF
LLL ASIA 会社・サービス紹介資料 ver2.1
PDF
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
PPTX
新たなビジネスにおけるデータ活用 ~小田急電鉄のローカル・コミュニティ活性化アプリ「KYOUDOKO」の場合~(2021/9/15)
PDF
Hyperledgerマルチブロックチェーン基盤戦略構想 2/3
PDF
Einsteinvision - object detection を試してみよう
PDF
Decode19 cd42 fixer_public_0601
PDF
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
PDF
KongHQ Summit Japan 2021
PDF
Api managementご案内資料 201611 1st contact
PDF
Api meet up online#6 session1 ginco
PPTX
API Academy:マイクロサービス化へのファーストステップ
PDF
なぜ今なのか?非開発者でも開発者でも、これから始めるPower Platform
PDF
Kong Enterprise の紹介
Developers Summit 2018: ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデー...
10分でわかるサイバーエージェント広告部門のハイブリッドクラウド環境 公開用
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
HCL Leap 概説
【Japan Partner Conference 2019】Microsoft Azure ビジネスの賢い進めかた ~ SB C&S が御社の Azur...
会社紹介
LLL ASIA 会社・サービス紹介資料 ver2.1
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
新たなビジネスにおけるデータ活用 ~小田急電鉄のローカル・コミュニティ活性化アプリ「KYOUDOKO」の場合~(2021/9/15)
Hyperledgerマルチブロックチェーン基盤戦略構想 2/3
Einsteinvision - object detection を試してみよう
Decode19 cd42 fixer_public_0601
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
KongHQ Summit Japan 2021
Api managementご案内資料 201611 1st contact
Api meet up online#6 session1 ginco
API Academy:マイクロサービス化へのファーストステップ
なぜ今なのか?非開発者でも開発者でも、これから始めるPower Platform
Kong Enterprise の紹介

Similar to Monolith to microservice

PDF
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
PDF
なぜ「マイクロサービス“化”」が必要なのか
PPTX
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
PDF
マイクロサービスアーキテクチャへのモチベーション整理とその複雑性に対する落としどころ
PDF
Azure App Service Overview
PDF
30分でわかるマイクロサービスアーキテクチャ 第2版
PPTX
SIビジネスのデジタル・トランスフォーメーション
PDF
マイクロサービス化に向けて
 
PDF
Decode19 cd42 fixer_public_0601
PDF
Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/
PDF
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
PDF
Tech summit 2018_ad15_ver_1106
PDF
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
PPTX
Microservices
PPTX
オレ流クラウドデザイン
PPTX
Servcie Fabric and Cloud Design Pattern
PDF
Dmm meetup microservice
PPTX
Real World Cloud Architectures ~CDPの概念と実装~
PDF
クラウドが実現するソフト開発・運用の変革と自動化
PDF
マイクロソフト クラウド プラクティス開発スタディ
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
なぜ「マイクロサービス“化”」が必要なのか
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
マイクロサービスアーキテクチャへのモチベーション整理とその複雑性に対する落としどころ
Azure App Service Overview
30分でわかるマイクロサービスアーキテクチャ 第2版
SIビジネスのデジタル・トランスフォーメーション
マイクロサービス化に向けて
 
Decode19 cd42 fixer_public_0601
Evangelist was-born-4-publish https://devrel.tokyo/japan-2019/speakers/shotaro/
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
Tech summit 2018_ad15_ver_1106
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
Microservices
オレ流クラウドデザイン
Servcie Fabric and Cloud Design Pattern
Dmm meetup microservice
Real World Cloud Architectures ~CDPの概念と実装~
クラウドが実現するソフト開発・運用の変革と自動化
マイクロソフト クラウド プラクティス開発スタディ

Monolith to microservice

  • 1.
    © COPYRIGHT 2019FIXER Inc.モノリスなアプリからマイクロサービスへ- クラウドネイティブなアプリ開発におけるCI/CD プロセスと DevOps ツール -横山 依子株式会社 FIXERCloud Evangelist鈴木 章太郎株式会社 FIXERTechnical Fellow, Evangelist内閣官房 政府 CIO 補佐官エンタープライズアジャイル勉強会 5月セミナー
  • 2.
    © COPYRIGHT 2019FIXER Inc.鈴木章太郎株式会社 FIXERTechnical Fellow, Evangelist内閣官房 政府 CIO 補佐官(法務省担当)元 Microsoft EvangelistAWS, Azure, GCPCertified ProfessionalFollow me!@shosuz
  • 3.
    © COPYRIGHT 2019FIXER Inc.横山 依子(ヨコヤマ ヨリコ)株式会社FIXERCloud EvangelistFollow me!@yokoyamasandesu
  • 4.
    © COPYRIGHT 2019FIXER Inc.© COPYRIGHT 2019 FIXER inc.4Technology to FIX your challenges.あなたのチャレンジをテクノロジーで成就する私たちはテクノロジーの力を信じています。情報化社会のビジネスシーンにおいて、新たなチャレンジの基盤となるテクノロジー。スローガンに込めた「FIX(=成就)」とは、お客さまのチャレンジを実現し、事業の価値を高めること。そして「your challenges」は、お客さまとFIXER の社員、あらゆるステークホルダーのチャレンジを示します。その全てをテクノロジーでFIX することが私たちの歓びであり、みなさまへの約束です。
  • 5.
    © COPYRIGHT 2019FIXER Inc.© COPYRIGHT 2019 FIXER inc.5会社概要 (2019年4月1日現在)会社名所在地従業員数資本金従業員数株式会社FIXER東京都港区芝浦1-2-3シーバンスS館 24階2009年11月6日3,500万円118名 (正社員)172名 (他雇用形態・業務委託を含む)役員関連会社会長: 仲畑 貴志代表取締役社長: 松岡 清一取締役: 中尾 公一社外取締役: 板野 泰之顧問: 渥美 俊英社外監査役: 名古屋 聡介株式会社ドラゴン東京代表者 松岡 清一
  • 6.
    © COPYRIGHT 2019FIXER Inc.© COPYRIGHT 2019 FIXER inc.6拠点 (2019年1月1日現在)金沢事業所名古屋事業所東京本社FIXERクラウドセンターFIXERTechnologies, Inc.石川県金沢市広岡2-13-37STビル愛知県名古屋市中区栄2-2-23アーク白川公園ビルディング東京都港区芝浦1-2-3シーバンスS館三重県津市あのつ台4-6-1あのつピア717 Market St STE100,San Francisco CA 94103
  • 7.
    © COPYRIGHT 2019FIXER Inc.© COPYRIGHT 2019 FIXER inc.7IoT Platform自然言語処理のLegal Tech応用、対話型エージェントの開発AI / Machine Learningクラウドの利点をフル活用できる5G時代のデータ収集・転送・分析プラットフォームの開発MaaS (Mobility as a Service)サービス開発 クラウドバンキングの開発から、デジタル時代の銀行のビジネスとシステムアーキテクチャデザインFintechコアプロダクトであるマネージドサービス cloud.config を基盤に、Fintech/MaaS 領域でサービスを開発。これらのサービスの基礎技術となる AI/Machine Learning および IoT Platform の研究開発を積極的に推進当社が提供するサービスの全体像先端技術開発マネージドサービスマルチモーダルサービス対応のアプリ開発、自動運転時代のデータプラットフォーム開発Lift & Shiftクラウド移行の難易度・効果をクイックに診断、プランをご提案cloud.config設計・監視・運用・保守を24/7支援するフルネージドサービスcloud.config Portalプロビジョニングからスケーリングまでを自動化する管理ポータル
  • 8.
    © COPYRIGHT 2019FIXER Inc.© COPYRIGHT 2019 FIXER inc.8Microsoftの「Cloud Solution Provider Program」に開始初期から参加、2017年には「Microsoft Country Partner of theYear」を受賞するなど、緊密に連携してビジネスを展開Microsoftとのパートナーシップクラウドのためのベストサービス~フルマネージドサービス~最適なパブリッククラウド~クラウドマネージメント~2013201420152016201820172019当社松岡が発起人となり一般社団法人アジュール評議会(ACE)設立Microsoft Azure パートナーアワード Cloud Service Vendor 最優秀賞 受賞Microsoft Azure パートナーアワード Cloud Service Vendor 最優秀賞 受賞パートナープログラム「Cloud Solution Provider Program」の開始に当たりパートナーとして認定(世界26社のうち1社)Microsoft Financial Services Award 受賞日本国内で最も優秀な成績を収めたパートナーとして、Microsoft Country Partner of the Year 受賞
  • 9.
    © COPYRIGHT 2019FIXER Inc.© COPYRIGHT 2019 FIXER inc.10Cloud Config TechBlog Powered by FIXERhttps://tech-blog.cloud-config.jp/
  • 10.
    © COPYRIGHT 2019FIXER Inc.Agenda• アプリケーションのクラウド移行戦略• マイクロサービスとは何か• マイクロサービスを支える技術• Azure DevOps デモ• サンプルアプリご紹介• まとめ
  • 11.
    © COPYRIGHT 2019FIXER Inc.アプリケーションのクラウド移行戦略
  • 12.
    © COPYRIGHT 2019FIXER Inc.デジタル・トランスフォーメーションとは何か異業種からの参入 市場環境の流動性 顧客嗜好の多様化不確実性の増大ビジネスのスピードを圧倒的に上げるしか対処する術はない➢ 経営会議のサイクルを月次から日次へ➢ 販売実績の報告を日次からリアルタイムへ➢ 労働時間の把握を月次からリアルタイムへ意思決定サイクルの短縮現場への大幅な権限委譲流水化されたビジネス・プロセスデジタル・テクノロジーを駆使ビジネス・スピードを加速するデジタル・トランスフォーメーション自律的なチームによる運営と管理現場や顧客の「見える化」バリューストリームの管理と把握(ヒト、モノ、カネ、情報)
  • 13.
    © COPYRIGHT 2019FIXER Inc.デジタルトランスフォーメーションを取り巻く2つの環境異業種からの参入 市場環境の流動性 顧客嗜好の多様化不確実性の増大事業継続の条件:変化への即応力を持つことビジネス環境アジャイル開発と DevOpsクラウド:コンテナ × Kubernetes / SaaS × PaaSIT環境ERP × BPR / BPM意志決定の迅速化 ビジネス・プロセスのデジタル化見える化 最適化機械学習×データサイエンスビジネスの現場からのデータ収集DXを支える仕組みプラットフォーム変化に俊敏に対応できる企業文化・体質
  • 14.
    © COPYRIGHT 2019FIXER Inc.クラウド移行戦略リフト&シフト+モダナイズガートナーの5つのR・Rehost・Refactor・Rearchitect・Rebuild・Replaceシフトの指針New
  • 15.
    © COPYRIGHT 2019FIXER Inc.アプリケーション ポートフォリオ アセスメントEOS(例:Windows Sever 2008)がきっかけの場合も16・アプリケーション・プラットフォーム・ワークフローのメンテナンスや更新・ビジネス価値・コスト• ビジネス• テクノロジー• 人リタイアリプレースリビルドリアーキテクトリファクタリホスト
  • 16.
    © COPYRIGHT 2019FIXER Inc.アプリケーションのクラウド移行シナリオ17コンテナオンプレミス サーバーレスIaaS
  • 17.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスでアプリ構築・スケールアップやメンテナンスがより簡単になり、弾力性があり安定した運用が可能リアーキテクト : アプリのアーキテクチャ変更18マイクロサービスモノリシック
  • 18.
    © COPYRIGHT 2019FIXER Inc.モノリシックからマイクロサービス(APIベース)商品注文決済配達APIAPIAPIAPI
  • 19.
    © COPYRIGHT 2019FIXER Inc.マイクロサービス的実装例APIAPIAPIAPI
  • 20.
    © COPYRIGHT 2019FIXER Inc.Smart hotels 360https://azure.microsoft.com/ja-jp/campaigns/smarthotel360/
  • 21.
    © COPYRIGHT 2019FIXER Inc.日本政府の取り組み• 世界最先端デジタル国家創造宣言• 官民データ活用推進基本計画• デジタル・ガバメント推進方針• デジタル・ガバメント実行計画世界最先端デジタル国家実行計画が目指すもの(ToBe)
  • 22.
    © COPYRIGHT 2019FIXER Inc.デジタルファースト法案、衆院通過
  • 23.
    © COPYRIGHT 2019FIXER Inc.クラウドバイデフォルトの推進• 【方針2-3】プラットフォームの共用化と民間サービスの活用• 効率的かつ効果的なプラットフォームの整備を行うため、共用化を前提とした共通システムや共通サービスの整備及び拡充を推進する。業務やデータの標準化等の業務改革を進めながら、府省共通システムの継続的な充実及び強化や自治体クラウドの一層の推進に取り組む。• 全国同一水準での提供が求められる地方公共団体等のサービスについて、各主体において個別に情報システムの整備を行うのではなく、自治体クラウド等への集約化を推進する。加えて、クラウドの広域化やグループ同士の統合等を進め、機能の共用化を促進する。• プラットフォームの共用化の一環として、行政機関におけるテレワーク・リモート アクセス環境の共通化等、生産性の向上や多様なワークスタイルを実現する共通インフラの整備を推進する。• 情報システムの導入に当たっては、全ての機能を行政自らが構築するという自前主義に拘泥するのではなく、民間クラウドや民間サービスを積極的に活用し、行政機関が全てを保有・管理する形態から必要なものを必要な期間だけ利用するという考え方へ転換する。これによって、最新技術の早期かつ適時の導入や投資対効果の向上を実現する。国において直接保有・管理する必要がある政府情報システムについては、標準化・共通化を図るとともに、投資対効果の検証を徹底した上で、政府共通プラットフォームへの移行を推進する。24• 国際的な動向を見ながら、プラットフォームの共通化を再検討する必要あり• クラウド方針を作成(CIO 補佐官技術タスクフォース)• データ分析やプロジェクト管理等、汎用機能での民間サービスの積極的活用(CIO 補佐官)
  • 24.
    © COPYRIGHT 2019FIXER Inc.政府 CIO 補佐官技術タスクフォース ディスカッションペーパーhttps://cio.go.jp/dp
  • 25.
    © COPYRIGHT 2019FIXER Inc.(参考)3.アプリケーション設計・開発における考え方 1/2パブリック・クラウド利用時の考え方 (従来の考え方)システム設計 クラウドサービスのリファレンスアーキテクチャをベースとする様々な技法・手法や、これまでの経験をベースとする開発量の削減 SaaS、PaaS、マネージドサービス等を利用する パッケージや超高速開発ツール等を適用するデータベース マネージドサービスの DB を利用する(スケールアップ・スケールアウト可能)ライセンスを購入して個別に DB サーバを構築するBI マネージドサービスの BI を利用する ライセンスを購入して個別に BI 環境を構築するシステム間インタフェース 疎結合、非同期を前提に、API 管理ツールで一元管理を行う 個別に設計・実装サービス指向 マネージドサービスのマイクロサービス(サーバレス)を利用する個別にサービス化を行う環境変化への姿勢 環境変化を当然と捉えて、前向きに対応する。アジャイル開発を積極的に取り入れ、コンテナ等の DevOpsも想定する環境変化を必要悪と捉えて、やむを得ず対応するhttps://cio.go.jp/dp2019_01引用:パブリック・クラウドを利用した情報システムにおける計画・構築時の基本的な考え方
  • 26.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスとは何か
  • 27.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスとは• MSDN アーキテクチャーセンター• マイクロサービスアーキテクチャは、小さな自律的サービスのコレクションで構成されます。各サービスは自己完結型で、1つのビジネス機能を実装している必要があります。• https://docs.microsoft.com/ja-jp/azure/architecture/guide/architecture-styles/microservices• ビジネスの変化に即応するための目的的な概念
  • 28.
    © COPYRIGHT 2019FIXER Inc.各サービスの特長
  • 29.
    © COPYRIGHT 2019FIXER Inc.①小さく、独立的で、疎結合
  • 30.
    © COPYRIGHT 2019FIXER Inc.②小規模な1つの開発者チームで作成および管理可能
  • 31.
    © COPYRIGHT 2019FIXER Inc.大規模なチーム開発だと・・・
  • 32.
    © COPYRIGHT 2019FIXER Inc.③個別にデプロイ可能で、 アプリケーション全体を再構築したり再デプロイしたりすることなく、個別にサービスを更新可能
  • 33.
    © COPYRIGHT 2019FIXER Inc.多くの人手・承認・時間などコストがかかる
  • 34.
    © COPYRIGHT 2019FIXER Inc.④サービスのデータや外部の状態を保持する役割を担う
  • 35.
    © COPYRIGHT 2019FIXER Inc.⑤明確に定義された API で互いに通信し、各サービス内部の実装の詳細は、他のサービスに開示されない
  • 36.
    © COPYRIGHT 2019FIXER Inc.⑥各サービスは、サービスの特性に応じて異なるテクノロジスタック、ライブラリ、またはフレームワークで構築可能
  • 37.
    © COPYRIGHT 2019FIXER Inc.このシステム複雑すぎる・・・どのコードを参照したらいいんだっけ・・・??しかもNode.js使いたいんですけど。
  • 38.
    © COPYRIGHT 2019FIXER Inc.⑦障害も分離される
  • 39.
    © COPYRIGHT 2019FIXER Inc.全サービス、ストップ。いつ復旧するの?損害は?
  • 40.
    © COPYRIGHT 2019FIXER Inc.モノリシックサービス
  • 41.
    © COPYRIGHT 2019FIXER Inc.マイクロサービス
  • 42.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスの特長• ビジネスドメインに沿ったモデル化• 実装の詳細の隠避• 自動化の推進• 高度な分散化の推進• 独立したデプロイメント• 障害の分離の徹底• 監視と管理の高度化
  • 43.
    © COPYRIGHT 2019FIXER Inc.マイクロサービス化する上での課題とは??運用管理コスト単純に複数サーバで運用するので運用管理コストは増大します。サーバの費用もそうですが、環境構築や監視、メンテナンスなどサーバが増えるのでそれも運用コストとなります。01データの整合性データベースも複数運用となると、データの整合性の問題も出てきます。また、既存サービスをデータ分割するとなると難易度が上がります。02結合テストアプリケーションが複数のサーバ、インスタンスにまたがった構成になるので結合テストが難解になります。03
  • 44.
    © COPYRIGHT 2019FIXER Inc.ちょうどいいマイクロサービス化を行い、変化に対応しやすいシステムを作ろう!
  • 45.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスの2側面• プラットフォーム技術• Container• Docker• Kubernetes• ソフトウェアアーキテクチャ• 分散アーキテクチャ• 通信• データ
  • 46.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスの台頭①• ビジネスモデルの急速な変化• アジャイル開発• クラウドベンダー成長• クラウド利用企業激増• API 公開・連携の拡大• アプリケーション最新化• 反復的• 継続的
  • 47.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスの台頭②• プラットフォーム技術• Container, Orchestrator• 運用コスト削減• ビジネス機会の拡大• 選択と集中• 必要機能のみスケールアウト
  • 48.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスアーキテクチャによるアプリ構築着手前に考慮すべき技術的課題• 同機能のモノリシックアプリより多くの動的なパーツで構成され複雑• サービス間の境界にまたがってリファクタリングを行うことは困難• 多くの異なる言語やフレームワークを使用する場合のアプリのガバナンス• ネットワークの輻輳と待機時間• 独自のデータを永続化する各マイクロサービスを使用するためデータ整合性の困難さ• サービス間で相互に関連付けられたログを記録することは難しい• 複数のサービスが特定の時点で更新される場合があるためバージョン管理を慎重に設計する必要がある• 高度な分散システムのため成功のために必要なスキルセット
  • 49.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスを支える技術
  • 50.
    © COPYRIGHT 2019FIXER Inc.Docker Containersクラウドからオンプレミスまでどこでも実行可能な高速で軽量なアプリケーション / サービスの配置、運用、管理、自動化のための技術コンテナー型のアプリ仮想化技術◼ ネットワークやリソースを分離◼ 高速かつオーバーヘッドの少ない配置展開◼ オープンソース WindowsLinux
  • 51.
    52© COPYRIGHT 2018FIXER Inc.Docker とは?◼ コンテナー型のアプリ仮想化技術◼ コンテナ間は分離◼ OS カーネルや各種ライブラリ等は共有◼ 高速かつオーバーヘッドの少ないデプロイ、再起動、移行◼ オープンソースAppA’Host OSServerBins/LibsAppABins/LibsAppBAppB’AppB’AppB’ContainerAppAHypervisor (Type 2)Host OSServerGuestOSBins/LibsAppA’GuestOSBins/LibsAppBGuestOSBins/LibsVMGuestOSGuestOS
  • 52.
    53© COPYRIGHT 2018FIXER Inc.参考:マンガでわかるDocker_技術書典Docker とは?
  • 53.
    © COPYRIGHT 2019FIXER Inc.本日Dockerについて覚えていただきたいこと①コンテナ②イメージ
  • 54.
    55© COPYRIGHT 2018FIXER Inc.参考:マンガでわかるDocker_技術書典Docker と コンテナの関係は?
  • 55.
    56© COPYRIGHT 2018FIXER Inc.コンテナをつくる元となるファイルのこと。イメージ とは?
  • 56.
    57© COPYRIGHT 2018FIXER Inc.参考:マンガでわかるDocker_技術書典「Docker」で「イメージ」をもとに「コンテナ」を起動する
  • 57.
    58© COPYRIGHT 2018FIXER Inc.イメージが置いてあるDocker hubっていうWebサイトがあるよ。
  • 58.
    © COPYRIGHT 2019FIXER Inc.Container(Docker)をなぜ使うのか資源効率性の高さコンテナはホスト OS を共有するので、ゲスト OS を立てる必要がないポータビリティ(移植性)の高さコンテナを構成してリポジトリに保存しておけば、どこでも動かせるクラウドをまたぐことも可能(PolyCloud)展開の容易性と高速性コマンドのみで展開、再展開が容易に可能開発の容易性と高速性アプリケーションが動作する環境をコンテナとして維持管理可能
  • 59.
    © COPYRIGHT 2019FIXER Inc.従来のサーバ構成HW(CPU/メモリ/ディスク)OS(Linux/Windows)MW(Apache/PostgreSQL)アプリケーションバイナリライブラリ依存• アプリケーション/MWは、バイナリ (Java コマンド等) /ライブラリに依存しており、動作させるためには OS に依存対象をインストールする必要あり• その結果、OS 含めたサーバ全体が、“Web サーバ”、”バッチサーバ” といった目的に特化したものとなり汎用性がなくなることになる• 例えば、”Web サーバ”と”バッチサーバ”を一つのサーバに同居させようとすると、”Web + バッチサーバ”という目的に特化したOS設定となる
  • 60.
    © COPYRIGHT 2019FIXER Inc.Docker を利用したコンテナ化• アプリケーション/MW が依存するバイナリ/ライブラリをコンテナイメージという形でパッケージング• どんなサーバでも、docker が動いていればコンテナイメージをコンテナとして稼働可能• 結果、アプリケーション/MW は、コンテナとして抽象化され、 OS 以下のレイヤーは汎用的に• 例えば、障害時のフェイルオーバや負荷によるスケールアウトが、コンテナと OS/HW で分離されるため柔軟に実行可能• OS/HW はクラウドで容易に調達可能であるため、クラウドのメリットをより引き出すシステム構成dockerコンテナHW(CPU/メモリ/ディスク)OS(Linux/Windows)MW(Apache/PostgreSQL)アプリケーションバイナリライブラリ依存Docker
  • 61.
    © COPYRIGHT 2019FIXER Inc.Docker Containers ~ 共通デプロイ単位OptionsofcomputeAzure Web App for ContainersService FabricMa enAzureKubernetesService (AKS)Leverage the Azure platformdesigned for your container needsKeep using the platform of your choice,running great on AzureAzure Container RegistryDocker Hub,private registryVisual Studio tools InteliJ JenkinsRedhat OpenshiftContainer PlatformPivotal CloudFoundryKubernetes
  • 62.
    © COPYRIGHT 2019FIXER Inc.コンテナが増えすぎた!
  • 63.
    © COPYRIGHT 2019FIXER Inc.コンテナのオーケストレーションの必要性• Docker により、アプリケーションのコード、インフラの構成情報を統合的に管理(疎結合)• ただし、大規模システムの場合、複数のホストマシンからなる、分散環境構築が必要• 開発したアプリケーションを、効率よく継続的にデプロイしていくか?という開発 / 運用を考えなくてはならない↓• コンテナのオーケストレーションツールが必要
  • 64.
    © COPYRIGHT 2019FIXER Inc.コンテナのオーケストレーションとは?• 複数のコンテナアプリケーションを連動させて一つのサービスとして提供するサービス• 障害時の対策など運用面を考慮し、複数コンテナを管理するシステム• AWS、Microsoft、Google、IBM、等主要クラウドベンダーが採用したこともあり、現在のところコンテナオーケストレーションツールとしてKubernetes はデファクトといえる存在
  • 65.
    © COPYRIGHT 2019FIXER Inc.Kubernetes (クゥバネィテス) とは• ギリシャ語で “船の操縦手” “統括者・支配者” という意味• K8s と略され記述される事が多い(8は K から s の間の文字数)• ベアメタルサーバーや、仮想マシン(On-Premise、Cloud)上の、Docker をはじめとするコンテナ群を管理するシステム(コンテナオーケストレーションツール)• Google 社内で開発/運用されている、コンテナクラスタ管理システム “Borg” でのノウハウを結集して開発された• 現在は、Apache ライセンスで配布されているオープンソースソフトウェア• マイクロサービスを効率的にデプロイ、アップデートする機能として、• コンテナのオートスケール• Blue Green Deployment• Rolling Updateなどの機能を備えている
  • 66.
    © COPYRIGHT 2019FIXER Inc.Kubernetes におけるコンテナのオーケストレーション•コンテナを複数のノードに配置し、全体を一つのプラットフォームとして管理可能• スケジューリング、配置• 監視、復旧• コンテナの冗長構成• コンテナ間の通信確保• コンテナのオートスケール (In/Out)などの機能を備えているPodMaster NodeAgent NodePodPodPodAgent Node
  • 67.
    © COPYRIGHT 2019FIXER Inc.Istio - サービスメッシュ(Service Mesh)• Kubernetes 上にデプロイしたサービスの間の通信を統一的な仕組みで管理• Blue/Green Deployment• カナリアリリース• サーキットブレーカー(CDP)• 分散トレーシング• Envoy サイドカーパターンhttps://docs.microsoft.com/ja-jp/azure/aks/istio-scenario-routing
  • 68.
    © COPYRIGHT 2019FIXER Inc.Circuit Breaker パターンCircuit Breaker 処理一般的な業務処理通常処理( Close )準縮退処理( Half-Open)
  • 69.
    © COPYRIGHT 2019FIXER Inc.Microsoft Azure でコンテナに対応している サービス利用用途に応じて適切なサービスを選択可能70管理重視 生産性重視
  • 70.
    © COPYRIGHT 2019FIXER Inc..NET Core でマイクロサービスを開発するメリット• 使い慣れた C# / VB.NET を用いてコンテナで実行するアプリを開発可能• 開発環境をサポートするツール群• .NET Core CLI(dotnet コマンド)• Docker for Windows• Visual Studio 2019 によるコンテナサポート• ※ Windows のみの環境でLinux を含むコンテナ実行アプリを開発可能
  • 71.
    © COPYRIGHT 2019FIXER Inc.ローカル環境での開発マイクロサービスの開発ライフサイクルB チームA チームAzure DevOpsAzureKubernetesServiceAzureContainerRegistry開発環境AzureKubernetesServiceテスト環境 / 運用環境Repository PipelineAzureKubernetesService© COPYRIGHT 2019 FIXER Inc.
  • 72.
    © COPYRIGHT 2019FIXER Inc.WebApps 開発ライフサイクル (シナリオ例)Azure開発環境git pushpull, cloneDeployDeploy
  • 73.
    © COPYRIGHT 2019FIXER Inc.Azure DevOps デモ①- Azure Web Apps -
  • 74.
    © COPYRIGHT 2018FIXER Inc.•Docker CLI•Azure CLI, SSH•Visual Studio Code & Docker 拡張機能•Visual Studio 2019 コンテナー サポート (Build, Debug)•Docker Image の管理• Docker Hub• Azure Container Registry• Private RegistryContainer 開発とツールサポート
  • 75.
    © COPYRIGHT 2019FIXER Inc.Container 開発ライフサイクル (シナリオ例)Azure開発環境git pushpull, cloneCD (Webhook)docker pushdocker push
  • 76.
    © COPYRIGHT 2019FIXER Inc.マイクロサービスの開発から展開までの流れ•開発• ASP.NET Core アプリをローカルで開発• Azure DevOps でソースコードを管理• Docker Compose(Option)•自動ビルド• Azure DevOps Pipelineでビルド&単体テスト• Azure ContainerRegistry にコンテナイメージを登録•クラウド展開• Helm Charts を利用して AKS に展開
  • 77.
    © COPYRIGHT 2019FIXER Inc.Answer3Description:xxxxxxxxxxxxxx〇NextReference:http://quizap.com/orBlob URLUser IDPasswordC#JavaScriptSubjectsHTMLSQLASP.NET CoreWeb APIStudy Mode LTrial ModeMode SelectionUser AuthenticationStudy Mode1. C# Introduction2. C# xxxxxxxxxxxx3. C# yyyyyyyyyyyy4. ・・・・・・・☒☒☒5. ・・・・・・・Select Range ListTrial ModeSearch wrong Answers or Top 100from the BeginningWrong AnswersRecommended by AIPast TimesnANDConditions :ORQuestions ListQuestions List1 C# has only 3 Types ? YES NO Description http://quizap.com/2 .NET is the Language? YES NO Description http://quizap.com/3Web API consists ofInterfaces?YES NO Description http://quizap.com/・・Users AdminUsersAdmin CRUD, BULK INSERT(Link Added)READ, UPDATEQuestion1YES NOC# has only 3 Types ?Picture from Blob URL(if exists)Answer1Description:xxxxxxxxxxxxxx×NextReference:http://quizap.com/orBlob URLResultsResult List1 C# has only 3 Types ? × Description http://quizap.com/2 .NET is the Language? 〇 Description http://quizap.com/3Web API consists ofInterfaces? 〇 Description http://quizap.com/・・78/100 CorrectAnswer1Answer2Answer3Top MenuCorrect Answer:NOCorrect Answer: NOサンプルアプリの構造
  • 78.
    © COPYRIGHT 2019FIXER Inc.サンプルアプリ画面遷移イメージ
  • 79.
    © COPYRIGHT 2019FIXER Inc.サンプルアプリ画面遷移イメージ
  • 80.
    © COPYRIGHT 2019FIXER Inc.• 統合認証機能• 検索機能追加• BI (Power BI) 機能追加• AI (Recommendation 等) 機能追加追加実装する範囲
  • 81.
    © COPYRIGHT 2019FIXER Inc.Answer3Description:xxxxxxxxxxxxxx〇NextReference:http://quizap.com/orBlob URLUser IDPasswordC#JavaScriptSubjectsHTMLSQLASP.NET CoreWeb APIStudy Mode LTrial ModeMode SelectionUser AuthenticationStudy Mode1. C# Introduction2. C# xxxxxxxxxxxx3. C# yyyyyyyyyyyy4. ・・・・・・・☒☒☒5. ・・・・・・・Select Range ListTrial ModeSearch wrong Answers or Top 100from the BeginningWrong AnswersRecommended by AIPast TimesnANDConditions :ORQuestions ListQuestions List1 C# has only 3 Types ? YES NO Description http://quizap.com/2 .NET is the Language? YES NO Description http://quizap.com/3Web API consists ofInterfaces?YES NO Description http://quizap.com/・・Users AdminUsersAdmin CRUD, BULK INSERT(Link Added)READ, UPDATEQuestion1YES NOC# has only 3 Types ?Picture from Blob URL(if exists)Answer1Description:xxxxxxxxxxxxxx×NextReference:http://quizap.com/orBlob URLResultsResult List1 C# has only 3 Types ? × Description http://quizap.com/2 .NET is the Language? 〇 Description http://quizap.com/3Web API consists ofInterfaces? 〇 Description http://quizap.com/・・78/100 CorrectAnswer1Answer2Answer3Top MenuCorrect Answer:NOCorrect Answer: NO統合認証、検索、BI / AI 機能追加
  • 82.
    © COPYRIGHT 2019FIXER Inc.Trial ModeWrong AnswersRecommended by AIPast TimesnANDConditions :OR追加する機能について• Facebook/Twitter/Google/Microsoft認証追加• Active Directory 認証追加• Study (学習)モード追加• 検索機能追加• BI 機能追加(Power BI 等)• AI バックエンド追加(Recommendation 等)
  • 83.
    © COPYRIGHT 2019FIXER Inc.• 統合認証機能追加 → App Services で追加、認証ロジック追加• 検索機能追加 → Service 実装、Model に Search フォルダを追加• BI (Power BI) 機能追加 → Web API をフルに公開• AI (Recommendation 等) 機能追加 → 様々な方法有り• 例:Recommendations Solution Template追加編実装の方針
  • 84.
    © COPYRIGHT 2019FIXER Inc.• Azure にレコメンデーションエンジンがデプロイ• Azure Web Apps、Web Jobs、Storage で構成• 商品カタログとトランザクション履歴のデータに基づき、商品のレコメンド予測モデルを構築• SAR(Smart Adaptive Recommendations)アルゴリズムにより、2つのシナリオがサポート• Item-to-Item Recommendations• 「この商品をチェックした人はこんな商品もチェックしています」のようなレコメンドを表示するシナリオ• 関連する商品を表示することで、カタログ内の商品を見つけやすくする• Personalized Recommendations• ユーザーの最近のトランザクション履歴をもとに、そのユーザーに特化したレコメンドを表示Recommendations Solution Template とはhttps://github.com/Microsoft/Product-Recommendations
  • 85.
    87© COPYRIGHT 2018FIXER Inc.マイクロサービス化検索バッチ処理RecommendBusinessIntelligenceAzure Kubernetes Services(AKS)RecommendationSolution TemplateAzureFunctionsiOS,AndroidASP.NETCoreWeb App 認証
  • 86.
  • 87.
    89© COPYRIGHT 2018FIXER Inc.クイズアプリ Web サイトの実行用アーキテクチャ実装例 (AKS)・Azure Kubernetes Services・SQL Azure Database Managed InstanceSQLDatabaseWeb AppGeoレプリケーション自動スケールQuiz サービス東日本西日本 東南アジアSQLDatabaseWeb App認証サービスSQLDatabaseWeb App検索サービスSQLDatabaseWeb Appマスター DBSQLDatabaseWeb App出題サービスSQLDatabaseWeb AppBI サービスSQLDatabaseWeb AppAI サービスTokenService APIMasterAPISearchAPITestAPIReportAPIRecommendAPIMessageBus
  • 88.
    © COPYRIGHT 2019FIXER Inc.• 最初にモノリシックなアプリを開発• 各種必要機能を追加• CDP 等を考慮してサービス単位を分割• Docker でのローカルテスト• Azure Kubernetes Services へのデプロイ実装方針
  • 89.
    © COPYRIGHT 2019FIXER Inc.ローカル環境での開発マイクロサービスの開発ライフサイクルB チームA チームAzure DevOpsAzureKubernetesServiceAzureContainerRegistry開発環境AzureKubernetesServiceテスト環境 / 運用環境Repository PipelineAzureKubernetesService© COPYRIGHT 2019 FIXER Inc.
  • 90.
    © COPYRIGHT 2018FIXER Inc.• Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能• マネージドな Kubernetes クラスターをチームで共有して共同作業可能• 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、他のコンポーネントと併せてエンド ツー エンドのテストを実行Azure Dev Spaces (Preview)
  • 91.
    © COPYRIGHT 2019FIXER Inc.Azure Dev Spaces (Preview)• Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能• マネージドな Kubernetes クラスターをチームで共有して共同作業可能• 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、他のコンポーネントと併せてエンド ツー エンドのテストを実行• さまざまな開発言語/フレームワーク、Windows, macOS, Linux で利用可能• 開発とプロダクションで同一の Docker / Helm 環境を利用http://web-frontend.bd0cfb25.../aksapp.iohttp://scott.s.web-frontend.bd0cfb25.../aksapp.io Scott
  • 92.
  • 93.
    © COPYRIGHT 2019FIXER Inc.Azure DevOps デモ③- Azure Dev Spaces -
  • 94.
    © COPYRIGHT 2018FIXER Inc.• アプリケーションのクラウド移行戦略• マイクロサービスとは何か• マイクロサービスを支える技術• Azure DevOps デモ• サンプルアプリご紹介• まとめまとめ
  • 95.
    © COPYRIGHT 2018FIXER Inc.FIXER Tech AcademyCloud Config Boot CampNagisa Terrace in Tamachi
  • 96.
    © COPYRIGHT 2018FIXER Inc.Azureソリューションに必要なスキルを体系的に習得FIXERでは、Azureへのリフト&シフトやクラウドの効果的な活用、クラウド上でのアプリ開発など、様々なスキルを体系的に習得できる各種トレーニングをご用意しております。Azureの基礎知識Azure基本事項、Azureサービスと機能のツアーなどASP.NET CoreMVC WebモノリシックアーキテクチャASP.NET CoreMVC WebマイクロサービスアーキテクチャCDP概論・各論、仮想ネットワーク、ARMテンプレート等インフラ構築編アプリ開発基礎編アプリ開発機能追加編応用編Cloud Config Boot Camp(クラウド・コンフィグ・ブートキャンプ)
  • 97.
  • 98.

[8]ページ先頭

©2009-2025 Movatter.jp