こんにちは。日々量子コンピュータクラウドシステムを開発しております。弊社では世界のクラウドサービスシェア1位のアマゾン社のクラウドサービスであるAWSを利用したビジネスのソリューションの提供を加速しています。本日は、近年高まっている量子コンピュータを利用したクラウド技術と、特に弊社blueqatSDKを利用したアプリケーションについてご紹介させていただきます。
開発知識がなくても触れるアプリ
近年先行する量子アニーリングを中心に量子ゲートにおいても、pythonなどのプログラミングの知識がなくても量子コンピュータを利用できるシステムや、量子コンピュータ向けのアプリケーションが登場し始めています。
有名なところでは、ドイツのフォルクスワーゲン社が2019年にポルトガルのリスボンで提供していた経路探索のアプリなどがありますが、それ以外にも多くのアプリケーションが登場しており、D-Wave社も米国ニューヨークにおける経路最適などのアプリケーションをウェブ経由でデモンストレーションをしています。
今後は量子コンピュータの開発がかなり進んでいることから、誰でもわかりやすいアプリケーションの需要が高まると予想されており、実際に複数の企業からそのようなものが登場し始めています。
AWS環境を利用したアプリケーション開発
量子コンピュータはあくまで手段であり、特定の課題やアプリケーションを実現するためにプログラミングをします。実際に課題を解決するためには利用者に利用してもらわないといけませんが、快適にプログラムを利用していただくには多くの解決すべき課題があります。それらの課題はAWSなどのクラウドシステムと親和性が高く、サービスを使いこなすことで効率的に実現をすることができます。
量子コンピュータを利用した可視化アプリケーション例
量子コンピュータのプログラミングを見ても何をしているかわかりません。事業を効率的に進めるにはそれらのフローを可視化し、情報共有をする必要があります。今回は弊社で行っているアプリケーション開発フローを複数紹介させていただきます。
1,シンプルなサーバーサイドシステムを利用したアプリケーション開発
一番シンプルなのは、blueqat cloudをpythonなどの既存のウェブフレームワークと併用することで、簡単にウェブアプリを作ることができます。flask/djangoなどのpythonのフレームワークは外部公開するためのウェブサーバーの立ち上げやテンプレート機能などを兼ねそろえておりますので、そのようなものを使い、データをpython経由で統合することで、簡単なウェブアプリケーションを作ることができます。
2,AWSのマネージドサービスを利用したウェブサービス
ユーザー認証やデータベースなどより統合された業務システムを活用したい場合には、サーバーサイドのフレームワークの範囲で作りこみを行う以外に、マネージドと呼ばれる準備された仕組みを効率的に組み合わせることによって大きなシステムを組むことができます。
blueqat cloudとユーザーの間に各種AWSのマネージドシステムやサーバー類を構築することで実現できます。通常ユーザーとの間にはAPIと呼ばれる窓口を設け、その先にはウェブアプリだけでなく、スマートフォンアプリなどの様々なインターフェイスをつなげる統合システムを活用することができます。サーバーサイドにあったフレームワークはクライアントサイドに移行するのが普通です。
3,スマートフォンアプリ(おまけ)
弊社ではより多くの方に量子コンピュータを体験していただくために、スマートフォンアプリの開発を行いました。近日リリース予定となっておりますが、ここでもユーザーが簡単に量子コンピュータアプリを構築できるようにマネージドを中心に構成をしています。AndroidとiOSのネイティブアプリを効率的に構築できるflutterを利用し、APIには従来のRESTではなく、GraphQLを利用しています。また、blueqat cloudとDBをつなげ、実機からのデータを効率的に格納し、WebSocketとGraphQLを通じてリアルタイムでスマートフォンアプリとデータを共有しています。
このように、量子コンピュータの開発は日々進んでおり、私たちが利用できる便利なもの、簡単に体験できるものが出始めていますので、ぜひ既存開発者も楽しんで使ってみてください!以上です。