Archive for 1月, 2016
Java on Microsoft Azure 情報のまとめ記事
今日は、Java の開発者の皆様が Microsoft Azure を利用する上で有用な情報もまとめて一気にご紹介します。どうぞごらんください。
※ 本記事は、前回の投稿内容に加え、プレゼン内容とデモ内容をマージしたものです。
前回投稿した記事の内容(文章)はすべて本記事に移動しました。
Java 開発者の皆様のためのツール
Microsoft Azure が提供するサービスを利用した Java のアプリケーション開発をされたい場合、 Azure SDK for Java を我々は提供しています。Azure が提供するサービスにはたとえば次のようなサービスがあります。
Blob Service
Media Services
Queue Services
Service Bus Queues
Table Service
IoT Hub Service(日本語)
SDK は Maven プロジェクトから利用できるため、OS の環境や統合開発環境の種類によらずご利用いただくことができます。
もし、この SDK の API が気に入らない場合は、どうぞご自由に変更してください。SDK はオープン・ソースとして公開されており、GitHub からソースコードをご参照していただくことが可能です。
ディレクトリ・サービスを使用した ID 管理が行い場合は、Azure Active Directory Library for Java をご利用いただくことができます。
もし、NoSQL データベースとして MongoDB をご利用されたい場合は、通常の MongoDB Java API に加え、MongoDB-as-a-Service on Microsoft Azure や
Microsoft の DocumentDB サービス用の Java SDK も利用可能です。
また、ステートレスのアプリケーションでどこかで永続化データを管理したい場合、Azure Redis Cache が簡単で安全なためおすすめです。チュートリアルはこちらにあるので、こちらをご参照ください。Java を利用した Azure Redis Cache の使い方.
また、統合開発環境においても Eclipse や IntelliJ IDEA などで Azure 用のプラグインを提供しています。もし、Eclipse や IntelliJ をご利用の場合は、下記もどうぞお試しください。
Azure toolkit for Eclipse
MS Open Tech Tools: IntelliJ and Android Studio Plugin for Microsoft Services
上記の、MS Open Tech Tools plugin for Microsoft Services は Android のアプリケーションと Office 365、Azure モバイル・サービス、Azure ストレージなどと統合する機能も提供しています。
Java に関連した企業との協力なパートナーシップ
マイクロソフトはオープン・ソースのコミュニティと強く協力していくことがとても重要と考えています。またマイクロソフトは、OpenJDK に対する商用サポートを提供する Azul Systems と強いパートナー・シップを結んでいます。これにより Azul が提供するOpenJDK( Azul Zulu® )をMicrosoft Azure 上でもご利用いただくことができ、OpenJDKに対するサポートも提供します。これは、すでに EoL になってしまった Java SE 7 に対するサポートも含まれ、オラクルの有償Javaサポートプログラムに対する代替の手段としてご検討いただくことも可能です。Eclipse や IntelliJ をご利用の方は、 Azure toolkit for Eclipse や MS Open Tech Tools plugin for Microsoft Services をご利用いただくと、デプロイ時に Zulu を利用することも可能です。Azure のマーケット・プレスでは、Zulu をバンドルした Azure の仮想マシンも(Windows, Linux)提供しており(Azure Virtual Machines Gallery)、簡単にご利用いただくことができます(※ 日本でのサービス提供開始はまだです、今しばらくお待ちください)。
また、 HortonWorks ともパートナーシップを結ぶことによって、Hadoop ベースのサービス(HDInsight)を簡単にご利用いただくことができます。さらに、Cloudier ともパートナーシップを結んでおり、Azure 上で Hadoop ベースの Cloudier Enterprise Dataの仮装マシンを Azure 上でご利用いただくことができます。また、DataStax 社ともパートナー・シップを結び、Cassandra もご利用いただくことができます。
その他にも、マーケット・プレスではOracle WebLogic, IBM WebShpere など様々な製品をご利用いただけるようになっています。
マイクロソフトは、Java 業界に対して、ほとんどしがらみがないので、アプリケーション・サーバもこれを使ってくださいなどとは申し上げません。ベンダー・ニュートラルで、どのようなアプリケーション・サーバでも普段お使いのアプリケーション・サーバをどうぞご自由にご利用ください!!
継続的インテグレーション・継続的デリバリ
もし、Jenkins を普段ご利用いただいているのであれば、Azure の仮装マシンを Jenkins のスレーブとしてご利用いただくことができます。その際、Jenkins Slave Plugin for Azure をご利用ください。また、build artifacts を Azure が提供するストレージサービスに対してデプロイすることもできます(Azure Storage plugin for Jenkins)。
さらに、JJUG CCC 2015 Fall で一部の方にはデモをご覧いただきましたが、Azure と Jenkins, Docker を利用して下記のような DevOps を実現することも可能です。
統合開発環境からソースをコミットしたのち、チーム開発用のツールを SaaS として提供する Visual Studio Team Services (VSTS) の Git に対してプッシュします。VSTS の Git にプッシュしたのち、Azure 上で稼働する Jenkins で Build, Test を行い、ビルドとテストを正しく完了した場合に、アプリケーションを稼働させるための、Docker イメージを作成し、Docker Hub へイメージをプッシュします。Docker Hub へイメージをプッシュしたことを、Docker Tutum が検知し、Tutum 経由で、Azure 仮装マシン作成し、Dockerサーバを構築、最終的にはDocker コンテナの起動までを全て自動化できます。
Microsoft は CloudBees ともパートナー・シップを結んでおり、CloudBees Jenkins Enterprise on Azure (セキュアで最適化されたプラグインを含む)をご利用いただくことができます(詳細はこちらをご参照 : CloudBees Blog)。
Linux マシンも問題なく稼働
Microsoft Azure の中で稼働する仮装マシンのうち、すでに 25% が Linux で稼働しています。Windows 環境だけではなく、Linux 環境も安心してご利用いただくことが可能です。また事前設定済みの WebSphere や WebLogic も提供しています。WebSphere, WebLogic
Azure に対する配備を自動化したい場合、Azure Command Line Interface や Azure Resource Manager template をご利用いただくこともできます。Linux や Mac、Windows 環境でコマンドラインからデプロイを管理したい場合、 Azure CLI をダウンロード・インストールしてご利用ください。また、より複雑なクラウドのインフラ環境を構築したい場合は、Azure Resource Manager をご利用いただき、再利用可能なテンプレートを作成してください。例えば、こちらにある、数百にわたる Azure Resource Manager Quickstart Templates をご利用いただくことでより早くご利用いただけます、これらは全てGitHub におかれています。
Java Web アプリケーションの監視
Java web application monitoring with Application Insights
Application Insights という機能を利用すると Java の Web アプリケーションの使用状況やパフォーマンスなどをグラフィカルに監視できるようになります。詳しくは下記をごらんください
Get started with Application Insights in a Java web project
Application Insights for Java web apps that are already live
Application Insight のサンプルはこちらの GitHub にあります。
他にも、様々なサービスを利用いただけますが、これから継続して情報をお届けします。
Java で Web アプリケーションを開発する方も、ぜひ Microsoft Azure をぜひ触れてみてください。