昨日に引き続きde:code 2016 day2です。昨日の記事はたくさんの方に読んでいただいたようで、ありがとうございます。
Windows 10の展開
Windows 10のアップグレード無償期間がもうすぐ終わります。改めてWindows 10を展開するときの方法について。
- インプレースアップグレード
- プロビジョニング(新規展開)
- ワイプ&ロード
今回は主にワイプ&ロードをご紹介。セッション担当はSamir Hammoudiさん。組織内で展開するにはワイプ&ロードが90%。残りがアップグレードとプロビジョニング。エディションはEnterprise 33%,LTSB 22%。残りがPro。結構意外な割合ですね。
家庭ではほとんどインプレースアップグレードだと思いますが、組織では不要なインストール済みファイルを消したい、アップグレード信用できないってのがそうですね。あと、今だと暗号化ソフト(BitLockerはインプレース対応しています)があるため、なかなかできない。
しかし、サードパーティーの暗号化ソフトでもアップグレード用のフィルタドライバをパッケージに追加しておけばいいんだそうだ。海外の著名なベンダー(Symantec,Mcafeeなど)は対応している。ドメスティックなやつは聞いたことないし作る気もないんかな。人を楽にするための工数なんか知ったことかという感じなんだろう。儲かるネタでもないし。この辺はDevOpsの話を聞いてもそうだけど、本当に考え方が違う。
ほかにもインプレースアップグレードできないパターンは知っている人も多いと思うけど、x86→x64とか、表示言語違い、BIOS→UEFIにする、デュアルブートとかの日本ではそうでもないけど、はまる人ははまりそうなパターンや、実際にワイプ&ロードするためのツールの紹介など、知っていたけど、ちゃんとまとめて教えてくれると今度やらざるを得ないときとかはネタになりそうです。
基本的な移行ならWindows ADKやMDT 2003といった無償ツールで可能だけど、知られていない。さらにはドキュメントやツールそのものが分かりにくいという点もあるのは難しい。Igniteとかではこの辺ちゃんとセッションやハンズオンがあるんだろうけど。
プロビジョニングに最適なシナリオとしては外出先のデバイス紛失時の復旧。VPN、Office、ドメイン参加、証明書といった情報を入れたイメージをクラウドサービスにおいておけばOK。セッション担当者もアフリカの砂漠のなかでUSBドライブ使ってプロビジョニングされたイメージを展開するというプロジェクトやっていたこともあって、非常に説得力ありました。
拝啓「変わらない開発現場」を嘆く皆様へ
事前に資料が出ていたので、非常に期待していたセッションの一つです。いわゆるエンタープライズ向けSI企業の開発にはぐさぐさささるだろうセッションでした。
de:codeではいろいろ新技術が語られますが、「今」現場で困っていることを解決するヒントみたいなものを与えてくれるセッションでした。テストの自動化もそうだし、開発の軽量化もそう。高速開発みたいな与太じゃないけど、個人的にはうーんと思うものもあるけど、根本は世界が変わっているんだからやり方も変えないといけない。単なる従来の延長で早くしよう早くしようと思っても無理。
欧米の人は非本質的なことを徹底的に排除するのが非常にうまい。牛尾さんのdevOpsセッション出ると、じゃあ「西洋文化をインストールしましょう」という話もあったんだけど、ここでは少し異なるスタンスでいいところをもらって融合させようと。
特に戦後日本人の気質がIT開発においては悪いほうにしか向かってないので、そこをなんとか軽量化していく。軽量化とは後戻りさせない、パートナーが作ったものをもう一度検査するようなことはしない。
設計書もコードが見えるような設計書じゃないとオフショアとかパートナーが書けないから書いちゃうというのは無駄。改善しようという話だったけど、そこを改善していくには低いレベルのままじゃダメで、まず開発者としての基礎体力(C#ちからでもVB力でもJava力でもなんでもいいんだけど)していかないといけないかなと。
発注側もそういうところを切っていくというかできるようにしていかないといけないけど、会社で契約した場合、だれが来ても「チェンジ」とかできないのは難しい。さらには契約によってはその人に教育を行うとかもできないしね。
PMもカンと度胸はだめ。すべて技術。基礎理論の前に背景を学べばそこに気づきができる。このツールがこういう思想になっている背景は何があるかということを無視してしまいがちですね。PMは作れる必要はないんだけど、今どきの開発手法とか知っておいてテストや設計にも技術があることを理解しておこうと。実際やっている人、どれくらいいるんだろう。ニュースサイトすら見ないという人も多そうだ。
最後
木こりのジレンマの話。刃こぼれしている斧できを切っている人を見かけて「なぜ刃を研がないの?」という問いかけに「刃を研ぐ暇なんてないよ」という今のSIに非常に突き刺さる話w #roomc #decode16
— kkamegawa (@kkamegawa) 2016年5月25日
企業アプリケーションアーキテクチャのトレンドをつかめ
安定の森屋さん。基本的にはASP.NETで今どきのクラウドサービスを一気通貫でつなげで、クラウドサービスのみで本番までデプロイ、さらにはチーム開発の勘所みたいな話も行われました。
確かに「Dockerが流行っている」とは聞いてDocker個別の話はあちこちであるけど、一気通貫でみせないとピンとこない人にはこれが開発をどう変えるものなのか、ということが分かりにくいから、ちゃんとつながった状態で見せましょう、という話はそうだよなと。
ちなみにGitHub→DockerHub→CircleCI→Docker cloud→Azure/AWSへ同時デプロイなんて流れでデモを見せてくれました。今どきですね。
Xamarin.Forms Deep Dive
会社でXamarinを売れなくなったけど、コミュニティエヴァんじぇリストとして頑張っておられる田淵さん。Formsの基礎と、Alphaチャネルにしかないリアルタイムプレビューと、初めて見た人はくじけてしまいそうな(Alphaだし)不安定ぶりを見せつつ、Formsが業務でどんな感じで使えるのかというエッセンスをうまく説明してくれていたと思います。
今回はさらにEvolveで発表された動く仕様書(ドキュメントページに書いたコード片がそのままうごく)Workbooks,サーバサイドでJSONを作ればクライアントサイドでいい感じにバインディングしてくれて何も書かなくても画面ができちゃうDataPagesとかは初見ではびっくりしますよね。
この辺は発想と実装力に脱帽です。
エンプラ系Webアプリ開発に効く!実践的モダンWebアプリ開発の選択手法
JavaScriptライブラリの変遷ってホント早いですよね。今選んでも3年後にあるかどうかわからない。prototype.jsだって10年ほどしかたってないのに、影も形もないと言ったら失礼だけど、話題に全く上らない。
そんなOSS系を「今あるから」といって採用するのは確かにリスキー。そういうのを防ぐためには商用のサポートのある製品を買っておけばその範囲で面倒見てくれるのは正しい選択。
流行りのツール(gulp,TypeScript)なんかも別にすぐに使わなくてもいい、その前にまずは最初(ここではWeb開発初心者を前提にしている)がどうやって無理なく、今のWeb開発技術をうまく取り込み、さらには時流のツールを使えるようにするのか、という点で地に足がついた提案がいろいろ行われていました。
完全にクライアントサイドのJavaScriptだけで完結するのではなく、適宜サーバサイドもうまく使っていくのはVisual Studioの一貫した支援が受けられるツールセットならではですし、慣れた環境がそのまま使えるのも大きいので現実的。
もちろんJavascriptとASP.NET MVCで検証ロジックなどを二重開発しなくて済むようにもできるしね。
Web開発初心はHTML(5固有の機能ではなく)の開発で参照系の開発からやってみて、jQuery,Bootstrapだけを使ったアプリ作ってみて、徐々に新しいツールでステップアップしていこうというのは確かにそうだなと思います。私も何やっていいのかわからなくなることあるしw。
まとめ
今日はアーキテクチャと現実wの話を中心に聞いてみました。エッジなセッションは人気も高くてねぇ…いくつかみてみたい動画はあるので、なんとか見てみようかなと思います。
権利関係や大人の事情とかで公開されないセッションが少なくなりますように。