e-ZUKA Tech Night vol.47 -CloudQ9最終成果発表会-

19:00-19:05 e-ZUKA Tech Nightよりご挨拶 / e-ZUKA Tech Night幹事 谷口耕平 19:05-19:10 九州工業大学PBLのご紹介 / 九州大学小出洋先生 19:10-19:40 成果発表 第一部 "e-ZUKA Tech Evening" Cloud Q9最終成果発表会 19:00-19:15 『StudyBooster』 続きを読む
0
eZukaTechNight @eZukaTechNight

めっちゃミスる巨大なExcel手順書。 そしてパブリッククラウド登場。 構成管理ツール(Chef,puppet,ansible)登場。 サーバーをコード操作、構築する時代へ。 #ezuka_tech_night

2019-02-07 20:00:33
eZukaTechNight @eZukaTechNight

コードで書けるようになったので、自動化、コード管理、レビュー、CI。普通のソフトウェア開発のツールがインフラにも適用可能に。 #ezuka_tech_night

2019-02-07 20:01:23
eZukaTechNight @eZukaTechNight

サーバー環境がポータブルに。 VMだとOSがいるが、コンテナだと必要なライブラリだけあればいい。 起動、停止が拘束に。手軽にサーバーを増やせる。 クーバネティス。 #ezuka_tech_night

2019-02-07 20:03:18
eZukaTechNight @eZukaTechNight

Kubernetes=コンテナありきの構成管理。 #ezuka_tech_night

2019-02-07 20:03:43
eZukaTechNight @eZukaTechNight

今まで構成を管理するツールはあったけど、レプリカセットやスケーリングロジックなどクラスタ管理に必要な要素を含めコード化した。 #ezuka_tech_night

2019-02-07 20:04:20
eZukaTechNight @eZukaTechNight

IaCの1つの最終形が見えつつある。 #ezuka_tech_night

2019-02-07 20:04:46
eZukaTechNight @eZukaTechNight

障害起きた後の対応はまだまだ人手。サーバーはいつ落ちるか分からない。運用エンジニアは根暗になっていく。 #ezuka_tech_night

2019-02-07 20:06:36
eZukaTechNight @eZukaTechNight

不安はエンジニアリングで解決。 サイトがちゃんとしているを可視化。 SLO、エラーバジェット。 数値にすることで関係者の共通の言語を作る。 #ezuka_tech_night

2019-02-07 20:08:11
eZukaTechNight @eZukaTechNight

数字にすることで自分たちの成果が数字になって見えてくる。 #ezuka_tech_night

2019-02-07 20:08:37
eZukaTechNight @eZukaTechNight

クラウドネイティブとは? resilient, manageable, observable, allow engineers to make high-impact changes, open source/vendor-neutral #ezuka_tech_night

2019-02-07 20:11:36
eZukaTechNight @eZukaTechNight

サーバインフラの開発運用/SREは面白い。学生の皆さんはぜひ! そういうのに興味ある学生さんをGMOペパボは募集しています。 #ezuka_tech_night

2019-02-07 20:14:12
eZukaTechNight @eZukaTechNight

続いてクックパッドの笹田さんによる「Ruby 2.6 と Hash オブジェクトの実装」 #ezuka_tech_night

2019-02-07 20:17:01
eZukaTechNight @eZukaTechNight

ExperimentalだけでどJITやASTが入ったよ。 #ezuka_tech_night

2019-02-07 20:19:33
eZukaTechNight @eZukaTechNight

Rubyの用途はRoRが多いけど、その環境下では遅くなってしまうことからJITは実験的なリリース。 #ezuka_tech_night

2019-02-07 20:20:14
eZukaTechNight @eZukaTechNight

もっといろいろたくさんあるのでクックパッドの記述した解説記事をみてください。 #ezuka_tech_night

2019-02-07 20:21:29
eZukaTechNight @eZukaTechNight

本番環境で利用を目指したコードカバレッジ計測機能を追加。 #ezuka_tech_night

2019-02-07 20:22:50
eZukaTechNight @eZukaTechNight

Proc#callが1.4倍高速に。block.callが2.62倍高速に。 メモリ管理にTransient heapを新規に導入。 #ezuka_tech_night

2019-02-07 20:23:45
eZukaTechNight @eZukaTechNight

malloc/freeは重く断片化が進む。若いオブジェクトについては専用ヒープを使って、長生きしそうな場合に移動するよう変更。 これを特定のオブジェクト=Array,Object,Struct,小さなでサポート。Stringはまだサポートできてない。 #ezuka_tech_night

2019-02-07 20:25:14
eZukaTechNight @eZukaTechNight

Arrayは1.5倍、Hashも1.5-2倍高速に。これをするためにHashtableをいじった。今日はこの話。 #ezuka_tech_night

2019-02-07 20:25:51
eZukaTechNight @eZukaTechNight

Hashの実装。Open addressing hash tableを利用。 #ezuka_tech_night

2019-02-07 20:26:43
eZukaTechNight @eZukaTechNight

objのハッシュを計算し、ハッシュテーブルのサイズでmoduleした場所にデータを挿入。 #ezuka_tech_night

2019-02-07 20:28:16
eZukaTechNight @eZukaTechNight

Hashの利用事例を調べるとそのサイズはとても小さかった。なので小さなデータに対して空間効率の良いHashを実装するのが良い。 #ezuka_tech_night

2019-02-07 20:29:19
eZukaTechNight @eZukaTechNight

小さいデータ量であればO(1)でなくてもシーケンシャルに検索するのもありでは? #ezuka_tech_night

2019-02-07 20:30:38