Enterpriseといっても一般のユーザーも契約できるんですよ!!使いたい人は、salesforceの導入前のお問い合わせから質問するとよいかも。海外のサーバーですと、自社のセキュリティポリシーが適合しているか、などより多く悩んだりしますよね。確認作業はゼロにはなりませんが、東京リージョンであれば検討もすこしは簡単になりますよ。レスポンスが遅い、というのが気になったりしますよねー。Tokyo!実際にどれだけ費用がかかるのかなー、など調べて使ってみましょう。(水)Herokuに関する疑問にお答えこんにちは、三宅です。ここ最近、Salesforceが提供するHerokuのトレーニングであるHeroku基礎のプライベートトレーニングの講師を担当していました。案件でHerokuの利用を検討している、またはすでに利用を始めているというお客様のところで、Herokuの特徴やアプリケーションを開発する上での基本的な考え方等について解説を行いました。Enterpriseと銘打っているように、SalesforceはHerokuのエンタープライズでの利用を促進しています。Force.comとの連携が必要であったり、開発期間の短いような案件では、Herokuは有力な選択肢となりうると考えています。Service)ならではの特徴があり、これまでオンプレミスのアプリケーションを開発していた人にとって戸惑う部分も多いと思います。今回は、Heroku基礎のプライベートトレーニングで出てきたそういった質問などを紹介していきます。Herokuへのデプロイ方法HerokuではGitを用いてアプリケーションをデプロイする仕組みとなっているが、別の方法はないのかという質問が出ました。Subversionを用いてバージョン管理している場合などに、まず思いつく疑問だと思います。push」以外にGitHub、Dropboxとの連携によるデプロイが可能ですが、GitHubでは結局Gitが必要であること、また共にセキュリティポリシー的に利用が難しい場合が多いでしょう。Gitを用いたバージョン管理に移行するのが最も簡単ですが、それができない場合はバージョン管理は引き続きSubversionで行い、Gitはデプロイツールとしてのみ用いるという使い方が容易だと思います。Gitによるバージョン管理の概念や詳細なコマンドを覚える必要がなく、最低限の学習コストですますことができます。GitHubは必須かHerokuのGitリポジトリはデプロイのためだけに利用するもので、バージョン管理は別のリポジトリで行う必要があります。GitといえばGitHubというように取り上げられることも多いのですが、GitHub連携のデプロイを行わないのであれば、Bitbucketなどの別のホスティングサービスを利用したり、イントラネットにGitサーバを用意して利用するなどGitHubに限定されるわけではありません。先ほどのHerokuへのデプロイ方法で述べたように、Suversionでバージョン管理を行うことができないというわけではありません。ランタイムの選択Javaランタイムの実装は何か、また選択は可能か、という質問をお客様から受けました。HerokuのJavaランタイムはOpenJDKのみで、Oracleなどの別の実装を選択することはできません。Javaのバージョンは1.7及び1.8のみが利用できます。Javaに限らず、Herokuでは言語ごとに利用可能なランタイムのバージョンが決まっており、それ以外のバージョンは利用することができません。最初に利用する予定のライブラリや既存の資産が、Herokuで利用できるランタイムで動作するかの確認が必要になるでしょう。各言語で利用できるバージョンやその指定方法は、公式ドキュメントのLanguagesに記載されています。Dynoの連続稼働時間Herokuを初めてさわった人が戸惑うことの1つに、Dynoの1日1回の再起動が挙げられるでしょう。Dyno、ともに1日に1回再起動が行われます。Dynoでは時間を要するバッチなどを実行する場合などは気をつける必要があります。Herokuブログの以前のポストであるHerokuのWorker再起動問題を考えるも参考にしてみてください。Dynoはどれくらい連続で稼働し続けるのか。Dynoを用いること、Schedulerにより起動されたDynoはスケジュールのインターバルより長い時間起動させることはできず、終了させられると記載されています。最長の期間が1日なので、1日を超えて起動させ続けることはできないと考えられます。Dynoは自動でのリスタートを行わなため、明示的に接続を切らないと動作し続けると予想されますが、実際のサービスでの利用はとてもできないでしょう。Dynoで処理するなどの設計が必要となるでしょう。QueueingというHerokuの公式ドキュメントが公開されているので参考になると思います。調査した範囲内では、そのようなアドオンを発見することができませんでした。Dynoにリクエストが到達してから、アプリケーション的に実装するしかないと考えられます。負荷テストや侵入テスト負荷テストについては明確なルールはないようで、フレクトではある程度アクセス数が想定されるようなアプリケーションについては、Herokuに対して事前通知などすることなく実施しています。全国レベルのテレビ放送で紹介されるなど、プラットフォーム自体に影響があるレベルのアクセスが予想されるような場合は、テストの実施や放送日時などをHerokuへ知らせる必要があるでしょう。Scanningに記載のように、事前に通知を送るように明確に定められています。私はまだ実際にHerokuのアプリケーションに対して侵入テストを実施したことはないのですが。今回のHerokuブログでは、Herokuのプライベートトレーニングで受けた主な質問を取り上げてみました。実際の案件でHerokuを使う際の、設計・開発の参考にしていただければと思います。(金)CloudSearch使った時につまづいたところこんにちは、なかやまです。最近お仕事でCloudSearchを利用する機会がありました。CloudSearchはAWSが提供する検索サービスになります。cloudsearchを使って検索できるようにするにはざっくりと次のステップがあります。1.検索ドメインを作る2.データのアップロードでは、色々つまづいた・誤解していた事です↓データをアップロードするたびに毎回10分かかると思ってた検索ドメインを作ると利用できるまでに数10分かかります。コンソール画面から検索ドメインを作ると流れでドキュメントのアップロードもできるのですが、ここでアップロードのたびに10分かかると勘違いしてしまいました。アップロードは直列登録しかできないと思ってた並列登録もできますよ!負荷がかかってくるとcloudsearch側でオートスケールしてくれます。画面上でもスケールしたことを確認できました。アップロードすると504エラーが返ってくるアップするドキュメントサイズによってインスタンスを指定してあげましょう。インスタンスが小さいと高確率で504エラーになります。あとアップロードするサイズは5Mになるように調整すること。https://docs.aws.amazon.com/ja_jp/cloudsearch/latest/developerguide/uploading-data.html#bulk-uploads検索クエリの条件に指定できるのは1000個までそこまで複雑な利用方法にはならないかと思いますが、念のため。句を含めることができます。https://docs.aws.amazon.com/ja_jp/cloudsearch/latest/developerguide/limits.htmlクエリ1回につき取得できる件数の上限は10000件まで1回のリミットは10,000件だけど、URLパラメータにcursorつけることで次の10000件が取れるよ!最初に取得したcursorから30分かけて50回ほどクエリしたけど、問題なく取得できました。その間取得したレコードから削除のjson投げてますが、正常に全件取得・削除ができました。https://docs.aws.amazon.com/ja_jp/cloudsearch/latest/developerguide/paginating-results.html#deep-paging項目追加、型変更したらインデックス再作成しないといけないよく見ると項目一覧の上の方にメッセージが表示されてました。インデックスの再構築が必要のようです。Indexing」ボタンを押して、しばらく待ったら使えるようになりました。登録されているドキュメントの数によっても時間は変わりそうですね。料金の上限設定とかできないどの設定で動かしたか不明ですが、気付いたら10万円ぐらいつかってました。課金は稼働しているインスタンスが使われている時間がほぼ全てと言ってもいいぐらいかも。一括アップロードするときの並列処理のさせかたでガツンとスケールされてしまうので、最初の設定には気をつけましょう。バッチの課金は安いけど、並列で登録することでオートスケール(課金対象)されるので、登録時間に余裕があれば直列とかウェイトかましてもよいかもです。設定できるのは以下のパターンのみ。(テキストエリアで直接編集することも可能!)後からでも変更できます。検索だけ誰でもOK検索も登録も誰でもOK(おすすめしないやつ)IPで制限かける(カンマ区切りで複数OK)非公開(コンソールからの利用のみ)別のドメインからコピーセキュリティグループの設定はなかったよ。(テキストを直接編集することでカスタマイズすることで利用できるようになるかも?。日本語ドキュメントに頼りすぎた。http://docs.aws.amazon.com/cloudsearch/latest/developerguide/retrieving-stats.html使わないCloudsearchを休止できないdeleteのみ。稼働している分だけ課金されるので、不要なものはバックアップとって削除しましょう。(月)Heroku2015年アップデートふりかえりこんにちは、浅野です。2015年もあと僅かということで、今回は2015年のHerokuアップデートで私自身が「これは」と思ったベスト3を紹介します。GitHubインテグレーションのサポート2015年の早い段階でパブリックベータになった機能。Apps)プロジェクト内でデプロイおじさん的なロールをすることが多く、この機能は「あれ、まだパブリックベータだったのか...」と思うくらい重宝しておる機能です。開発用ブランチにプルリクエストがマージされたらHeroku開発環境へ自動デプロイは、外部CIサービスとの連携で実現していた方が多くいらっしゃると思うのですが、Herokuが標準でサポートしてより楽に仕組みが作れるようになりました。新料金プランへの切り替えとそれに伴う無料利用枠の制限変更どちらかというとネガティブな印象で広まったHerokuの料金プラン変更の話。元々は1ヶ月で750DynoHourの無料枠が設けられていたものが、2015年6月から無料で利用可能な範囲は1日18時間まで(6時間は必ず停止する)の仕組みに変わりました。FlectブログでもHerokuの新料金はお得なのかで取り上げたり、日々の開発がどう変わる?を注視しておりました。フタを開けてみると、開発にはあまり影響がなくFreeDynoの利用枠はよく考えられたものだな、と思いました。個人利用されていた方への影響は結構大きいような気がしており、Herokuがエンタープライズ分野に舵取りを始めたタイミングはここかな、と感じた次第です。「ついにTOKYOリージョンにHerokuキター!」とお祭り騒ぎしたアレです。簡単に説明すると、「DynoとHeroku純正アドオン系のデータ(Postgres/Redis)を、AWSの任意リージョンのVPC内に構築する」という感じです。TokyoリージョンのVPC上に構築することのメリットはよく言われるレイテンシ問題(太平洋を横断する北米か、ユーラシア大陸を横断するヨーロッパか)が解決するデータストアがパブリッククラウドからVPC内にひっこむことによる安全性の向上あたりでしょうか。安心してHerokuをお使いいただけるようになるのではないかと思っております。Enterpriseの売れ行きが順調すぎていろんなお客様や開発パートナーからフリーランスの開発者を紹介してくれという依頼やわりと良いポジションで入社してくれる人を紹介してくれと言われることが多い。18ともおっしゃっておりPrivateSpacesの利用が標準になると思われる、それくらい大きな出来事と理解しています。まとめということで、トップ3(私見)は以下のとおりでした。新料金プランへの切り替えとそれに伴う無料利用枠の制限変更GitHubインテグレーションのサポートこの他にも、パイプライン・Dockerサポート・Go言語のサポート・Heroku純正アドオンの追加(Redis、HerokuConnectデモ版)など色々な機能が追加されました。Changelogを振り返ってみて「これも2015年からの機能か」と思うくらい1年前のHerokuよりも便利に使えるようになっています。2016年もきっとより便利に使える仕組みが提供されると期待できます。(個人的にはHerokuRouterの挙動が柔軟に制御できるようになると嬉しい)それでは、みなさま良いお年を。(月)HerokuPrivateSpacesの使い方は紹介しないとまずいよねはい、どうも。最近、薄めの内容でブログを更新しております、おっぴーです。カレンダーを見るともう12月なので、わたくしの更新は今年は最後ですね。いうことで、個人的には今年一番おおきなHerokuのアップデートであったとおもわれるPrivateSpacesのご紹介をしたいと思います。今日は簡単に利用方法についてのご紹介です。いうことで、大事なことは3行で。HerokuSpacesはToolbeltでもDashBoardでも簡単に作成できるもともとSpaceの外側で作成していたアプリはforkを利用してもRegionを移動できないSpace内に作成したアプリはforkを利用してもSpaceの外のRegionに移動できない使い方はのチュートリアルは、このページで紹介されています。Spacesの機能が利用できることがわかります。今回はDashBoardからのPrivateSpaceをつくってみましょう。画面上部のSpaceを押してSpaceを作成します。今回は「herok-test-space」という名前で、TokyoRegionのPrivateSpaceを作成します。作成には7、8分程度かかります。画面に表示されるアドバイスのとおり、コーヒーでも飲みに行きましょう。作成が完了すると、Spaceの一覧表示に、「herok-test-space」という名前のSpaceが表示されます。表示されたSpaceを押してみましょう。すると、Space内にアプリケーションを作成する画面が表示されます。App」を押下します。以上で作成した「heroku-test-space」というSpaceの中に、「heroku-blog-test」というアプリケーションを作成できました。この次は、アプリケーションを作成して、deployをします。planというエラーが発生し、デプロイができませんでした。(原因調査まではしておりません。Node.jsのアプリをデプロイしてみました。master以上で、PrivateSpaceに作成したアプリケーションへのデプロイが完了しました。ちなみに、Space内のアプリケーションは、HerokuToolbeltから作成可能です。スペース名ただし、チュートリアルのページで紹介されているSpaceの作成コマンドは、現時点(2015/12/20現在)で入力してもエラーになりました。Toolbeltのバージョンが3.42.25で、おそらく最新のはずですなのですが、まだ利用できないようです。作成したアプリケーションのRegion移動は簡単ではありません。Herokuでは、通常、アプリケーションはforkというコマンド実行すると、環境すべてコピーすることできます。Space外のアプリケーションを新たに作成したSpace内にforkすること、その逆にSpace内に作成したアプリを別のRegionにforkすること、の両方ができませんでした。region.上記のエラーが出力されます。ようするに、TokyoRegionはSpace外にアプリケーションを作成できませんよ、というエラーになります。それでは、forkコマンドでspaceを指定できるか、と試してみました。--spaceようするに、forkコマンドはspaceなどというオプションには対応していないよ、というエラーになります。Regionに指定してみましょう。spaceということで、Slugのspace間移動ができないようになっているようです。以上にように、Space間の移動は単純にできないため、既存のアプリケーションをSpace内に移動する、ということを考えた場合は、forkコマンドが利用できず、アプリケーションを作成してpushするという流れが必要になるようです。ちなみに、Rails4がdeployできなかった原因調査について、「いやいや、うごいたよ」という方がいらっしゃったら教えて下さい。少々、早いですがみなさま、良いお年を。フレクトでは、事業拡大のため、Salesforce/Force.comのアプリケーション開発、HerokuやAWSなどのクラウドプラットフォーム上でのWebアプリケーション開発エンジニア、マネージャーを募集中です。未経験でも、これからクラウドをやってみたい方、是非ご応募下さい。・認定デベロッパーが在籍している、セールスフォースパートナーです。partnersにも登録されています。Salesforce/Force.com導入支援サービス弊社の認定プロフェッショナルが支援致します。・Salesforceと連携するWebアプリ開発も承っております。セールスフォースご検討の際は、お気軽にお問合せください。