Skip to content

Instantly share code, notes, and snippets.

View evalphobia's full-sized avatar

evalphobia

View GitHub Profile
(() => {
// initialize app
function init() {
_firebaseInit()
_firebaseAuthInit()
}
function _(el) {
return document.getElementById(el);
@evalphobia
evalphobia / benchmark_test.go
Last active December 26, 2019 11:40
Golang Benchmark for Slice Map Decoder of DynamoDB result on github.com/evalphobia/aws-sdk-go-wrapper
package dynamodb
import (
"fmt"
"testing"
"github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute"
)
func BenchmarkToSliceMap_old(b *testing.B) {
@evalphobia
evalphobia / example.go
Last active December 23, 2019 04:19
How to use context.Cancel: Execute multiple process and gets the single fastest result.
package example
import (
"context"
)
// Executor is example process.
// This might be, downloading data via http / reading data from local big file / waiting data from client etc...
type Executor interface {
Exec() (data interface{}, err error) // this might take a long time.
@evalphobia
evalphobia / ssh_notify_to_slack.sh
Created October 24, 2016 03:07
Send Slack to SSH login alert
#!/bin/sh
# original from http://sandrinodimattia.net/posting-successful-ssh-logins-to-slack/
if [ "$PAM_TYPE" != "close_session" ]; then
whitelist="127.0.0.1 localhost" # change here
is_white=0
# check authorized host
for HOST in $whitelist
@evalphobia
evalphobia / benchmark.csv
Created September 5, 2019 07:42
Benchmark DeepLearning performance of GPU on GCP AI Platform (Cloud ML Engine)
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
(wip)

負荷の管理

  • 100%の時間 利用可能なサービスはない
    • 配慮のないクライアント
    • 50倍の要求
      • (訳注: 上記2つはPokemon Goのことでもある)
    • スラフィックのスパイク
    • 海底ケーブルの切断
  • 私達のサービスに依存するユーザーがいる

SRE: Reaching Beyond Your Walls

  • GoogleでSREの実践を始めて14年経過
  • 最初のSRE本を出してからのこの2年間は興味深かった
    • SREを実践する人や企業が想像以上に増えた
    • Google以外のエコシステムの拡大とSREの将来の予測の難しさ
      • いくつかのトレンドあり
  • この章ではこれまでに見てきたことと結論づけたことを記載
@evalphobia
evalphobia / The_Site_Reliability_Workbook.ch06a.md
Last active January 26, 2019 10:33
The Site Reliability Workbook: Chapter 6 (part A)

Chapter.6 トイルの排除 (Eliminating Toil)

  • GoogleのSRE: 最適化に時間を使う
    • コンピューティングリソースだけでなく、時間の使い方も最適化する
    • トイルに時間を使いたくない
    • トイルに関する包括的な話はSRE本の5章参照
    • この章でのトイルの定義:
      • サービス維持に関するもので、繰り返され、予測可能な一連のタスク
  • 本番運用にトイルは避けられない

オンコール

  • オンコール

    • 緊急対応とその準備
    • SREはよくオンコール対応要員として必要になる
    • SREは必要に応じてインシデントの診断・緩和・修正・エスカレーションをする
    • さらに加えて、緊急でないものについても見ている
  • GoogleのSRE

  • オンコール対応

@evalphobia
evalphobia / ptquery_mail_qiita.rb
Last active November 1, 2017 20:06
RDS(MySQL) log analyzer using pt-query-digest and https://github.com/wvanbergen/request-log-analyzer
#!/usr/bin/env ruby
require "qiita"
require "slack-notifier"
require "aws-sdk"
require 'yaml'
require 'json'
class RDSLogDownloader