サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
imai-factory.hatenablog.com
みなさん、こういうデバイス使ってIoTしたことありますか? soracom.jp これはUSBドングルタイプのセルラーモデムで、例えばラズパイやPC、Macに接続することでそれらのコンピューターにセルラー通信上でのIP通信を実現可能にしてくれます。使ったことある方はわかると思うんですが、このデバイスはpppインターフェイスとしてOSに認識されます。が、実はSORACOMはppp方式での接続を提供していません。このことは下記のドキュメントのPDP Typeが「IP」となっていることからわかります。PDP Typeとはパケット接続の認証方式のことで、IPもしくはPPPという2つの方式があり、SORACOMはIP方式のみを採用しています。他の多くのキャリアも同様です。 参照元: SORACOM Air for セルラーの利用を始める: STEP 3: デバイスを設定する (APN 設定 / ロー
この記事では、SORACOM Air for セルラーやSORACOM Arcで接続されたデバイスとクラウドアプリケーションの間の通信について考えてみます。 なお、わたしはこれを書いている2021/12/16現在、株式会社ソラコムで働いていますが、この記事内に出てくるソラコムの仕様についてはすべて外部から観測可能な話に基づいて書いています(のはず)。 ちなみにこの記事は株式会社ソラコム Advent Calendar 2021の19日目の記事です。 デバイスとクラウドの通信にはどんなものがある? IoTアプリケーションにおける通信のユースケースとしては以下のようなものがあげられます。また、これらを組み合わせたアプリケーションも考えられるでしょう。 テレメトリ デバイスからクラウドに対してデータを送信する。スマートメーターのように数時間おきから数日おきに長いインターバルで定期送信するもの、ロ
仕事でCANを扱うことになりそうだったので予習を兼ねて自分の車の位置情報とエンジンの回転数、速度をクラウドにアップロードして可視化してみるというのをやってみた。 作ったものの全体像は以下のようなイメージ。クルマに載せるデバイス(canduinoと命名)はエンジンの回転数と速度をOBD2コネクタ経由でCANから、位置情報をGPSモジュールから取得し、Unified Endpoint経由でSORACOM Harvestに格納し、SORACOM Lagoonで可視化している。間にSORACOMが提供するバイナリパーサーという機能を挟むことによって、canduinoから送信されたバイナリをJSON化している。 デバイスの見てくれはこんなかんじ。クルマのUSBコネクタから電源をとっていて、DB9はOBD2コネクタにつながっている。LTEのアンテナの先っぽにGPSモジュールを巻きつけているのは、いちば
SORACOM Advent Calendar 2019の12/19の記事です。一年に1回、この時期にだけブログを書いている気がします。 qiita.com もともとは「ぼくのかんがえたさいきょうの再送ロジック」というタイトルで、IoTデバイスとクラウドの間でやりとりされるメッセージの再送ストラテジの話を書こうと思っていました。 例えばデバイス -> クラウド方向に関して言えば、Raspberry Piのような比較的リッチなデバイスであれば、データ送信失敗時や通信がオフラインの時にはプログラム内のバッファやファイルシステム上にデータを保存しておいて、Availableになったらリトライすることが容易ですが、(基板として)ArduinoやWioLTE、M5Stackなどのマイクロコントローラでは、取りうる選択肢が非常に狭くなります。また、そもそもどうやってデータ送信失敗を検知するんだっけ?H
ex-mixi Advent Calander 2017の12/12分のポストです。みんなエモいことを書いているのでわたしもエモいことを書くことにします。 ちなみに今日はわたしの結婚記念日で、嫁とはmixiで出会いました(物理/社内)。 で、テーマはソリューションアーキテクト(以下、SAと略します)という仕事について。もっとみんなにSAって何なのかというのを知ってもらいたいなと思ってます。SAってめっちゃ面白いよ!ってのを叫びたいのです。なお、本ポストではわたしがAWSでSAをやっていたときの話をしますが、あくまで経験や「わたしはこうやっていた」という話であって、AWSを代表する見解ではないことをご理解ください。 mixiには2010/2から2012/7までの約2.5年在籍していて、ずっと広告関連のアプリケーション開発をやっていました。自分のなかではものすごく体感時間長かったんですが、振り
inmobiのレポートシステムでLensを使っているよという話。 Apache Lens at Hadoop meetup from amarsri Generation 1 : RDBMS Architecture RDBMSで1.5TBくらいのデータを扱っていた。 Challenges データロードに24時間近くかかったり3ディメンションくらいしか現実的にはクエリできなかったり・・・いろいろ辛かった。 誰もが通る道だよね。でもinmobiもそれやってたって話を聞くとなんか安心するw Generation 2 : Hadoop + Columnar DB Architecture Hadoop + Columnar DB 集計済みのデータ: Columnar DBにいれてダッシュボード利用 生に近いデータ: Hadoopにいれてアドホッククエリ。 Columnar DBに8TB。Hado
Could Programmatic Branding Have a Breakthrough Year? パフォーマンス系、獲得系の広告だけじゃなくてブランディング系の広告においてプログラマティックが利用されるようになっていくのかという話。書いているのがDMPのセールスのひとなのである程度バイアスはかかっているものの、基本に立ち返るいいポスト。 The most fundamental problem with digital branding is that it is truly a one-to-one marketing exercise. If we dream of the “right message, right person, right time,” then matching a user with her devices is table stakes for p
AWS Advent Calander 12/19分。 Kinesis用のFluentdプラグインを書いているので、それについてブログ書きたかったんだけどまだちゃんと公開できるような状態になっていないので、それは冬休みの宿題ということで。 CloudFrontのログを集計して可視化するツールを実装する機会があったので、その仕組みの中で使ったDynamoDBの話や、反省点などを書いてみる。ちなみにs3statというサービスを利用することも考えたんだけど、量的に全然処理できなそう/お金払えばできるけど高そうなので自分で実装することに。 あと、そんなんhive使えばよくね?って話は仰るとおり。もろもろの事情で謎のpythonスクリプトを引き継いでやらなければならなかったのです。 つくったもの こんな感じの、CloudFrontから出力されるログを最終的に可視化されるまでのパイプライン処理を実装し
YCSBを使ってみよう的なテーマで書いた前回の続きとして、今回は結果の読み方や負荷パターンの調整について書いてみる。 今回の目次は以下のとおり。 コマンドのパラメータの読み方 DBENGINEごとの接続設定 workloadファイルの読み方/書き方 結果の読み方 コマンドのパラメータの読み方 基本的には起動は以下のようなイメージ。 ./bin/ycsb DBENGINE (run|load) -P CONFIGFILE [ -threads n ] [ -p key=value ] [ -s ]DBENGINEのところはdynamodbやらredisやらmongodbやらが入る。 その次はrunかloadが来る。これは動作モードを決定する値でrunはトランザクションフェーズ(読み込み&更新系)、loadはロードフェーズ(書き込み)の動作になる。 以下、パラメータのリスト。 パラメータ名 意
ExcelってODBC扱えるよね、ということを思い出したのでExcelからRedshiftに接続してみたメモ。 あんまり難しいこと考えずにDWHをカジュアルに使おうぜ、という気持ち。基本的には下記のブログを参照してやってみた。 http://pgsqldeepdive.blogspot.jp/2013/04/excelpostgresqlodbc.html ぼくの環境はWindows7(64bit) + Excel2010(32bit) 手順の概要 PostgreSQL用のODBCドライバのインストール ODBCデータソースの設定 Excelで外部データソースに接続 ピボットテーブルのデータソースにRedshiftを使ってみる PosggreSQL用のODBCドライバのインストール http://www.postgresql.org/ftp/odbc/versions/msi/ からドライ
Amazonが社内で開発し、サービスで利用しているDynamoというストレージサービスがあるのだけど、これについての論文が公開されていたので読んだのでまとめてみる。 この論文を書いたメンバーにはAmazonのCTOであるWerner Vogelsや、AWSでDynamoDBやElastiCache、SQS、SNSなどの製品のマネージメントをしているSwami Sivasubramanianらが含まれている。 Dynamoをひとことで表すと分散型でKey Valueストレージで、データの一貫性に関しては結果整合性を保証するサービスだ。なお、AWSで提供されているDynamoDBとは別物なので注意。 原文はこちらから参照できる。今回のポスト中の引用(図や文問わず)はすべてこちらから引用している。 また、既に日本語訳をされている方もいらっしゃるので原文をそのまま日本語でよみたい人はこちらを参照の
ここ数年でNoSQLを実際のシステムで扱うのも割りと一般的になってきていて、機能面だけでなく、性能面が気になるケースが多くなってきたと思う。 じゃあどうやって性能はかるの?比べるの?って話になるよね。 いわゆる、NoSQLにおけるapache benchやJMeterのようなものがほしいよね。 今日は、そのあたりのひとつのソリューションとなるかもな、YCSBというツールについて書いてみる。 YCSBとは YCSBはYahcoo Cloud Serving Benchmarkの略称で、プロジェクトのWebはこちら。 http://research.yahoo.com/Web_Information_Management/YCSB https://github.com/brianfrankcooper/YCSB/wiki ざっくりひとことで役割と説明すると、NoSQL向けのBenchmarkツ
EC2のAPIでは、オンデマンドインスタンス(リザーブドインスタンスも)は固定IP付きで立ち上げることができるが、スポットインスタンスはそういうAPIはない。 もともとスポットインスタンスは起動していることが保証されているわけではないので固定IPを付けて運用するようなケースはあまりないと思うが、そういうケースに出くわしたので考えてみた。ちなみに今回はVPCの中で動かすのが想定ケース。 ステップの概要としては 欲しいIPをつけたENIを作る スポットインスタンスをAPIでリクエストする。このときにAPIのパラメータとしてuser-dataでアタッチしたいENIのIDを渡す 立ち上がってきたスポットインスタンスはuser-dataで渡されたENIをcloud-initのuser-scriptやinitスクリプトでアタッチする pythonで書くとこんな感じ。 今回はcloud-initのuse
AWS SDK for node.jsのデベロッパープレビュー版がリリースされたので触ってみた。 AWS SDK for Node.js (Developer Preview) http://aws.amazon.com/jp/sdkfornodejs/ まだデベロッパープレビュー版なのですべてのサービス向けのAPIが実装されているわけではなくて、現状EC2、S3、DynamoDB、SWFのみに対応済みな状態。こんな感じ↓ 何をしてみようかというところで、S3を取り扱うようなサンプルコードはちょいちょい見かけるのでDynamoDBを扱って見ることに。socket.ioを触ったことがなくて、触ってみたこともあって、http://www.atmarkit.co.jp/ait/articles/1210/10/news115.htmlを参考にチャットアプリケーションを実装してみた。アーキテクチャ
ここでは、EC2の上でinnodbをチューニングして使うという観点でTIPSをまとめてみた。 RDS便利だから使おうぜってのは今回の話のスコープには含みません。 あと、innodbについて、割りとちゃんと調べてみたのは初めてだったりするので、間違ってる点など見つけたらぜひご指摘くださいませ。 innodb関連 バッファプール ワーキングセットを乗せておくオンメモリのバッファ領域。読み書き共にこの領域を経由して実施される。 参照時はバッファプール上でデータを探して、なければテーブルスペースから取得する。(そのデータはバッファプール上に格納される) 書き込み時はリクエストを受け付けてワーキングセットを更新し、ログの書き込みへ移行する。 設定はinnodb_buffer_pool_size 監視はSHOW ENGINE INNODB STATUSか、mysqladmin extended-sta
こんばんは! 今回はCDP Advent Calendarへの投稿です。 今日はStampパターンの拡張の話について書いてみます。 きっかけは「MongoDBのクラスタがAMIくらいお手軽に試せたらいろいろ触ってみるんだけどなぁ」という声を頂いたこと。 はじめに 今回やってみるのは、タイトルの通りだけどCloud FormationとChefを使ってMongoDBのクラスタをデプロイしてみるということ。いろんなサードパーティーベンダーさんが提供している彼らの製品が乗っているAMIのごとく、さっとクラスタをデプロイして、ベンチして、終わったら捨てる、みたいなことができることを目指します。 まず、Cloud Design Patternには、Stampパターンというのがあって、AMIという仮想マシンのイメージを使って同じ構成のサーバーを、あたかもスタンプを押すように複製するデザインパターンです
2012/12時点で、Elastic BeanstalkのPHPコンテナが新しくなっているので、この記事通りに動かないかもしれません。 PHPを書く機会があったのでElastic Beanstalkを使ってみた。 gitからpushでデプロイできるので便利ですね。 使い方のイメージは下記の感じ。(内容はほぼ下記のとおり) http://docs.amazonwebservices.com/ja_jp/elasticbeanstalk/latest/dg/create_deploy_PHP_eb.sdlc.html 必要なもの git Elastic Beanstalkのコマンドラインツール。 http://aws.amazon.com/code/AWS-Elastic-Beanstalk/6752709412171743 (Python2.7以上が必要です) 手順 1. ディレクトリ構成を
このページを最初にブックマークしてみませんか?
『imai-factory.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く