de:code 2015 day 2 メモと感想
前回 の続きです。
Webオープンソース時代到来 企業アーキテクトは何を考えるべきか
オープンソースがどうこうというか、普通にエンタープライズアーキテクトとしてどうすべきか?という話で、今回のイベントで一番勉強になりました。最新技術ばっか使ってちゃ (企業利用は) ダメ、とか技術 (要素) はいつか必ず終わるからライフサイクル含め技術選択しろ、とか、分かっちゃいるけど他人に言われないと中々意識できないですね。
- MS のトレンドを分析
- マルチプラットフォームでこれからは Azure 来るよ
- ASP.NET vNext
- すぐ入れ替わったりしないのでぼちぼち様子見しましょう
- Windows Server 2016
- ASP.NET vNext に同じ
- Web アーキテクチャのトレンド
- モジュール化や OSS 化が進んでいる
- クロスプラットフォーム、マルチデバイス
- 開発運用サイクルは高速化、もうどうしてもアジャイルになっちゃう
- Microservices
- 適切なサービス分割が難しい
- モジュール (サービス) の切り方
- DB も含めて 1 モジュールとして考える
- 但し、論理と物理をごっちゃにしないように注意
- 物理的に切るのは慎重にやる
- 業務の面から切るべきだが、切り方は何通りもある
- フロントエンド
- 覚えるの大杉
- 全部覚えるんじゃなくて、使うところだけ覚える
- エンタープライズが抱える問題
- モノシリック、レガシー、IE、人不足
- エンタープライズアーキテクトの役割
- ビジネスにおいて最適な技術選択の戦略を考える
- 技術選択
クラウド時代のデータアーキテクチャ
データが爆発していくなかでどう活用していくか?こんな時はこんな Azure のサービスをどうぞ、という感じでした。設計の話とかまでいかず、サービス紹介な感じだったので途中退出してしまいましたすいません (/ω\)
Azure を利用した IoT データ分析
マジすげー。
IoT ソリューションとなる Azure サービスを紹介してもらいつつ、実際にアプリ (というかゲーム) を作って参加者全員で体験しました。言ってもそうデータ量は多くないのでその点はあれですが、やはり実際に動くものを見ると違いますね。各種サービスの大まかな特徴がとても良く理解できました。
- Azure IoT 関連サービス
- IoT Hub (IoT Suite)、Data Lake が近々出てくる
- MS が考える IoT ソリューション
- Event Hub
- 送受信サービス
- HTTP / AMQP
- 秒間数百万イベント、超低レイテンシ
- SAS による認証
- 負荷分散 (パーティショニング)
- Stream Analytics
- Power BI
- リアルタイム集計ダッシュボード
- グラフ化
新しいクロスプラットフォーム開発 Visual Studio Code
Mac や Linux で動く高機能エディタで、インテリセンスだったり画面分割やデバッグ、メソッド検索など便利機能が揃っていますというお話でした。Vim やら Emacs やら Sublime やらでどこまで突き詰められるか知らないのでどっちがいいとは言い難いですが、C# 書くなら普通に使いたいなと思う程度には良さげでした。一方で他のエディタで高度に訓練されている方は無理して移行しなくてもいいな、とも。
Microsoft Azure Service Fabric によるレジリエントなマイクロサービスの構築
Azure Service Fabric って何だろう?という状態だったのですが、高性能なインフラを持ったコンテナ機能付き Web サービス構築基盤、と理解しました。費用面が不透明ですが、運用は相当楽できそうですし、Azure 内部でも使っているということで信頼性もあります。スケーラビリティも考慮した マイクロサービスを複数立てたい場合には是非使ってみたいサービスではないでしょうか。サービスの実装にどこまで制約がかかるのかが懸念と言えば懸念でしょうか。
- Azure Service Fabric
- クラスタ環境
- 数千台までスケールし、リージョンを跨ぐことも可能
- 障害検知と自動リカバリも
- マイクロサービスと何が違うか
- 状態を Azure 側が適切に管理
- 開発言語
- アプリの種類
- Service Fabric でのアプリケーションとは、(広義の) コンテナと思えば良い (実装+設定)
- ステートレスかステートフルか
- アクターかそうでないか
- アクターはインスタンスが生成される (よく分からなかった...)
- 必ずシングルスレッドで動く
- 4 通りの状態を作れる
- 開発するには
- 信頼性
- 独自のコレクション
- Reliable Collection
- .NET のコレクションを拡張した
- Concurrent + 分散環境での信頼性確保 (e.g. 分散トランザクション)
- MS では 5 年前から内部的に使ってる
- SQL Database, DocumentDB, PowerBI などなど
- だから、信頼性は高い
Windows 10 for Phone の全て
MADOSMA も出てきて Windows Phone が盛り上がってきましたね!Android や iOS アプリも動くとあってとうとうブレイクを果たしてくれそうです。
- 名前
- Windows 10 Mobile の定義
- 明確には決まってない
- 特徴は DirectX 9、パワーボタンとボリュームボタン、7.99 インチまで
- Continuum
- (PC ではなく) モニタに繋ぐとデスクトップモードになる
- 業務用途に耐えうる
- セキュリティ、デバイスマネジメント、認証 (AD)
- データプロテクション
- ポリシー
- デスクトップ版より細かくポリシーを設定可能
- フォントの話
- 中華フォントの話
- カーネルからマルチバイト文字がアプリに来たとき、アプリ側で言語が判定できない
- Win10 から環境言語=デフォルトの言語を持てるようになった
- これでほぼ解決するはず
- アプリ
- 今までのアプリはそのまま動く
- Windows 10 ではあるが、デスクトップ版アプリは動かない
- 開発の注意点
de:code 2015 の感想
Windows 10 とか Azure とか全然ついていけてなかったので大変勉強になりましたー。とはいえ、どうしようもないことなんでしょうけどここでしか聞けない話やまだどこにも発表されてない話があまりないのは残念ですね。費用も安くはないので悩ましいところ。一方で、チョークトーク (少人数で議論しつつなセッション) みたいな試みはとても面白いですね。
技術的には IoT、(マイクロサービスに備えた) アーキテクチャ、クロスプラットフォーム、コンテナあたりがこれから益々熱くなっていくキーワードなんでしょう。大抵のセッションで言ってた気がします。Open Web な世界とは微妙ながら距離を置くってのがこれまで私の中の MS 技術者の認識でしたが、今後はそうも言ってられないですね。MS 自身もオープン化アジャイル化を進めてきてて多方面に高速展開していってるのでこういう場で普段追えてない分野の概要を学ぶことが出来るのはありがたいことです。