銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

SQL Server Always On 可用性セットをOpenShift 3.11上にデプロイしてみた

SQL Server 2019 から Kubernetes (k8s) が利用されたAlways On可用性セットの構成がサポートされました。詳細はSEの雑記のこの記事を読んでいただきたいのですが、kubernetesで動くならOpenShiftでも動くだろうということで試してみました。現在この機能が利用可能なSQL ServerのコンテナイメージはRHELではありませんが、基本的にもRHELではないコンテナイメージであってもOpenShift上で動きます。なお、Microsoftのプレゼンなどではkubernetes/OpenShiftをサポートと書かれていたりするので、将来的にはOpenShift向けの手順も公開されるものと思われます。

AKS を使用した SQL Server 2019 の AlwyasOn 可用性グループの構築 at SE の雑記

具体的な構築手順はこちらのドキュメントを参考に進めます*1

Kubernetes クラスター上の SQL Server Always On 可用性グループをデプロイします。 | Microsoft Docs

*1:日本語があやしいですが

続きを読む

Quantum Development Kit が 0.3に更新されました

こちらのブログで案内されています。

cloudblogs.microsoft.com

今回は大きく3つの更新があります。

化学計算向けライブラリの追加

ドキュメントも追加されています。 docs.microsoft.com

Q# 開発環境の改善

Visual Studio向け、Visual Studio Code向けのQ#拡張が更新されています。それぞれアップデートする必要があります。 Q#コードを編集しても自動コンパイルしてくれなかったり(Live Compile)、コンパイルエラーのメッセージが不親切だったりしたのですが、その辺りが改善されました。また、定義へ移動や、Operation定義のポップアップ表示などが追加されています。

f:id:tanaka733:20181031145816p:plain

Q# 言語の仕様変更

Q# 言語としても仕様変更が入っています。改善として追加された項目が多いですが、破壊的変更となっている点もあるので注意が必要です。先程の開発環境の改善含めこちらに詳細にまとまっています。

QDK 0.3 Language Review and Migration Guide | Microsoft Docs

ざっと見たところ、配列要素の区切りが;から,に変更になるのが一番多く変更の必要がありそうです。以前のバージョンのプロジェクトを新しいバージョンに更新するためには、そのドキュメントの最後にmigrationの手順および自動化のPowerShellスクリプトが提供されています。

QDK 0.3 Language Review and Migration Guide | Microsoft Docs

Q# Development KitはC#の.NET Core ConsoleプロジェクトにNuGetパッケージの形式で参照として追加されています。そのため、バージョンアップするためには参照しているNuGetパッケージのバージョンを上げる必要があります。また、コードの変更が必要な点については、新しいバージョンのコンパイラーが変更する機能を提供しているため、dotnet msbuild /t:qsharpformatを実行すると変更されるとあります。スクリプトはPowerShell Coreにも対応しているので、LinuxやmacOSでもPowerShell Coreをインストールすれば利用可能ですが、手動でやることもできます。

文法の変更については、このブログでも解説したいと思います。