SlideShare a Scribd company logo
クラウドやOSSで
“デザイン”するモダンな
システムアーキテクチャ
2017/09/22 デブサミ九州
@tsubakimoto_s
2
松村 優大
株式会社オルターブース
業務執行役員/CTA
Microsoft MVP for VSDT
MLBを愛する30歳
ソフトボールやってます
一児の父
島根、長崎を経て福岡に移住
↓
地場の中小IT企業に就職
↓
他社常駐で医療SEを務める
↓
新卒5年半で退社
↓
オルターブースに入社
3
C#/VB.NET/VB6
C#/PHP/Azure/AWS
4
5
オルターブースが使うクラウド
7
Azure
オルターブースが使うOSS
9
OSSがもたらすメリット
OSSとはソースコードが公開され、
改良や再配布を行うことが許可されて
いるソフトウェアです。
ソースコードが
公開されている
コミュニティに
よるサポート
柔軟なカスタマ
イズが可能
インターネット
で共有
10
11
https://mysaucefactory.com/
13
16
エンジニアの興味からOSSを選定
自社サービスでの検証で知見を得る
自信をつけてから受託開発に投入
アーキテクチャをデザインする
17
インフラ
• 責任分界点を明確に(IaaS/PaaS/SaaS)
• “バズったとき”でもサービスを提供
開発
• OSSのフレームワークやライブラリの活用
• 品質とスピードを保つ仕組み
運用・監視
• 状況の見える化
• サービスのヘルスチェック
クラウドやOSSで“デザイン”するモダンなシステムアーキテクチャ
下
横
フレームワークや開発環境
監視やマイクロサービス
Infrastructure
20
インフラデザイン
21
インフラデザイン
22
Scalability
インフラデザイン
23
Stateless
インフラデザイン
24
Availability
Development
27
開発デザイン
•チーム開発
•フレームワークの恩恵を活かす
•スケール前提の構成を考える
•“Testable”なコーディング
•CI/CDを構築し、開発に集中
•ツール前提で始めない
28
例) C#でのWebアプリ開発
•ASP.NET or ASP.NET Core
•機能の共通化
• .NET Standard
•デザインパターンの採用
• Repository Pattern
• Service Layer
29
.NET FRAMEWORK
30
UsersController
IUserService
IUserRepositoryUserService
UserRepository
DbContext
etc
DI
実装
実装
DI
DI
DI : Dependency Injection (依存性注入)
リソースを
操作するクラス
Repositoryを操作する
ビジネスロジック
単体テストで
差し替える
単体テストで
差し替える
.NET開発者のこれから
•.NET Coreを学ぶべき
•英語の資料への抵抗を無くす
•C#で作れるアプリは多い
(Desktop/Web/Mobile/Serverless/Game)
31
Operation
33
運用・監視のデザイン
34
Azure Container Service
Azure Storage
業務システムでの勘所
•全て自分たちで実装しようとしない
•必要機能を細かく分割する
•負荷等の影響を受けやすい機能は?
• ライブラリで賄えそうか
• PaaSやSaaSで賄えそうか
•図を書いてフローを整理する
35
36
37
メールを送信せずに
メールを送信する
これまでなら… クラウドなら…
38
定型メールの分散化(例)
Postfix
User User
Queue Functions
送信機能を独立し、
アプリへの負荷減
負荷増大
→遅延
クラウドやOSSとどう付き合うか
•選ぶことを楽しむ
•検証を楽しむ
•失敗を楽しむ
•成功を楽しむ
•スピード感を楽しむ
•流行り廃りを楽しむ
とにかく楽しみましょう!
39
ありがとうございました
クラウドやOSSで“デザイン”するモダンなシステムアーキテクチャ
機能は分散させる
42
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview-microservices
(ASP).NET Coreの利点=コンテナ化前提の構成
43
Kestrel Kestrel Kestrel Kestrel
Browsers
44
Learn. Imagine. Build.
.NET Conf
https://fukuten.connpass.com/event/63612/
(2017/10/21)

More Related Content

PDF
SendGrid SDKを捨てた話
PDF
そろそろレガシーな.Net開発をやめなイカ?
PDF
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
PDF
Database tools for .NET Core
PPTX
Xamarinでも有能な .NET Core
PDF
Azure Cloud Shell
PDF
Windows serverとインフラ関連アップデート
PDF
.NET Coreのいろは
SendGrid SDKを捨てた話
そろそろレガシーな.Net開発をやめなイカ?
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
Database tools for .NET Core
Xamarinでも有能な .NET Core
Azure Cloud Shell
Windows serverとインフラ関連アップデート
.NET Coreのいろは

What's hot (20)

PDF
Azure Searchで作る検索サービス
PDF
Visual studio extensibility
PDF
.NET アプリを改善して実践する継続的インテグレーション
PDF
これから始める Bot Builder 開発のコツと舞台裏
PDF
Blazor Server テンプレート解説
PPTX
ASP.NET Core のお気に入りの機能たち (docker向け)
PDF
いつでもどこでも .NET
PDF
C# runs anywhere, make anything
PDF
「何もしないのにCIが失敗した」を防ぐ
PDF
30min Serverless xTuber
PDF
.NET Micro Framework (プラレールと電子工作)
PDF
PHPerだってサーバーレスしたい!
PDF
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
PDF
マイクロサービス開発が捗る Project Tye
PDF
改めて C# でできることを振り返る
PPTX
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
PDF
The Twelve-Factor (A|M)pp with C#
PDF
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
PDF
未知との交信!?Project SignalR
PDF
Microsoft learnご紹介vol2
Azure Searchで作る検索サービス
Visual studio extensibility
.NET アプリを改善して実践する継続的インテグレーション
これから始める Bot Builder 開発のコツと舞台裏
Blazor Server テンプレート解説
ASP.NET Core のお気に入りの機能たち (docker向け)
いつでもどこでも .NET
C# runs anywhere, make anything
「何もしないのにCIが失敗した」を防ぐ
30min Serverless xTuber
.NET Micro Framework (プラレールと電子工作)
PHPerだってサーバーレスしたい!
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
マイクロサービス開発が捗る Project Tye
改めて C# でできることを振り返る
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
The Twelve-Factor (A|M)pp with C#
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
未知との交信!?Project SignalR
Microsoft learnご紹介vol2
Ad

Similar to クラウドやOSSで“デザイン”するモダンなシステムアーキテクチャ (20)

PDF
DOO-005_裏 Inside Azure ~OSS 視点で理解する、Azure のテクノロジ & アーキテクチャ~
PDF
Azure アプリケーション アーキテクチャ ガイド 紹介
PDF
DevOps day Tokyo 2013: プラットフォームベンダーから見たオープンクラウド設計と運用のポイント
PPTX
「モダン」アプリケーションと マイクロソフト プラットフォーム
PDF
Otrs導入事例セミナー
PPTX
20180130 設計イベント
PPT
クラウド時代の OSS とプロプライエタリ製品の共存と競合
PPTX
オレ流クラウドデザイン
PDF
マイクロサービスとそれを支えるアーキテクチャー
PDF
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
PPTX
クラウドとは何か / what is cloud computing (1.4 / 2017.07)
PDF
今話題のクラウドOSとは
PDF
AWS Hackathon 模範アーキテクト
PPTX
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
PPTX
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
PDF
PCCC22:日本オラクル株式会社 テーマ1「Oracle Cloud Infrastructure for HPC&AI」
PPTX
Servcie Fabric and Cloud Design Pattern
PDF
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
PDF
デザイン指向クラウドオーケストレータ CloudConductor
PPTX
Windows Azure 最新 Update 2014/04/04
DOO-005_裏 Inside Azure ~OSS 視点で理解する、Azure のテクノロジ & アーキテクチャ~
Azure アプリケーション アーキテクチャ ガイド 紹介
DevOps day Tokyo 2013: プラットフォームベンダーから見たオープンクラウド設計と運用のポイント
「モダン」アプリケーションと マイクロソフト プラットフォーム
Otrs導入事例セミナー
20180130 設計イベント
クラウド時代の OSS とプロプライエタリ製品の共存と競合
オレ流クラウドデザイン
マイクロサービスとそれを支えるアーキテクチャー
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
クラウドとは何か / what is cloud computing (1.4 / 2017.07)
今話題のクラウドOSとは
AWS Hackathon 模範アーキテクト
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
PCCC22:日本オラクル株式会社 テーマ1「Oracle Cloud Infrastructure for HPC&AI」
Servcie Fabric and Cloud Design Pattern
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
デザイン指向クラウドオーケストレータ CloudConductor
Windows Azure 最新 Update 2014/04/04
Ad

More from Yuta Matsumura (18)

PDF
「自分のとこでは動くけど…」を無くす devcontainer
PDF
チーム開発で徐々にコード品質をあげていく取り組み
PDF
.NETのサポートポリシーのおさらい #csharptokyo
PDF
App Modernization for .NET
PDF
分かったうえではじめるCI/CD
PDF
VSCodeで始めるAzure Static Web Apps開発
PDF
Azure の ID 管理サービスに LINE ログインを組み込もう
PDF
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
PDF
忙しい人のための .NET Conf 2019 まとめ
PDF
.NET Conf の歩き方
PDF
PHPカンファレンス福岡2019 閉会式
PDF
PHPカンファレンス福岡2019 開会式
PDF
ASP.NET Core 2.x Identityについて
PDF
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
PDF
オルターブースが実践する .NET Core “ガチ” 開発
PDF
サーバーレスの常識を覆す Azure Durable Functionsを使い倒す
PDF
娘駆動開発で活躍するAzureのサーバーレスサービス
PDF
Azure Functions Tips
「自分のとこでは動くけど…」を無くす devcontainer
チーム開発で徐々にコード品質をあげていく取り組み
.NETのサポートポリシーのおさらい #csharptokyo
App Modernization for .NET
分かったうえではじめるCI/CD
VSCodeで始めるAzure Static Web Apps開発
Azure の ID 管理サービスに LINE ログインを組み込もう
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
忙しい人のための .NET Conf 2019 まとめ
.NET Conf の歩き方
PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 開会式
ASP.NET Core 2.x Identityについて
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
オルターブースが実践する .NET Core “ガチ” 開発
サーバーレスの常識を覆す Azure Durable Functionsを使い倒す
娘駆動開発で活躍するAzureのサーバーレスサービス
Azure Functions Tips

クラウドやOSSで“デザイン”するモダンなシステムアーキテクチャ