Home > アーカイブ > 2015-01

2015-01

「Azure Websites で作るスケーラブルな PHP アプリケーション」を GoAzure 2015 で発表してきました

この記事の所要時間: 430

Azure コミュニティの一大イベント GoAzure 2015 にて、「Azure Websites で作るスケーラブルな PHP アプリケーション」という発表を行ってきました。

Azure Websites

セッションでもお話したのですが、テーマは、もう一つあり、それは「LAMP(LAPP) ユーザが使う Azure Websites」でした。

Azure は、マイクロソフトのサービスなので、どうしても Windows に最適化されているイメージがあったのですが、普段 Mac で開発して、Linux にデプロイして、運用している人間でも、興味深いサービスであることを伝えようと考えました。

発表資料

発表資料は、こちらです。

発表冒頭で、Azure Websites を使っている方に挙手頂いたのですが、6-7 割の方から手が上がりました。Azure のイベントなので、当然といえば、そうなのですが、利用されているのが多いのだなと実感しました。

PHP で PaaS を使う

以前から、PHP を公式にサポートする PaaS はいくつかあったのですが、海外のサービスが多く、ドキュメントも英語版のみで、日本ではあまり使われていない印象でした。

PaaS の雄である Heroku が、2014 年に正式に PHP に対応したことで、今後、PHP でも PaaS を使うことが広がっていくでしょう。(Heroku も公式サイトは、英語ですが、日本語のブログ記事や書籍があります。)Heroku は、PaaS として非常によく出来ているのですが、残念ながら、日本国内にサーバがありません(2015/01/19現在)。

その点、Azure Websites は、日本国内(東日本と西日本)にサーバがあり、日本語のドキュメントもあるので、PHP で PaaS を使うなら、まずは試してみる価値はあります。

Azure Websites + PHP + New relic が利用できない

発表では、入れ忘れたのですが、困ったことを一つ。

Azure Websites は、Windows Server なので、Windows 版 PHP 用の DLL が無い拡張は利用することができません。主要な拡張は問題無いと思うのですが、私が触った範囲では、一つだけこの問題に当たりました。

それが、New Relic の PHP 拡張です。

Azure 自体は、New Relic と連携ができ、.NET 環境では利用できるようなのですが、New Relic の PHP 拡張は、Windows 版が無いため、利用することができませんでした。

New Relic for PHP の FAQ でも現在は対応されていないことが明示されています。New Relic は便利なので、ぜひ対応してもらいたいところです。

https://docs.newrelic.com/docs/agents/php-agent/getting-started/new-relic-php-faqs#windows

アーキテクチャを明示して欲しい

発表資料には入れていますが、一つの Websites 内にある各インスタンスでは、ストレージ(D ドライブ)が共有されているようです。

検証した結果では、おそらくそうであろうということは分かっていましたし、そうであるという情報も見聞きすることができました。

ただ、最後の裏取りとして、公式のドキュメントで、このことが明示されている箇所を探したのですが、残念ながら、見つけることができませんでした。

PaaS だから、裏側を知らなくても良いだろう、という考え方なのかもしれませんが、アプリケーションを作る上でも、構成を組むにしても重要な部分なので、はっきりと公式サイトで明示して欲しいと思いました。

実際、私自身も検証の段階で、このことを知らずに、想定したような結果が出ずに首を傾げるということを経験しました。

せっかく、共有ストレージのおかげで、スケールアウトが容易という特徴があるのですから、ちゃんと明示した方が双方にメリットがあるのではないでしょうか。

追記:2015/01/24
こちらの記事で共有ストレージであることが記載されているようです。https://msdn.microsoft.com/ja-jp/magazine/dn786914.aspx

さいごに

冒頭でも触れましたが、Azure は、以前は「Windows Azure」という名称だったため、どうしても「Windows ユーザのためのもの」という印象がありました。ただ、今回 Azure Websites を検証してみたところ、あくまでマイクロソフト社が運営しているというだけで、クラウドサービスの一つであるという認識に変わりました。

OSX や Linux 上でも動くコマンドラインツール(npm でインストール)があり、Azure Websites では、Git でデプロイができます。デプロイ時に任意のスクリプト(Bash)を実行することができるので、Composer やフレームワークでのマイグレーションなども自動化できます。

上手くやれば、わりと活用できるシーンはあると思うので、今後も使ってみたいと思います。

無料枠もあるので、まだの方は、ぜひ一度試してみてください。

  • コメント (Close): 0
  • トラックバック (Close): 0

2015年は「問題解決」

この記事の所要時間: 58

sheep

新年、あけましておめでとうございます。旧年中は、お世話になり、誠にありがとうございました。

2015 年に入って、最初のエントリということで、2014 年のふりかえりと 2015 年の抱負などを書いてみたいと思います。

2014 年ふりかえり

2014 年の抱負は、「ちゃんと稼いで、食べていく」でした。

社会人である以上、当たり前の目標なのですが、その当たり前を今一度、目標として、足場を固めていく一年になりました。おかげさまで、無事に、1 年を乗り切ることができました。ありがとうございます。

事業としては、「受託開発」「技術サポート」をメインに行いました。新規開発の案件では、Laravel と AngularJS を組み合わせて、サーバーサイドは API を提供して、UI 等は、クライアントサイドで開発するというスタイルで構築を行いました。今後もこうした形は、増えていくでしょう。

技術サポートについては、後述します。

また、ロクナナワークショップにて不定期ながら講師を務めることになり、2014 年中には、2 回講義を行いました。2015 年も開催予定なので、参加お待ちしています。

コミュニティ活動では、勉強会などのイベントへの参加と発表を行いました。1×1を会場とした勉強会が多かったので、それ以外では、発表のお誘いを受けて参加する機会が多かったです。発表資料などは、こちらで公開しています。

技術サポート

技術サポートというのは、開発プロジェクトにおける技術的な課題を一緒に解決する役割です。呼び名としては「技術コンサルティング」や「技術顧問」なども考えられますが、今のところ「技術サポート」という名前で呼んでいます。

2014 年は、この形で、いくつかのプロジェクトやチームに参加することが増えました。

これまでも、単発での依頼であったり、別のロール(開発やインフラ構築等)で参加しつつ、兼任でこの役割を担うことはあったのですが、継続的に参加するということが多くなりました。

以前から、こうした関わり方に興味があり、また、お役に立てる場面があるのではと感じていたので、2013 年の終わり頃には、直接会う機会があった方には、こういったことをやろうと思う、という話をしていました。そのおかげかどうかは分かりませんが、いくつか、技術サポートの依頼を頂くことができました。

お話した方からの依頼もあるのですが、言霊といいますか、直接この話を聞いてはいない方からも依頼があり、何事も表明するというのは大事だなと実感しているところです。

具体的にどのようなことを行っているかは、案件により様々ですが、下記のようなことを行っています。

  • リモートでの技術的質問の回答、調査(Redmine / Chatwork / Slack 等)
  • インフラ移行に関する移行計画のレビュー
  • 開発業務での困り事相談
  • 開発案件への Vagrant 導入サポート
  • AWS / Heroku などのクラウドサービス導入支援
  • コードレビュー(アプリケーションコード、プロビジョンコード)
  • サンプルコードの作成
  • パフォーマンスチューニング
  • 定例ミーティング参加
  • 訪問による技術相談会

基本は、リモートで、技術に関する質問を頂いて、その回答を行うというスタイルです。ただ、案件によっては、訪問して対面でお話を伺う場面もありますし、コードレビューやサンプルコードの作成、パフォーマンス改善など、アプリケーションコードを書く以外の周辺タスクをサポートするという場合もありました。

ご依頼頂いた内容を振り返ってみると、コードを書いたり、アプリケーションを構築することは自分たちで可能だが、新しくチャレンジする領域に関する知識やノウハウを知りたいという要望が多かったように思います。また、第三者の視点からのレビューが欲しいという要望もありました。

契約については、月額固定での契約で、お互いに齟齬があれば、都度ご相談というスタイルが多かったです。

2015 年は、この「技術サポート」をより進めていきたいと考えています。ご興味がある方は、下記のお問い合わせフォームなり、メッセージなりでご連絡くださいませ。

お問い合わせフォーム

2015 年は

2015 年は、まず事務所の移転を行います。(といっても同じビルで階が変わるだけですが)すでに移転先の契約も済ませており、2月早々には移転が完了する予定です。

事業の方は、「技術サポート」を中心に進めていき、さらに開発現場をサポートできるようなツールやサービスの構築なども行っていきたいと考えています。もちろん、従来の受託開発についても、引き続き行っていきます。

これまでは、アプリケーション開発やインフラ構築など、システムを作り上げて、何かの問題を解決してきました。この「技術サポート」も、目的は同じく「問題解決」なのですが、その手段が異なります。開発現場における技術的な問題を、システム構築ではなく、対話やアドバイスなどで解決するのが役割です。

技術情報は、書籍やインターネットを見れば、豊富にあります。しかし、そういった膨大な情報から、自分たちの問題を解決する手段を見つけ出し、その解決策を落としこむのは、意外に手間や時間がかかります(もちろん、問題自体の発見も必要です)。こうした問題を円滑に対処する方法としてお役に立てれば嬉しいです。

2015 年は、開発現場での問題解決屋となるべく、「問題解決」を抱負としたいと思います。

さいごに

実は、元旦から食中毒でダウンして、三ヶ日を布団の中で過ごすという散々なスタートになりました。。。昨年の後半から熱が出たり、蕁麻疹が出たりと不調が続いているので、体調管理が大事だと痛感しています。(この「問題」も解決しないと。)

年初から、GoAzure での発表準備や原稿執筆があり、また本業の方も立て込んでおり、さらに引っ越しの手配などもあるので、体調を整えて、アクセル全開でスタートします!

2014 年は、Shin x blog をご覧頂きありがとうございました。2015年も、よろしくお願いします!

  • コメント (Close): 0
  • トラックバック (Close): 0

Home > アーカイブ > 2015-01

検索
フィード
メタ情報

Return to page top