クラウドソリューション & インフラ
ビジネスの成長に合わせて拡張するクラウドネイティブインフラを設計します。初期移行から継続的な最適化まで、クラウドエンジニアがシステムのパフォーマンス、セキュリティ、コスト効率を確保します。
提供するもの
- クラウドアーキテクチャ設計と移行戦略
- Dockerとオーケストレーションによるコンテナ化デプロイメント
- 迅速で信頼性の高いリリースのためのCI/CDパイプラインの自動化
- 再現可能な環境のためのInfrastructure as Code
アプローチ
- 現在のインフラとボトルネックの評価
- ワークロード要件に基づくクラウドプロバイダーの選定
- ゼロダウンタイム戦略による段階的な移行
- コスト最適化とパフォーマンスモニタリング
プラットフォーム
- AWS — EC2, S3, Lambda, RDS, CloudFront
- DigitalOcean — Droplets, Kubernetes, Spaces
- Docker & コンテナオーケストレーション
- Terraform & Infrastructure as Code
監査から切り替えまで:移行の進め方
まず、会計士が帳簿を読むように既存インフラを精査します。何が動いているのか、いくらかかっているのか、障害時に何が壊れるのか。この監査から、フェーズごとに分割された移行計画を作成し、本番環境に手を加える前に各フェーズのロールバックポイントを文書化します。データベースはレプリケーションを張ったうえで最後に移行するため、最終的な切り替えは一か八かの賭けではなく、DNSの変更だけで済みます。
構築するものはすべて、初日からコードとして定義します。サーバー、ネットワーク、DNS、デプロイパイプラインはバージョン管理された構成ファイルに収められるため、2つ目の環境はコマンド一つで用意でき、2019年に誰かが手作業で設定したサーバーに依存することもありません。安定稼働後はコストとパフォーマンスのモニタリングを整備し、30日後にレビューを実施して、実トラフィックの下でしか現れない想定外の問題を洗い出します。
AWSとDigitalOcean、どちらを選ぶべきですか?
ワークロードがデータベース付きのWebアプリケーションで、トラフィックが予測可能なら、DigitalOceanが適しています。運用はよりシンプルになり、請求額はAWSのおよそ半分で済みます。一方、きめ細かなIAM、Lambda、SQS、マルチリージョンフェイルオーバー、あるいはエンタープライズ顧客が求めるコンプライアンス統制など、DigitalOceanにはないマネージドサービスが必要ならAWSです。私たちは両プラットフォームで日々本番システムを運用しており、提携関係ではなく実体験に基づいた見解として推奨しています。
自社プロダクトのRukrok、Komerce、Charglyは、それぞれのニーズに応じてAWSとDigitalOceanに振り分けた、まさにこのアーキテクチャ上で稼働しています。上記のトレードオフは、自社の請求書から得た知見です。多くのお客様はKubernetesが必要だと考えていますが、実際にはほとんどの場合不要です。ロードバランサーの背後に数台のDockerホスト、マネージドデータベース、自動バックアップという構成で驚くほど広い範囲をカバーでき、エンジニア1人で運用できます。
クラウドチームとの協働の進め方
移行案件は通常、固定スコープで進めます。監査後に移行全体の見積もりを提示し、フェーズとロールバックポイントを契約書に明記します。継続的なインフラ業務は、環境規模に応じた月額リテイナー契約で対応し、モニタリング、パッチ適用、コストレビュー、障害発生時の対応コミットメントをカバーします。いずれの場合も、作業を行うエンジニアとSlackで直接つながれます。何千もの顧客で平準化されたチケットキューではありません。
私たちは、お客様がいつでも契約を解除できる状態を意図的に保っています。すべての環境がバージョン管理されたコードと文書化されたランブックから再現可能なため、有能なDevOpsエンジニアであれば誰でも引き継げます。分かりにくさでロックインを作る会社もありますが、私たちは役に立ち続けることでお客様に選ばれたいと考えています。プロジェクト進行中は毎週サマリーをお届けし、何が変わり、いくらかかり、次に何を推奨するかをお伝えします。
標準化しているツール
パッケージングにはDockerを使用します。ラップトップで動くコンテナは、本番でも同じように動くからです。インフラのコード化にはTerraformをAWS・DigitalOcean両方で採用し、環境は『記憶』ではなく『宣言』で管理します。パイプラインにはGitHub ActionsまたはGitLab CIを、データベースはほぼすべてのケースでセルフホストよりマネージドのPostgreSQLまたはMySQLを選び、誰も見ないダッシュボードではなく、地味でも十分に文書化されたモニタリングを整備します。
AWSではEC2、S3、RDS、Lambda、CloudFrontを、DigitalOceanではDroplets、マネージドデータベース、Spacesを中心に使用します。ポータブルな代替手段で十分な場合には、主にプラットフォーム依存を深めるためだけに存在するサービスは避けます。この抑制が、請求額の削減と移行のしやすさにつながります。プロプライエタリなサービスが本当に価値を発揮する場合には採用しますが、そこから離れる際に何が必要になるかをドキュメントに明記します。
クラウドソリューション & インフラにKodeniqueを選ぶ理由
Rukrok、Komerce、Charglyは、お客様に導入するのと同じAWSとDigitalOceanのアーキテクチャで稼働しています。
Kubernetesが不要な場合ははっきりお伝えします。多くのワークロードはDockerホストとマネージドデータベースのほうが安価に運用できます。
移行は段階的に進め、本番環境に手を加える前にロールバックポイントを文書化し、データベースはレプリケーションを張って最後に移行します。
すべてがバージョン管理されたコードから再現可能なため、属人化したサーバーにも、私たちにもロックインされることはありません。