by shigemk2

当面は技術的なことしか書かない

gcc -m32まわりでとらぶる on CentOS6

そうだね、-m32オプションをつけたらこけたね。

後期実験 Let's make your compiler!

で、libstdc++-devel.i386などを入れたんだな。

http://www.linuxweblog.com/blogs/sandip/20080718/support-32-bit-development-libraries-64-bit-centos

そして、今ココ。

yum実行時 Error: Multilib version problems found. | cloudpack技術情報サイト

yum checkをやっても何も出てこないので、よくわからない気持ちになっております。

熱血アセンブラ入門の進捗

熱血!アセンブラ入門 サポートページ

きょうび32bitのOSでごにょごにょしようというのがあまりなくって64bitOSでどうにかしようとしているけど、全部のアーキをビルドしなくてもいいんじゃないかっていう感じがアレしていた。

なぜなら64bitではビルドできないアーキがあって、特段それは執着する必要はないんじゃないかなって。

LambdaとKinesisで作るど根性Tシャツ #LambdaMeetup

Internet of Things

http://tocos-wireless.com/jp/tech/Internet_of_Things.html

ウェアラブルなナニカを作る

作り方

  • LEDのど根性Tシャツを作る(温度湿度をLEDでごにょごにょ)
  • 制御はラズパイ
  • Kinesis Lambda SQSを使用

  • 温度湿度 USBRH

  • ハンダ付け6時間
  • 美咲フォント + Python配列コード
  • Dynamic点灯でLED64個を16PINで制御

Kinesis

ハイボリュームデータをリアルタイムに分散処理

Lambda

イベントドリブンにプログラムを実行

Kinesis + Lambda

Kinesisで入力されたデータをLambdaで監視

Kinesisでセンサーデータを収集→Lambdaで監視→SQSにメッセージ登録

Twitter

まとめ

エラー処理がキモ

  • リトライした
  • リトライしない
  • Nodeプロセスが落ちた
  • タイムアウト

Kinesisとの連携

取りこぼしぶんをひろうのが大変→どのオブジェクトを取りこぼしたの

アーキテクチャをもっと練っていかないといけない

Lambdaの可能性は大きく、EC2からの卒業もできる

AWS Lambdaを紐解いてみた #LambdaMeetup

おもにNode.jsをいじっていた

AWS Lambda(えーだぶるえす らむだ)とは

AWS Lambda(えーだぶるえす らむだ)とは

一言で言うと…

  • クラウドレベルでのイベント駆動開発を可能とする技術

Lambda以前

  1. ApacheによるCGIスタイル(EC2などない) -2000
  2. LAMPスタックやRails(RDSなどない) 2000-2005
  3. トラフィックの増加でキャッシュ使用(徐々に複雑になる) 2005-2008
  4. さらなるトラフィックでロードバランシングが必須(このあたりからAWS出てくる) 2008-2010
  5. モバイルでさらにトラフィック pubsub notification ビッグデータ解析 カジュアルにアップされるファイル トラフィックの予測ができなくなってきて、レビューするのもしんどくなってくる 実際のロードも難しく、構成設計もカンだのみ 2010-
  6. さらにシステムの入出力が多様化 仕様も複雑化→耐障害性がわかりづらい
  7. そしてLambda

そもそもラムダってなんだよ そんなにすごくないじゃん…っていう感想

理解

すべてなフルマネージドな世界への出発点 かつEC2の役割の縮小 クラウドアプリケーションの実現

EC2セットアップ→プログラムの仕様、設計→見積もり(期間、性能などの見積もり)→レビューに時間がかかる

Lambdaのメリット

  • 費用は従量課金
  • スケーラビリティは考えなくていい
  • 冗長性は考えなくていい
  • リアルタイムアプリケーションの作成
  • 運用コストの削減

開発リードタイムの削減

今までだと冗長・スケーリングからプログラム動作仕様、費用、期間などの見積もりに時間がかかる

  • 設計
  • 見積もり
  • セットアップ

これらの時間を削減出来たりできる

プログラム動作仕様→費用見積もり→開発期間見積もり だけでよくなる

サイクルタイムを短くすることが物を言う Marc Andressen

イベントログによる耐障害性

イベントログを残しておくことで再処理さえすれば同じ結果を得られる

イベントドリブンとAWS

  • クラウドレベルでのイベントドリブンができるのがLambda
  • イベント操作、メッセージの標準化(誰が書いても一緒のものができる)
  • シンプリシティ(EC2の設計、つなぎこみなどをシンプルにできる)

仕様策定と開発に集中できる

HTTPサーバとイベントドリブン

HTTPサーバもラムダもイベント待ち受けという点では一緒(口が違うだけ)

S3のファイルを使うときにルータを自作するとか

AWSとLambdaがもたらす変化

  • イベント起点の増加
  • よりデータに着目した設計に

まとめ

  • Resilience(耐障害性)
  • Agility(警戒さ)
  • Elasticity(えらすてぃっくなんとかのように伸縮可能)
  • Timeliness(リアルタイム処理)
  • Event-Driven Computing(ラムダの最大の特徴)

Lambda × Mobileの可能性 #LambdaMeetup

アンダースコア (クラスメソッドの子会社)

モバイルから直接使えるAWSサービス

  • Cognito(認証)
  • DynamoDB(データストア)
  • S3(ストレージ)
  • SNS(プッシュ通知)
  • Mobile Analytics(行動分析)
  • Kinesis(データストリーmキング)
  • SQS(分散キュー)

2 Tierではちょっと使いづらい

  • サービスが粗結合
  • 実装がつらい
  • アプリに実装する場合はAndroid iOSのそれぞれの実装が必要
  • サーバーレスでなければSDKの真価が発揮できない

そこでLambda

  • イベントドリブン
  • サービス同士の連携
  • サーバーレス

写真管理

  • モバイルからS3で保存
  • メタデータを抜き出してDynamoDB
  • モバイルからS3オブジェクトとメタデータを取得

構成

Credential取得(顔本尼先生のアカウント) 写真ファイルを保存し取得→イベント発火→ラムダ メタデータ取得→メタデータ保存→ラムダ

Like機能

  • 顔本のいいね的なアレ
  • DynamoDBにToとFromを保存
  • EC2を立てなくても機能が作れる

キャンペーン配信

  • イベント告知やクーポン配信など
  • モバイルからユーザー通信をDynamoDBに送信

Lambdaがモバイルアプリで活用できそう

でも本当にサーバーレスでいけるの?

  • イベントドリブンではあるが、要件によってはイベントが足りない
  • モバイルから実行させたくない処理
  • RDSのデータ読み書き
  • アクセス権限付与(Lambdaを使うことで)

つまり、iOSからLambda FunctionをInvokeAsyncしたい人生だった

でも AWS SDK for iOSは未対応 →Forkして実装を修正する力業

http://aws.amazon.com/jp/sdkforios/

なぜかInvokeAsyncが成功しない

課題

  • 対応しているイベントが少ない(SNSのサポート)
  • Functionの実行結果を受け取れない
  • 非同期で処理が行われている
  • SQSやSNSの併用
  • バッチ処理ができない
  • S3で状態管理などの実装が必要

まとめ

  • Lambdaのモバイル活用は今後に期待
  • AWS Mobile SDKも今後に期待

ambdaで作るクローラー/スクレイピング #LambdaMeetup

http://www.nri-net.com/

サーバ不要でイベントドリブンなプログラム実行基盤

  • インフラのありかたを根底から変えるかもしれん
  • S3のオブジェクトに対してのイベントを検知

クローラー/スクレイピング

  • クローラー 巡回
  • スクレイピング データ抜き出し(正規表現 vs データ解析)

Lambdaクローラー

クローリング部分とスクレイピング部分

クローラー実装

  1. キック
  2. httpリクエストダウンロードをlambda
  3. html保存

スクレイピング実装

  1. S3 Event call
  2. S3 GetObject
  3. Scrape

実行元のサーバ

実行のたびに違うサーバが呼ばれるのか

考察

  • Lambdaは自動的にスケールアウト
  • スケールアウトの時間は数秒
  • タスクの分割と追跡性を工夫すればHadoopぽくできる

感想

  • Lambda導入
  • スケールジョブ制御システムが必要
  • その部分は現状自前
  • AWSによるサービス希望
  • もしかしたらサードパーティ製が必要になるかも

教訓

  • Lambdaは簡単に暗黒面に落ちる
  • 強力すぎる仕組みなので使い方
  • バグって無限循環したらどうやって止めるんだろう(Functionを消す)

Lambdaによるクラウド型言語の実装 #LambdaMeetup

Lambdaによるクラウド型言語の実装 #LambdaMeetup

コンソールがぶっ壊れててテンプレートが丸見え

  • 戻り値が受け取りづらい
  • ログ取得APIがない
  • CloudWatch Logsつらい
  • エラーハンドリングつらい
  • lambshop-tail