エンジニアが創るワクワクする世界

さび開発

SRE, Kubernetes, Rust, Golang, Scala, ChatBot, Devops, Automatoer, DDD

2017-06-01

さび開発

main

Information concerning services

  1. Code as Infrastructureの戦略によるインフラの構築
  2. サービス特性にあったアーキテクチャー、ミドルウェアの構築
  3. 主にRust、Scala、GolangによるWebアプリケーションの構築
  4. 開発/運用を支えるDevopsの環境と体制の構築

Infrastructure building
using GCP

gcp

CloudPlatformを活用し、少人数でもドメイン開発に注力できるインフラ基盤を構築。
GCPはCloudPlatformとして後発であるため、システムに必要なサービスが全て提供されていない場合、 一部のサービスをAWS、SaaSとの併用、またはOSSをマネジメントするなどの適切な選択が必要。
進化していくCloudPlatformの情報を随時キャッチアップすることで、時流、要件にあったサービス選択を実現。

GCPでの主な活用サービス

App Engine、Coupute Engine、Container Engine、Cloud Functions、Cloud Storage、Cloud SQL、Cloud Bigtable、Cloud CDN、BigQuery、Cloud Dataflow、Cloud PubSub、StackDriver

Service development using kubernetes(GKE)

k8s

Kind:Deploymentを利用したBlue Green Deploeyment、Canary Deploymentの実現
Kind:StatefulSetによる永続化層の構築(ElasticSearch)
Kind:DaemonSet使ったFluentd Aggregatorの構築
NodePoolを活用したサービス無停止のK8Sアップグレード
Kind:Jobによるバッチ処理
Productionレベルで1年以上の運用経験を元に多用な要求を実現(2017年06月時点)。

Application development using Multi lang

lang

Rust: Rocket
Scala: Finch(Finalge), Light DDD, Minimal Cake Pattern, Akka, Playframework, Slick
Golang: golide, eho, gomock, ginkgo
その他の業務経験言語: PHP、Java、C#、Python、Perl、Lisp

Building The DevOps Mindset

devops

マイクロサービスなどの複雑なアプリケーションを継続的にデプロイし、心理的安全性を保つ開発環境の構築
継続的インテグレーション、デプロイメントにはWerker、Shippable、Circle CI、Cloud Container BuilderなどのSaas、またはScrewDriver CD、Concourse CIなどのOSSを適宜選択
ケースにより開発手法そのものを見直すことでサービス品質の向上を実現

Site Reliability Engineering

サービス、アプリケーションの特性を考慮した、ミドルウェアの設計からチューニング
100,000 RPSオーバーなトラフィックを安定稼働させるバックエンドの構築
マイクロサービスの可用性と性能を向上させるサービスメッシュの構築
Prometheusを活用したモニタリング環境の構築
サービス、ミドルウェア、アプリケーションのエラー検知システムの構築

Tech Roles Beyond Software Engineering

middleware

より良いサービスを作るため、ソフトウェアエンジニアの領域を超える

Profile

watawuwu

さび開発 松井 渉(まつい わたる)

株式会社ゆめみにて大規模なEC、クーポン系モバイルサイトの開発、運用を経験。
Nubee Ptd Ltd.にてスマートフォン向けソーシャルゲームの開発、運用を行い、後にゲームの開発基盤となる認証セキュリティ、モバイルPush通知、課金システム、分析基盤の改善と再構築を担当。
株式会社サイバーエージェントにおいては、東京リージョンが公開される前のGCPを全面的に採用するなど、事例の少ない技術であっても魅力があり、投資する価値のある技術に積極的に挑戦。
またテックリードとして、GCPのサービスを活用しながらKubernetesを使ったWebサービスの構築も手がける。

開業後は多様な経験を活かし以下の業務をメインに請け負う。
Software architectureとしてドメインに注力できるシステムを構築
Site Reliability Engineerとして高い信頼性と性能を発揮するインフラを構築
Software EngineerとしてGolang、Rust、Scalaを使ったアプリケーションを構築