Opennessな話題を2つ

Microsoft界隈のOpennessな話題で大きめのNewsが2つほどありました。

SQL Server on Linux

imageSQL Loves Linux_2_Twitter (002)

SQL ServerすらLinuxで動かすぜってアナウンスでした。今はPrivate Previewの申し込みがあるぐらいで、出てくるのは来年とかになりそうですが。SQL Server 2016ベースになりそうですね。また最初のプレビューはUbuntu上もしくはDockerイメージでの提供になりそうです。

またSQL Server on Linuxのページ下部に既存の各言語用SQL Server Driverなんかもあります。

image

PHPとPerlは…ということですがPHPはGitHubにあるのでそちらもどうぞ。

もうちょっと導入が楽になるといいですね。

SQL Server on Linuxがどうやって動作するのか、何ベースなのか気になりますがここでのマルチプラットフォームの経験が.NET Coreだったり他のものにフィードバックされたり相互作用が高まることを期待しています。
(SQL ServerをLinux上で動かすシナリオがどれほど出てくるかも楽しみですね)

SQL Server本丸の前にSSMSやDriver周りなど、今あるSQL Server等へのアクセスも強化してほしいのでそちらもよろしくお願いしたいところ。

SQL Serverといえば、の SE の雑記も参照ください。

Microsoft join the Eclipse Foundation

EclipseCon NA 2016で発表があったようですね。

AzureやVisual Studio Team Servicesといったサービス連携の強化(デプロイやらなんやら)、ツールの提供、SDKの強化などが主な活動かなと思います。

Kura(JavaベースのIoT向けフレームワーク)がAzure IoT Suiteをサポートしたり、結構細かいところまで踏み込んでるようですね。CodenvyとAzureやVSTS連携とかとか。(MarketplaceでVMイメージ提供とか)

ツール等はこちらからどうぞ。

またドキュメントやサイト周りも拡充されてます。

 

何にしても継続してもらえれば何よりです。今後に期待。

App Service Environmentでバックエンドと通信できない

App Service Environment(日本語名:App Service 環境)を使うとVNET(v1)※現状 に接続することができます。
普通のApp Serviceと違ってClosedな環境にしたり、VNETにつなげられるということはVPNであれこれしたりできるわけです。

なので内部用で外には公開したくないSQL Serverな仮想マシンとかVNET参加させたRedis(Premium)とかと合わせて完全VNETオンリーな環境が作れるわけですが、VNETの注意点として以下のように記載されています。

App Service 環境からバックエンド リソースへの安全な接続
App Service 環境から仮想ネットワーク内のエンドポイントへの送信トラフィックには、注意すべき点が 1 つあります。App Service 環境から、App Service 環境と同じサブネットにある仮想マシンのエンドポイントに到達することはできません。App Service 環境が、App Service 環境専用として予約されているサブネットにデプロイされていれば、通常、これは問題にはなりません。

クラシックなVNET(v1)の制限なのかNSGの制限なのか、はっきりとわかりませんでしたがApp Service Environmentと同じサブネット上の他の機器とうまく通信できないようです。

なので教訓としてApp Service Environmentは専用Subnetに配置しましょう。(作るのが大変なのでこちらを専用化したほうが楽でしょう。CIDRの都合もあるかもしれないし)

さてさて、そうは言ってもそこを何とかならないですか?というのが世の常ですね。
一応泥臭い回避策はないことはないのですが、、、

簡単に言うとApp Service EnvironmentのWorkerPoolであるWeb Appsの設定で明示的にVNETに参加させるという感じです。
この機能そのものは通常のApp Serviceでもある機能で、VNETにPoint to Site接続でVPN接続する機能です。
image

同じVNETにいるくせにVPNを張らないといけないとは!w(おまけにPoint to Siteの設定がVNET側にも必要です)
ということで結局大変でしかも余計な口ができてしまうので、あきらめて作り直したほうがいいかと思います。

まとめ

ネットワークの設計は慎重に。ドキュメントは穴があくほど見まくりましょう。

Azure Update (2016.03.03)

定例。

Azure Security Center

Azure Automation

Azure Diagnostics & Application Insights

Azure Resource Manager

  • Azure Resource Manager Tools
    • Visual Studio Code用の拡張です。
    • Visual Studio Code上でARMテンプレートの編集を助けてくれます。ファンクションの補助やパラメーターの参照、値の参照などなど
    • 将来的には未定義なパラメーターの参照エラーの解決とかいろいろ期待できそうですね。

Azure AD

あとUpdateというよりは。Microsoft Cloud App SecurityのGAは4月みたいです。Buildかな?

Azure Search

StorSimple

Azure Pack

  • Now on GitHub: Windows Azure Pack Connector
    • Azure Pack Connectorを使うとAzure PackのポータルからパブリックなほうのAzureに対して仮想マシンをデプロイしたりできるようです。
    • 利用者はパブリックでもオンプレでもどちらでもAzure Pack経由でデプロイできるようになります。

Azure Media Services

  • Media Encoder Standard Schema
    • PreserveResolutionAfterRotation ということで動画エンコード時に回転情報を元に動画の向きを変えてくれるオプションが増えました。(英語で見ないと載ってない)
    • image
    • 必要な人はtrueにするといいです。
    • うむ。

その他

監査、ログまわりの収集と可視化はちょっとづつよくはなってる感じですね。

Azure Management REST API用のBearerトークン

よく忘れるので。

$adal = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
$adalforms = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll"
[System.Reflection.Assembly]::LoadFrom($adal)
[System.Reflection.Assembly]::LoadFrom($adalforms)
$adTenant = "<あなたのテナント>.onmicrosoft.com"
# well-known ID
$clientId = "1950a258-227b-4e31-a9cf-717495945fc2"
$redirectUri = "urn:ietf:wg:oauth:2.0:oob"
$resourceAppIdURI = "https://management.core.windows.net/"
$authority = "https://login.windows.net/$adTenant"
$authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority
$authResult = $authContext.AcquireToken($resourceAppIdURI, $clientId, $redirectUri, "Auto")
$authHeader = $authResult.CreateAuthorizationHeader()
# Write-Host "Bearer Token: $authHeader"
$authHeader | Out-File bearerToken.txt

これでBearerトークン出来上がり。認証はいつもの認証ダイアログ的なのが出るので安心です。
(要Azure PowerShell)

参考:Setting up PostMan to call the Azure Management APIs

Logic Apps の Refresh Update

先ほどのPostでも少し書きましたが、Logic Appsに大幅なUpdateがありました。

Logic Appsの裏側のアーキテクチャの大幅な変更、フローデザイナの強化などが主な変更点です。
(日本語圏的にはTwitter Connectorの文字化けが直ったことですかね…)

ドキュメントも大量に更新されてます。

料金やプランによる制限はこちら

スキーマバージョンが変わっているので古いデザイナで作ったLogic Appはスキーマをアップデートする必要があります。(詳細は割愛)

続きを読む

Azure Update (2016.02.24)

こまかいのとLogic Appsがメインです。ただしLogic Appsは別で書こうかと。

Logic Apps

大幅にUpdate されました。GAが近いんでしょうきっと。
具体的にはデザイナー部分やロジックとして扱ってたAPI Appsの部分の仕組みがだいぶ変わりました。
API Appsはそのままですが、コネクターという形でより連携やフローの作成がしやすくなってます。またバックエンド側(裏側)もゲートウェイが廃止されたりしてシンプルになっている様子。
そのおかげで例の日本語文字化け問題も直っています。

SQL Database

Service Fabric

  • Service Fabric SDK v1.5.175 and the adoption of Virtual Machine Scale Sets
    • SDK1.5.175です
    • Windows 7も開発環境としてサポートされました。ただVisual Studio 2015 Update 2(CTP)が必要だったりします。
    • あとはDelete ActorやQuery Actor、CancellationTokenサポート、バグFixなどなど
    • APIの破壊的変更もあるので注意
    • VM Scale Sets(VMSS)でクラスタ組んだりできます(オートスケールはもうちょっと先)
    • Service Fabricのランタイムバージョンもこれまでの4.4.x (SDKやNuGe PackageのVerだと1.4.87)のほかに4.5.x(SDK 1.5.175)が増えました
    • ASP.NET Coreなプロジェクトの場合Update時にエラーでるようです(プロジェクトフォルダのパス長の問題…)

Azure AD

Azure AD Connect 1.1 が先週GAしましたがその詳細です。

HDInsight

  • Public preview: HDInsight Tools for IntelliJ
    • IntelliJでHDInsightを扱うためのツールがPublic Previewです。
    • Sparkクラスターを見たり
    • 紐づいてるストレージアカウントを見たり
    • ScalaやJavaで作ったSparkアプリケーションをIntelliJからデプロイしたり
    • ローカルでSparkアプリケーションの検証したり
    • などなど

Azure Automation

3月の早いうちにクラシックポータルはリタイアです。現行のポータルにリダイレクトされるようになります。

DreamSpark

DreamSparkのAzure特典で使える内容がいつの間にか増えてました。

  • Microsoft Azure for DreamSpark
    • Notification Hubs (通知ハブ)、Mobile Apps、SQL Database、Web Apps、MySQL(ClearDB)、Application Insights、Visual Studio Team Servicesが使えるようです
    • がんばればAzure MLも

その他

Japan ComCamp powered by MVPsでしゃべりました

Japan ComCampという全国8か所で同時開催する技術イベントがありました。

おいらも大阪会場でしゃべりました。

Azureのざっくり概要とOpennessとのかかわりといった、ふんわりとした内容です。
セッションの動画はそのうち何処かにUpされると思われます。

少しでも( ・∀・)つ〃∩ ヘェーヘェーヘェーって思って頂けたら幸いです。

その他のセッションや会場の様子はTwitterで #JCCMVP で検索すると良いかもです。

※ 公式サイトのぐぐらびりてぃはもう少し改善してもらいたいところ…