たかぎ

3年後の目標や野望


WIP

### 何がしたいか - ユーザーが感じる不快感やミスマッチ感に素早く対応可能なサービス基盤の構築・改善・運用 - パブリッククラウドからリリースされる新機能の検証と新規導入 - Kubernetes, IstioなどのOSS活用によるサービス開発者の負担減およびリリースサイクルの速度向上 - インフラエンジニアからSREへのキャリアチェンジ ### なぜそれらをしたいか - サービス提供側の私達が、水の中の魚のように自由で活発に動けること、そして自分たちが作り出す工程を楽しめることを重視したいため。 - ストレス過多な日々を数%でも楽にできれば、心身の重さを少しでも減らせれば、あらゆる循環の効率が良くなると推察しているため。

年収評価シート

2020年/1ヶ月以内

既存AWS環境への機能追加

## プロジェクト概要 AWSで稼働予定のサービスに対し、障害時・メンテナンス時に任意の画面を表示させる。 ## 取り組み概要 - CloudFront -> ALB -> Amazon EKSクラスタ -> Pod(nginx) 接続経路の作成 - サービスメンテナンス時はALBリスナールールを用いてCloudFrontの特定のパスへリダイレクトし、S3のアセットへルーティングする。 - サービス障害時はALBから返ってくるエラーコードで評価を行いCloudFrontからS3のアセットへルーティングする。 - チームメンバーが各々の個人環境を作成する際、AWSリソースが重複しないよう次の点で工夫。 - CloudFront、ALB、ターゲットグループ、EC2インスタンス、Route53ドメイン、Istioリソース(VirtualService)において個人の識別名(4文字以内)を含めたAWSリソースを作成。 - IstioリソースとKubernetesマニフェストファイルはAnsibleとKustomizeを組み合わせているため、Ansible内でIstioリソース(VirtualService)に記載するFQDNにダミー文字列を予め仕込んでおき、Ansible実行時に個人の識別名で置換するよう修正。 - EKSクラスタ内で検証環境を五つ作成する必要があったため、Namespaceを五つ作成し論理的なクラスタを作成。 - 作成したNamespaceへのトラフィックルーティングはistioリソースのVirtualSerivceで記載し、クライアントがアクセスしたFQDNによってどのNamespaceにルーティングするかを設定。 - CloudFront -> ALBを経由したアクセスのみ受け付ける外部ネットワーク専用のistio-ingressgatewayを作成。内部用と外部用を分割することで、アクセスできるPodの範囲を限定。上述のVirtualServiceでは外部ネットワーク専用のisito-ingressgatewayにバインドされている。 今後、CloudFrontに対しWAFを追加し、こちらもTerraformで管理する方針です。 CloudFrontおよびWAFのモニタリングはDatadogやKinesis Data Firehoseで行います。

2021年/3ヶ月以内

Amazon EKS スケーリング動作検証

## プロジェクト概要 - Cluster-AutoscalerによるEKSノードのオートスケール動作検証 - Cluster-AutoscalerおよびHorizontal Pod Autoscalerを組み合わせた動作検証 - AWS Node Termination Handlerを用いたスケールイン時のPod正常終了及びDraining動作確認 ### プロジェクト遂行理由 - 既存サービスへの機能追加によるトラフィック量が増大が見込まれるため、 Podの水平スケールだけでなくWorkerNodeの水平スケールも行うことで、 EKSクラスタの拡張性および柔軟性を確保する。 - WorkerNodeの水平スケールに関する知見が他プロジェクトにも無かったため、 今後のサービス拡張において有用となる実績を作る。 ## 取り組み概要 - AmazonEKSへCluster-AutoscalerならびにHorizontal Pod Autoscalerの組み込み - 上記プロダクト組み込みの際に必要となるAWSリソースの特定とTerraformコードへの落とし込み - 検証日程・検証パターンの作成、動作検証の実施 - 顧客要件に合わせたスケーリング動作のカスタマイズ - K8sのPriorityClassを用いたPodスケジューリングタイミングの調整 - AWS CLIを用いたシェルスクリプト(100行程度)を作成し、AutoScalingグループのコントロール - AWS NodeTermination Handlerの導入に併せてAutoScalingライフサイクルフック,EventBridge,SQSのセットアップ ## 取り組み詳細 - Cluster-AutoscalerとHorizontal Pod Autoscalerに与えるパラメータは各環境において異なるため、差分の吸収はAnsibleで行い、Kustomizeとkubectlで環境構築を行った。 - AmazonEKS含むAWS環境はTerraformでコード化しGitリポジトリで管理するため、動作要件の調査とTerraformコードの調査と実装は並行して行った。 - スケールイン時の動作を確認すると、ingressgatewayやアプリケーションPodが外部からのヘルスチェックに応答しない動作が見えたため、AWS NodeTerminationHandlerでNodeのTerminatingを検知し、PodのdrainとNodeのcordonを行うことで別NodeでPodを起動させ、ヘルスチェックに応答しない動作を解消。 - istio-ingressgatewayのTerminating時に確立済みコネクションの正常終了ができていない挙動を確認したため、lifecycle.preStop.exec.commandでsleepを行い、sleep後にSIGTERMをpilot-agentプロセスに送信することでタイムアウトによるHTTPコネクションエラー対策を実施。 - 検証スケジュールの作成は、機能ごとの大項目からタスクを分割し、タスクからサブタスクを作成。1サブタスクあたり2時間から4時間といった粒度で作業時間の見積もりを行い、日次で進捗報告を行う。 ## 次に活かせる学び - Cluster-Autoscalerの動作検証が行えたこと。 - スケールイン時にはPodDisruptionBudgetによるPod evictやNodeのcordon/drainなど、基本的な動作について学ぶことができた。 ## このプロジェクトを踏まえた今後について - 今後はこれらのスケーリング要素が標準になると想定しているため、次回以降は設計から担当させて頂けるよう進言し、柔軟かつ堅牢なサービス基盤の要素として取り入れていきたい。 - オンデマンドのEC2インスタンスでEKSクラスタを構築したが、スポットインスタンスの場合にはどのようなパラメータ(ツール)がありどれくらいにすると良い感じになるか? またスポットインスタンスをEKSノードとして運用するにあたり注意点は? といった内容についてもっと深堀する。 - アプリケーション開発者がPodに情報を持たせるconfigmapやsecretに更新があった場合にPod側の再読み込みを自動化するツールなど、監視や運用サポートツールに対する知見も積極的に吸収する。

2020年/1年以内

システムのAWS移行に伴うマイクロサービス化と基盤構築

### 担当箇所 ##### 構成管理 - TerraformとAnsibleを用いた個人開発環境、開発環境(dev)、ステージング環境(stg)、プロダクション環境(prd)の構築 個人開発環境は、開発環境と同じアカウントで作成を行いますが、個人の識別名を変数化し、terraform apply実行時に必ずユニークな文字がリソース名に付与される仕組みを採用し各個人の環境を作成します。 - AnsibleとKustomizeを組み合わせEC2インスタンスのパラメータ設定とEKS内部の構築自動化 - Amazon EKSのNamespaceとIngressGatewayによる開発環境の複数面対応 開発チームの検証環境が1つだけだと様々なバグの修正を行いテストまで完了させるためには、どうしても複数の環境が必要となりました。 Route53でサブドメインを複数作成しALBのALIASを紐付け、 istio-ingressgatewayでFQDNによるトラフィックのNamespace振り分けを採用し、 AmazonEKS内で複数の開発環境を擬似的に構築しています。 ##### Istio (Envoy-Proxy) - Istio機能検証(IngressGateway, Gateway, VirtualService, DestinationRule, ServiceEntry) IngressGatewayが何らかの原因により機能しなくなった場合を想定し、 IngressGatewayの冗長化を目的としたPodAffinityを活用し、異なるAZのワーカーノードへPodを配置する検証を行いました。 - フロントエンドからバックエンドに対する通信において、コネクション効率を考慮したEnvoy-SidecarでのHTTP1.0 < - > gRPC変換の動作検証 EKSクラスタを2つ用意し、 1つ目のクラスタ(Webクラスタ)はWebUIを提供するnginxコンテナとバックエンド連携するAPIを配置。 2つ目のクラスタ(APIクラスタ)はマイクロサービス化されたAPI群を配置。 WebクラスタからAPIクラスタ間の通信はHTTP1.0(REST)ですが、APIクラスタ側ではAPI PodのEnvoy-SidecarでgRPCへの変換を行う形での検証を行いました。 - サービス提供を行うアプリケーションPodに対しL7レベルの監視を行うため、Envoy-Sidecarでのアクティブヘルスチェック検証および実装 サービス監視手段の冗長化として、ELBからのヘルスチェックの他に、Envoy-FilterのL7ヘルスチェック機能を採用しました。ヘルスチェックの結果はPodのログに出力されるため、Datadogによるログモニタに組み込むことでアラート通知することで運用チームへの通知を行います。 ##### モニタリング - DatadogとAWSのインテグレーションとモニタリング - TerraformからDatadogで、監視定義コード化とgit管理 Terraformを使用した監視定義のコード化を行うことで、バージョン管理や他のプロジェクトでも再利用できる形にし、開発効率および運用・監視定義更新の利便性が向上されました。 ##### CI/CD - GitLab Runnerを用いたDockerプライベートリポジトリへのDocker Image Pushパイプライン構築 - デプロイフレームワークのArgoCDを用いたKubernetes環境へのデプロイ環境の構築(app of apps) 多くのアプリケーションPodのデプロイを一度の操作で行うようにするべく、 ArgoCDのApp of Appsを活用し、デプロイ時(運用時)の手順簡略化に貢献しています。 App of Appsのデプロイイメージとしては、親となるリポジトリのデプロイ操作を行うことで、 子として紐付く複数のアプリケーションコンテナが同時にデプロイされる仕組みです。 ##### その他 - Jira を用いたスクラム、チケット管理、進捗確認 - Confluenceでドキュメント類の作成、更新 - 社内Istio勉強会(資料作成、メインスピーカー) - 業務を進める上でのコミュニケーションは次の方式で行いました。 デイリースクラムで現在の担当チケットおよび進捗状況、ブロック要因の有無について連携。 簡易的な連絡はMattermostで行い、認識合わせや詳細な情報共有についてはZoomなどを活用。

2020年/3ヶ月以内

YouTubeライブ Web番組表(自主制作)

## 制作目的 - 自分専用のYouTube Live番組表を表示する。 ## 画面表示概要 - テーブルに登録したYouTubeチャンネルのライブ情報およびライブが行われているかの状態を表示する。 - 現在時刻から2時間前以降の当日のライブの情報を表示する。 - ステータスは、ライブ開始前であれば「Upcoming」、ライブ中であれば「Live」を表示する。 ## 内部処理概要 - YouTubeチャンネルのIDを元に、当日に行われるYouTubeライブの時刻・タイトル情報をAPI経由で取得する。 - YouTube Data API v3を用いる。 - 情報取得は毎時10分、30分、50分に自動実行する。 ## Channel テーブルへのデータ追加手段 - 対象のチャンネル情報をCSVファイルで用意し、Django管理画面から一括追加を行う。

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
あり
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
あり

今後、身につけなければいけないと思っている技術は何ですか?

- AWS/GCP環境における設計パターン、ベストプラクティス - IaC, CI/CD, モニタリング, パフォーマンスチューニングなどDevOps/SRE領域 - サービス基盤(インフラ)チームでのアジャイル(スクラム)導入と活用方法について - 人に説明する、話す、伝えること、相手と認識の擦り合わせをスムーズに行いコミュニケーションを楽しいものとする。 - 日常会話レベルの英語(海外のバーチャルYouTuberが急増したことと、ビジネスでも少しずつ活用していきたいため)

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

- 心理的安全性が高く、個人の”得意”を伸ばしやすい環境。 - 人格を否定せず改善案を出し合える環境 - キツい(強すぎる)言葉はなるべく避ける環境 - 業務負荷を特定の誰かに集中させない環境 - 任意の技術のスペシャリストとなってもらいメンバー間で共有できる環境

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
好きな規模
水とプログラミングどっちが大事?
自信を持って人より秀でていると言える点
学習能力 / 責任感 / 巻き込み力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
一緒に働く人
やりたくない分野
SI / 医療・介護 / 広告 / ファッション
その他の特徴
使用言語にはこだわらない / 新しい技術はとりあえず試す
その他のやりたいこと・やりたくないこと

### やりたいこと
- OSSやパブリッククラウドの新機能検証と導入、提案、構築、改善
- 自分の価値観の具現化
- 個人に`最適化`したあらゆる事柄(状態)の適用。
- 自分の好きなこと、得意なことを、好きな時間に、好きな場所でやれること。
- 仕事、趣味、コミュニティの設立、参加など。
- 行き着くところは、極力`我慢をしなくてよい`こと。
- バーチャルYouTuber、バーチャルライバーに関連するサービス・プロダクトの運営
- `個人の最適化`のための一つの手段として。
- なりたい姿で、自分の好きなことをたくさんして欲しい。
- ライバーさんとリスナーさんのやりとりを見るのが楽しく、コミュニティを技術で支えたい。
- 学校・職場・社会で生きる上で多くの縛りを受けていても、サービスを利用する時は何にも縛られずに伸び伸びと活動してほしい。
- 人と仕事の関係、人と人の関係をより良いモノにしたい
- 多くの人が仕事を辛い・キツい・面白くない・常に我慢していると感じていることに違和感を覚える。
- 職場の人間関係、仕事の内容などの理由から肉体的・精神的に大きな負荷が掛かっている人もいる。
- 人と人(職場)、人と仕事のマッチングを数十分で済ませられる物ではないと思う。
- 人の`得意なこと`, `好きなこと`, `大切にしていること`を尊重する
- 得意なことを把握できると何を相談しやすいかがより明確となる。
- 好きなことを把握できると相手にシェアできる情報量が増える。
- 大切にしていることを把握できると「こういう状況で」「何をしたいか」を予想しやすくなる。
- 相手と丁寧に接して相互の利益となることを目指したい。

### やりたくないこと
- 動作の重たいExcel/Wordに長時間向き合う
- 大量の印刷物を納品すること(膨大なデータの印刷範囲の指定がつらすぎたため)
- 紙を印刷、押印し、PDF化してメールで送るような作業
- とても多くの時間と労力を必要とするため、極力省いて業務に集中したいため。
- 10年以上前の技術を刷新せず使い続けること。
- 比較的新しい技術やツールを取り入れる文化が無いような職場で働くこと
- 誰もが非効率と思いながらその手法を続けること。

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で30代中盤
好きな Text Editor
vscode
希望勤務地
東京都 / リモート勤務
集まる必要性がない場合は基本リモートが許可される環境が必要
希望年収
480万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?