サーバレスなバッチを管理するためのKudaを作成しました

概要 こちらの記事でも書いたのですが、小さなバッチを運用するにはCloud Runのようなコンテナベースのサーバレス環境はとても向いています。 バッチサーバとしてインスタンスを常駐しておく必要が無いのでコスト面でも有利ですし、横にスケールさせやすいと…

「二段階認証…?」と言わないためのMFA入門 --- あるいはIDシステム地獄への案内

はじめに さて、7 Payの社長が2段階認証知らなかった問題が良い感じに炎上していますね。 個人的には常に知っておく必要が絶対あるかというと専門分野の問題があるから議論の余地あるとして、セキュリティの問題で会見するなら部下にちゃんとレクさせろよ、…

どんなコマンド/スクリプトもサーバレス化するためのhwrapを書いた

ちょっとした処理を実行する時にはサーバレス(FaaS/CaaS)環境は便利ですよね。 呼び出しベースでコストが最適化されるのでバッチサーバ的なものを常駐させておく必要もありません! ただ、AWS Lambdaとかで書くと特定の言語/FWで実装する必要があるので過去…

なぜRDBからCSV + COBOLに変更する事でコスト削減と高速化を同時に実現出来たかの考察

そもそも既存はどんなロジック? RDBなんだからWhere句使ったら? なぜファイルにすると速くなるのか? 並列化と分散処理による高速化の可能性 COBOL使う必要あったの? Javaとかじゃダメだったの? まとめ TLを見てると以下の記事が少し話題になってました…

ついにDockerに対応したWSL2を私見で解説してみた

多くの記事も出ていますがMicrosoft Build 2019にて、Windows Subsystem for Linuxの次期版でフル互換のLinuxが動作するとの発表がありました。 これの何が嬉しいってDokcerがWSLで普通に動かせるようになる事です! www.publickey1.jp セッションを聞いて来…

Serverless時代のJavaEEコンテナ - Quarkus

はじめに JavaEEコンテナの世代と移り変わり Quarkus まとめ 参考 はじめに Quarkusをご存知ですか? Redhat社が出した爆速のJavaEEコンテナです。 Publickeyの記事でも紹介されていますがGraalVMのnative-imageでコンパイルされるため、JAX-RSやCDI、JPAや1…

Unlimited Process Works - 無限にスケールするためのアーキテクチャープロトタイプ

「行くぞDocker! プロセスの貯蔵は十分か!?」 はじめに さて、以前顧客向けシステムに最適なDBは何だろう? と思ってこんな記事を書きました。 koduki.hatenablog.com で、その中でも顧客向けシステムはユーザ毎にDB作れば良いんじゃね? Dockerでいける…

信頼性の高いサービス運用のための5つの要素

さて少し遅れてしまったのですがSRE 2 Advent Calendar 2018の23日目です。 SREでどんな事をしているというより、どういうポリシーで信頼性を実現するか、という観点でまとめてみました。 SRE観点で運用改善をしていく! と言っても闇雲にやると「何やってる…

第四世代言語って知ってるか? - 古の次世代言語 4GL

ロストテクノロジー Advent Calendar 2018 14日目です。 皆さんは古の次世代言語 4GLをご存知でしょうか? 我々が普段使ってるプログラミング言語は所詮第三世代言語、それに続く言語の次なる進化が第四世代言語です。 www.weblio.jp 第一世代言語機械語 第…

そうだアドベントカレンダーを書こう - 年末の〆切ドリブン

取り敢えず今年分は下記。 qiita.com qiita.com qiita.com qiita.com qiita.com Docker Advent Calendar 2018 - Qiita qiita.com 盛りだくさんだけど、落とさないようにがんばるぞい、と。

Oracle Code One 2018に参加してきました

JavaOneには結局ついぞ参加する機会がなかった私ですが、Oracle Code Oneになったのを契機にというかたまたまサンフランシスコ近辺に住んでるので参加してきました! 紆余曲折あって会社のブース展示とかの手伝いもしてたので、セッションを十全に回れた訳で…

クラウドというかマイクロサービス

API First, First, First !!! Fintechやモバイルに本気で対応するための APIを中心とした最新アーキテクチャ docs.microsoft.com SoR系 分散業務処理システムでのもろもろ考慮点(勢い版 2017.07 from Arichika Taniguchi www.slideshare.net マイクロWebア…

大規模DB設計メモ

speakerdeck.com qiita.com speakerdeck.com docs.microsoft.com 超実践 Cloud Spanner 設計講座 from Samir Hammoudi www.slideshare.net 12c R2ではじめるOracle Databaseのシャーディング | アシスト

Argoでkubernetesのジョブ管理を導入してみた

先日作った下記のサイトですが小さいながk8sでジョブを動かしてます。 koduki.hatenablog.com ジョブの構成は BTCの情報を収集 学習&予測 スコアリング の3種類で1 -> 2-> 3の順番に依存があります。で、2の部分は当然アルゴリズムを増やすと増えますし並列…

流行りの技術を集めてビットコインの予想サイトを作ってみた

最近、ビットコインが久しぶりに80万円を超えて調子が良いですね! そう言う訳でと言う訳では無いのですがビットコインの予想サイトを作ってみました。 明日のビットコインを大予想! 最近、特に自分のサービスを運用にしてなかったので新し目の技術をHello …

僕の考えた最強のDB for 会員むけシステム

ソシャゲとかその他C2Bな会員向けシステムにとって最強のDBはどういうのだろうか? とTwitterでつらつら考えてたのでブログにもまとめ直してみる。 SparkやHDFSみたいにデータのあるところで処理出来るDBでかつトランザクションを曲がりなりにもサポートした…

nodejsの"nobody" does not have permission to access the dev dir

gypなライブラリをDockerでnpmからインストールする時に-g付けてグローバルに出そうとすると下記のエラーが出て正常にインストールが出来なかった。 gyp WARN EACCES user "nobody" does not have permission to access the dev dir "/usr/lib/node_modules/…

ラズパイメモ

Setup a simple CI pipeline to build Docker images for ARM · Docker Pirates ARMed with explosive stuff www.ecliptik.com docs.docker.com

JavaでのUT作成基準を整理してみた

チームが小さいとよしなにですむのだけど、大人数になってくると明文化しとかないと結局テストが書かれないのでUTの作成基準とかを整理してみた。 自分のチームで使う想定のイメージで書いてみたけど、体制やプロダクトの性質によっても変わってくるだろうし…

Intel Xeonから見るCPUクロックとコア数の10年間の遷移 - 2017版

タイトルの通りなのですが、良くある「フリーランチは終わった」的な話の資料を作りたくて、CPUクロックとコア数の遷移を追った資料が欲しかったんですがここ最近のものが意外と無かったので作ってみました。 インテル® 製品の仕様情報 - 高度検索 でCPU情報…

lineageメモ

Cloudera Navigatorみたいにファイルの作成をトレースできるツール Hadoop界隈のものしかない? github.com http://atlas.apache.org/ Data Lineage & Big Data Governance: Data Quality & Masking

テキストマイニングメモ

Webページのメインコンテンツの抽出方法。 「HTMLからのメインコンテンツ抽出 (Main Content Extraction)」とか「本文抽出」とか呼ぶらしい。 個別の詳細記事抽出のためのWebページ分割手法の提案 確率モデルを用いたWebブロックの役割推定手法とその応用 半…

Java8を便利にするためのSF(少しFunctional)なライブラリJL2を作ってみた

Java8をもう少しだけ便利に使うための少しFunctionalなライブラリを書いてみました。 github.com Java8からStream APIが増えて随分コーディングが楽になったんですが、まだまだ不満があります。 その一つが多値を扱うTupleが無いこと。StreamAPIでmapを使っ…

分散システムの「キホン」の「キ」 - あるいは普通のWebアプリの作り方

みなさん、分散システムというと何を思い浮かべますか? Hadoopですか? Sparkですか? 現代だと多くの人がそういったイメージを持つと思いますが、調べてみるとそれらは厳密には分散「コンピューティング」に属する技術のようです。 分散システムとはメイン…

Hadoop の時代は終わってないけど、使いどころは限定されてきたかもしれない

id:shiumachi さんが書かれてる下記の記事がとても良かったです。 shiumachi.hatenablog.com 私自身もSparkを触る前は「Hadoop == MapReduce」と思ってましたが、どちらかというとYARNやHDFSがHadoopファミリの核だと最近は思いますし その意味でのHadoopは…

Javaの分散トレーシングとかAPMとか実行時ログとか

メモ的まとめ APM blog.takipi.com www.itcentralstation.com http://www.hawkular.org/hawkular-apm/www.hawkular.org github.com 分散トレーシング http://zipkin.io/zipkin.io http://opentracing.io/opentracing.io ログ系 builder.japan.zdnet.com docs…

形式手法関連のメモ

ソフトウェア工学の道具としての形式手法 形式手法に関して歴史的かつ網羅的にまとめてあった OpenJML 上記でも触れられてたJava向けの拡張静的チェッカ? ECS/Java2の後継? Java8対応らしいので試してみる Home | OpenJML 机上の Kubernetes - 形式手法で…

ゼロから始めるdocker生活 ~ VT-Xなんてない

さて、タイトルで誤解されそうですがこの記事はDockerの入門記事ではありません。 現代的なツールチェインが使えない異世界な気分に浸れる開発環境を与えられたとあるプログラマーの異世界訪問記みたいなものです。 現代的な開発環境を作る上で欠かせない存…

Oracle Exadataは分散システム?

はじめに Oracle Exadataとは? Oracle RAC(Real Application Clusters)とは? ExadataとSmart Scan ExadataとRACと分散ストレージ まとめ 参考 はじめに 最近、Oracle Exadata/RACを触る機会がありました。 個人的にはOracle RAC自体まともに触るのが初めて…

いつのまにかGitのshallow cloneが”Push”も"Pull"もできるように超進化していたよ! すごーい!

git

流行りに乗ってフレンズ用語を活用しようと思って、タイトルで力尽きたブログはこちらです。 はじめに 基本的なpushとpull 元になるリポジトリの作成 shallow cloneリポジトリの作成とPush full-repoとshallow-repoでの相互のpull & push まとめ はじめに 不…