開発ガイド
高速で安定した
サーバーレスバックエンド
Backend as a Service
Hexabaseは高度なBaaS(Backend as a Service)プラットフォームで、データベース管理、API統合、ユーザー認証等の機能を提供し、迅速なアプリ開発と効率的なシステム運用を実現します。
100
>99.99%
平均稼働率
<100ms
APIの平均応答時間
※主要な検索系APIの平均
650
Kubernetesの
アクティブなPod数
※稼働状況によって可変
3000
採用されたプロジェクト数
Frontend and initial security
フロントエンドと
初期セキュリティ
サービスの構築とファイアウォールによる保護
HexabaseでWEBサービス、スマートフォンやタブレット上で動作するモバイルアプリ、 インターネットに接続された物理デバイスであるIoT機器などのサービスを構築・運用することができます。
例えば、マッチングアプリやECサービス、業務管理システム、レポート生成ツール、プロジェクト管理アプリ、 スマートホームデバイスなどがこれに該当します。ユーザーがフロントエンドからサービスにアクセスすると、 まずFW(ファイアウォール)によってトラフィックが監視され、不正なアクセスがブロックされます。これにより、外部からの攻撃が防がれます。
Hexabaseのバックエンドは、マルチテナント対応の「ワークスペース」構造を採用しています。 ユーザーは、ログインセッション中に1つのワークスペースを選択し、そこでプロジェクトを管理します。
ユーザーリクエストは、複数のワークスペースの中から、現在利用しているワークスペースに正しくアクセスされます。
その後、特定のIPアドレスからのアクセスのみを許可するIP制限が適用され、セキュリティがさらに強化されます。 このように、フロントエンドから初期セキュリティレイヤーを通過することで、Hexabaseのサービスが安全に利用できるようになっています。
Workspace
ワークスペース一覧からは、参加可能なワークスペースを確認し、新規追加や検索が可能です。 詳細画面では、プロジェクトの選択や編集、データストアの操作、APIプレイグラウンドでのAPIテストが行えます。
詳しい情報はHexabaseの公式ドキュメントでご覧ください。
Interfaces and access management
インターフェイスと
アクセス管理
マイクロサービスとアクセスコントロール
システムを小さな独立したサービスに分割するマイクロサービスを採用しており、各サービスは独立して開発、デプロイ、およびスケーリングが可能です。 マイクロサービスのHexabase独自の特許技術によるアクセスコントロールにより、認可されたリクエストのみが適切なリソースにアクセスできるようになり、 サービスの開発・運用においてセキュリティと効率を高めています。
マイクロサービスの役割
分離された機能
各マイクロサービスは特定の機能を担当し、独立して動作します。例えば、ユーザー認証、データベース管理、通知サービスなどがあります。
認可と認証
各リクエストがマイクロサービスに届くと、まず認証が行われます。これにより、ユーザーが誰であるかを確認します。
次に、認可が行われます。これはユーザーがそのリクエストを実行する権限があるかどうかを確認するプロセスです。セキュリティ強化
ログインユーザーごとに、保有する権限を瞬時に取得して、すべてのデータアクセスやデータ更新可否の判定を可能にします。
これは、Hexabase社が独自に保有する特許技術です。スケーラビリティと柔軟性
サーバーリソースの利用状況に応じて、無停止で、サービス数を増加したり減少させたりします。 また、新しい機能を追加したり、既存の機能を更新したりする際にも、他のサービスに影響を与えることなく対応できます。
本格的なSaaSや、企業向けアプリ
ケーションを想定した、権限管理
Hexabaseでは、大規模な組織でも簡潔かつ視覚的にわかりやすく且つ詳細に権限管理を設定することができます。
Hexabaseの権限管理システムは、組織ツリー、ロール、およびユーザーの3つの要素を中心に構築されています。
組織ツリー (Organization)
組織ツリーは、会社やチームの階層構造を表します。この構造により、各部署やチームごとに異なるアクセス権限を設定することが可能です。 これにより、組織内のリソース管理が効率的に行え、セキュリティの向上にも寄与します。
ロール(Role)
ロールは特定の権限セットを定義し、そのロールをユーザーに割り当てることで、ユーザーのアクセス許可を管理します。 ロールを使用することで、ユーザーがアクセスできる機能やデータを細かく制御でき、複数のユーザーに対して一貫した権限設定が可能になります。
ユーザー(User)
ユーザーは個々のアカウントを指し、それぞれにユニークな識別子が付与されます。 ユーザーは一つ以上のロールを持つことができ、そのロールに基づいてシステム内のリソースにアクセスできる権限が定義されます。
本格的なSaaSや、企業向けアプリケーションを想定した、権限管理
これを組み合わせることで、複雑なツリー構造を持つ企業でも細かな権限管理を実装することができます。
For Developer
Business Workflow and Data Management
業務ワークフローと
データ管理
業務ワークフローの簡単設定と利便性
Hexabaseでは、直感的なインターフェースにより、業務ワークフローを簡単に設定・管理できます。 ワークフローの各ステージ(新規、受付、作業中、確認中、完了)は、設定により、ノンプログラミングで自由に変更可能です。 さらに、データテーブルやリレーショナルデータの管理と統合することで、タスクと関連データの視覚的な把握と制御が容易になります。
ステータス/アクション
Hexabaseデータベースアーキテクチャ
Hexabaseは、多様なデータベース技術を活用して、様々な用途に対応したサービス提供を実現しています。具体的には、以下のデータベースを使用しています。
Hexabaseデータベースアーキテクチャ
Hexabaseは、多様なデータベース技術を活用して、様々な用途に対応したサービス提供を実現しています。具体的には、以下のデータベースを使用しています。
MongoDB
MongoDBは、ドキュメント指向のNoSQLデータベースで、スキーマレスのデータ構造を持ちます。これにより、データの柔軟なモデリングが可能であり、特に大規模なデータ処理や複雑なクエリに適しています。 Hexabaseでは、迅速なプロトタイピングとデータの柔軟な操作を実現するために使用しています。
ArangoDB
ArangoDBは、マルチモデルのNoSQLデータベースで、ドキュメント、グラフ、キー・バリューのデータモデルをサポートします。この多様なデータモデル対応により、データの関連性を重視したアプリケーション開発に適しています。 Hexabaseでは、複雑な設定データ間の関係性や、ユーザーのもつ権限情報を管理するためにArangoDBを使用しています。
MySQL
MySQLは、リレーショナルデータベース管理システム(RDBMS)で、信頼性とパフォーマンスに優れています。構造化データの保存や複雑なトランザクション処理が求められる場合に最適です。 Hexabaseでは、データの整合性と一貫性が重要なシナリオや、高い暗号化が必要なユーザーデータやセッション情報などの管理するためにでMySQLを使用しています。
Redis
Redisは、インメモリデータベースであり、極めて高速なデータアクセスが可能です。 キャッシュやリアルタイムのデータ分析に適しており、Hexabaseでは、高速なデータ取得が求められる場合や、一時的なデータ保存にRedisを使用しています。
Elastic
Elasticは、全文検索エンジンとして広く知られ、ログやイベントデータのリアルタイム解析に適しています。Hexabaseでは、テキスト内の検索や、 ファイル内検索用に、Elasticのインデックス作成を指定することができ、ワークスペース内のデータを横断的に全文検索するために使用しています。
Hexabaseでは、AI機能の拡充と高度なデータ解析を目指して、VectorDBを導入予定です。ベクトルDBの導入が進行しております。 こちらを導入することで、Hexabase内のデータを利用して、生成AIを活用することができるようになります。現在、生成AIのプロンプトAPIを開発中です。
リレーショナルデータ管理を提供
Hexabaseのデータベース機能は、リレーショナルデータベースのような操作が可能で、MongoDBを使用してデータレコード(アイテム)をドキュメントとして格納し、 関連するアイテムのリレーションもデータリンクとして多対多の関係で格納しています。この仕組みにより、データリンクを事前に結合し、高速な検索を実現します。 また、APIを通じて関連アイテムの操作が可能で、複雑なデータリンクや関係性の設定を容易に行うことができます。
Automation and script execution
自動化とスクリプト実行
Action Scriptとは?
HexabaseのAction Scriptは、特定のイベントやトリガー(APIコールや、データの新規登録、更新など)に応じて自動的に実行されるスクリプトです。 これにより、業務プロセスの自動化やカスタムアクションの実行が可能となります。例えば、データの更新や通知の送信、外部システムとの連携など、 多様なアクションを設定することができます。ユーザーは柔軟にJavaScriptを作成し、業務フローを効率化できます。
- 特定の条件やイベントが発生した際に実行されるカスタムスクリプト
- ユーザーが指定したアクションを自動化
- Hexabase内のnode.jsで構築されたマイクロサービス上で実行されます
Auto Actionとは?
HexabaseのAuto Actionは、指定した時刻や時間間隔でアクションを自動実行する機能です。 ワークスペースごとに、仮想ユーザーとして自動化Bot複数登録でき、ユーザーの代わりにアクションを実行してくれます。
Infrastructure and deployment
インフラストラクチャと
デプロイメント
CI/CD
CI/CDは、ソフトウェア開発プロセスを自動化するためのプラクティスです。HexabaseのCI/CDパイプラインは、ソースコードのコミットからビルド、テスト、デプロイまでのプロセスを自動化します。こ れにより、コードの品質を維持しながら、迅速なリリースが可能となります。典型的なCI/CDパイプラインには、以下のステージが含まれます。
ソースコードコミット
開発者がソースコードをリポジトリにコミット。
ビルドステージ
コードがビルドされ、実行可能なアーティファクトが生成されます。
テストステージ
ビルドされたアーティファクトがテストされ、品質が保証されます。
デプロイステージ
テストに合格したアーティファクトがKubernetesクラスタにデプロイされます。
これらの要素を組み合わせることで、Hexabaseは効率的で信頼性の高いインフラストラクチャを構築し、迅速なデプロイメントサイクルを実現しています。
Docker
Dockerは、アプリケーションをコンテナと呼ばれる軽量で独立した実行環境にパッケージ化するためのプラットフォームです。コンテナは一貫性のある動作環境を提供し、開発から本番環境までの移行を容易にします。 Hexabaseでは、各サービスをDockerコンテナとしてデプロイし、Kubernetesクラスタ上で管理しています。これにより、依存関係の問題を回避し、スムーズなデプロイとスケーリングを実現しています。 コンテナは効率的でスケーラブルなサービス提供を支える重要な役割を担っています。
ネットワーク関連のコンテナ
ロードバランサー(LB)やSSL証明書の管理を行うコンテナ。これらはエンドポイントごとに存在し、Ingressとしてネットワークのトラフィックを制御します。
フロントアプリケーションコンテナ
Webサーバーとして動作し、ユーザーインターフェースを提供するフロントエンドのアプリケーションをホストするコンテナ(フロントアプリ用Pod)。
バックエンドのマイクロサービスコンテナ
バックエンドの様々な機能を提供する複数のマイクロサービスをホストするコンテナ。各サービスは独立したPodとして動作します。
データベースコンテナ
複数の種類のデータベースをクラスタ構成でホストするコンテナ。これにより、データの高可用性とスケーラビリティを実現します。
バッチ処理コンテナ
定期的にCronジョブとして実行されるバッチプログラムをホストするコンテナ。バックグラウンドでのタスク処理を担当します。
監視エージェントコンテナ
システムの動作状態や利用状況をリアルタイムで監視するための多数のエージェントをホストするコンテナ。これにより、システムの健全性を維持します。
バックアップ Patern.1
最も詳細なバックアップ方法で、各データベースコンテナから直接バックアップコマンドを実行してデータを取得し、Hexabaseの共通ストレージに保存します。
迅速で細かなバックアップを必要とする状況に適しており、データベースの個別の状態を確実に保護します。
Kubernetes
Kubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、および管理を自動化するオーケストレーションプラットフォームです。Kubernetesクラスタは、複数のノード(サーバーや仮想マシン)で構成され、 アプリケーションの高可用性とスケーラビリティを実現します。各ノードには、さまざまなサービスを実行するDockerコンテナが配置されます。これにより、Hexabaseはリソースの効率的な利用とサービスの迅速なデプロイを行うことができます。
バックアップ Patern.2
Kubernetesのクラスター全体や特定のリソースを定期的にバックアップを行い、Kubernetes環境でのディザスタリカバリを実現しています。
バックアップデータはストレージに保存します。
System operations and maintenance
システム運用とメンテナンス
クラウドとオンプレミス
Hexabaseは、クラウド上で提供されるBaaS(Backend as a Service)として、多くの企業にとって理想的なプラットフォームです。しかし、それだけでなく、 Hexabaseはオンプレミス環境でも構成可能であるという強力な特長を持っています。この柔軟性により、企業の特定のニーズやセキュリティ要件に応じて、最適なインフラストラクチャを選択できます。
クラウド環境でのHexabase
AWS、Azure、Google Cloudなどの主要なクラウドプロバイダー上でホスティングされ、迅速なデプロイとスケーラビリティを提供します。
コスト効率
インフラの管理やメンテナンスをクラウドプロバイダーに任せることで、運用コストを削減。
スケーラビリティ
負荷に応じてリソースを自動的に調整し、大規模なユーザーやデータを効率的に処理。
迅速な導入
クラウド上で即座にサービスを開始し、拡張可能なインフラを利用。
クラウドプロバイダーのKubernetesサービス
各クラウドプロバイダーは、Kubernetesクラスターを簡単にデプロイ、管理、スケールするためのマネージドサービスを提供しています。
AWS (Amazon Web Services) - Elastic Kubernetes
Service (EKS)【概要】
- EKSはAWSが提供するマネージドKubernetesサービスで、AmazonEC2(Elastic Compute Cloud)インスタンス上にKubernetesクラスターを展開します。
- AWSのインフラストラクチャと統合されており、スケーラビリティや高可用性が保証されています。
【特徴】
- フルマネージド: Kubernetesの管理タスク(パッチ適用、アップグレードなど)をAWSが処理。
- 統合とセキュリティ: AWS IAM (Identity and Access Management) を使ったセキュリティ管理。
- 可用性とスケーラビリティ: 自動スケーリングと高可用性の設定が可能。
【利点】
- AWSの広範なサービスエコシステム(S3、RDS、DynamoDBなど)とのシームレスな統合。
- コスト効率が高く、必要なリソースに応じて柔軟にスケール。
詳細: AWS EKS
Microsoft Azure - Azure Kubernetes Service (AKS)
【概要】
- AKSは、Microsoft AzureのマネージドKubernetesサービスで、Azureインフラ上にKubernetesクラスターを展開します。
- Azureの豊富な機能と統合されており、簡単にクラスターを管理できます。
【特徴】
- シンプルなデプロイ: クラスターの迅速な作成と管理が可能。
- DevOpsツールとの統合: Azure DevOpsやCI/CDパイプラインとの密な連携。
- セキュリティとコンプライアンス: Azure Active Directoryによる認証管理。
【利点】
- AzureのAI、機械学習、データ分析サービスとの深い統合。
- 高度なセキュリティ機能と企業向けのコンプライアンスサポート。
詳細: Azure AKS
Google Cloud - Google Kubernetes Engine (GKE)
【概要】
- GKEは、Google Cloud Platformが提供するマネージドKubernetesサービスで、Googleのインフラストラクチャ上にKubernetesクラスターを展開します。
- Googleの高パフォーマンスなインフラを利用して、Kubernetesを簡単に運用できます。
【特徴】
- 高可用性と自動アップグレード: 自動的にクラスターをアップグレードし、高可用性を維持。
- Google Cloudと統合: Google CloudのAI、ビッグデータ、ストレージサービスとシームレスに連携。
- セキュリティ: セキュリティポリシーの自動適用と管理。
【利点】
- Googleの強力なネットワークとスケーラビリティ。
- Kubernetesの原点であるGoogleの技術を活用。
詳細: Google GKE
Oracle Cloud - Oracle Kubernetes Engine (OKE)
【概要】
- OKEは、Oracle Cloud Infrastructure (OCI) 上にKubernetesクラスターを展開するマネージドサービスです。
- Oracleのクラウドプラットフォームと統合され、高性能なクラスター管理を提供します。
【特徴】
- 高パフォーマンス: OCIの高性能なインフラストラクチャを活用。
- 統合とセキュリティ: Oracleのデータベースやアプリケーションとシームレスに統合。
- 自動化: クラスターの自動スケーリングと管理タスクの自動化。
【利点】
- Oracleのエンタープライズアプリケーションとクラウドインフラの統合。
- 高いセキュリティ基準と信頼性。
詳細: Oracle OKE
ハイパーバイザー
ハイパーバイザー (Hypervisor) は、仮想化技術の基盤となるソフトウェアで、物理サーバー上で複数の仮想マシン (VM) を同時に動作させる役割を果たします。 ハイパーバイザーは物理的なリソース(CPU、メモリ、ストレージ)を抽象化し、仮想化されたリソースとしてVMに割り当てます。これにより、 各VMは独立した環境で動作し、異なるオペレーティングシステムやアプリケーションを同時に実行することが可能になります。
バックアップ Patern.3
ハイパーバイザーを使用して、VMのスナップショットを定期的に取得し、データの安全を確保します。
必要に応じて、スナップショットから迅速にリストアを行い、データの回復を容易にします。
パフォーマンスとスケーラビリティ
効率的なリソース管理とスケールしやすい構成により、ユーザーの需要が急増した際にもスムーズに対応。 ビジネスの成長と変化に合わせてシステムを柔軟に調整し、継続的なサービスの品質向上を追求しています。 お客様に高品質で信頼性の高いサービスを提供し続けることが可能です。
コンテナ技術を活用した
マイクロサービス構成
Dockerコンテナ技術を活用し、高度に冗長化されたマイクロサービス実行環境を実現。これにより、効率的なサーバーリソース管理と安定したパフォーマンスを実現し、システムの安定性を最適化しています。
Kubernetesによる
コンテナオーケストレーション
Kubernetesの導入により、コンテナ化されたアプリケーションの管理が効率化し、スケーリング、ロールアウト、ロールバックなどの機能を利用して、リソースの使用を最適化します。
技術スタック
コンテナ化
Docker
オーケストレーション
Kubernetes
インフラ
ArgoCD
Terraform
OpenTofu
TerraGrunt
システムの安定性
常にトラフィック状況を監視し、システムの安定性を保つためにリソースをコントロールし、必要に応じてリソースを割り当てて処理能力を柔軟に調整します。
CI/CD
CI/CDプロセスを積極的に活用し、コードの統合からテスト、デプロイメントまでのワークフローを自動化しています。毎日のオートテストによりバグの迅速な修正と機能の頻繁なアップデートが可能になり、サービスの持続的な最適化を実現しています。
アプリケーション
モニタリングツール
リアルタイムでのシステムパフォーマンスを効率的に監視し、問題の早期検出と迅速な対応を実現。ダウンタイムの削減やパフォーマンスの最適化を図ることでユーザーエクスペリエンスを向上します。
マルチクラウド環境
Hexabaseでは、マルチクラウド環境の構築が可能です。複数のクラウドプロバイダーを組み合わせた柔軟なインフラを提供し、高い可用性と効率的なリソース管理を実現します。
技術スタック
CI/CD
CircleCI
ArgoCD
Spinnaker
Kiali
モニタリング
Prometheus
Grafana
Datadog
Sonarqube
セキュリティ
厳格なRBAC、SSL/HTTPSを介した安全なAPIアクセス、WAF導入による攻撃防御、AWSの確かなデータセンターセキュリティを実施。 24/365のシステム監視、定期バックアップ、データの暗号化を行い、最高水準のデータ整合性とプライバシーを保証します。
安全性の担保
APIによるデータの操作は、常に細かいロールベースアクセス制御(RBAC)が動作し、アプリケーションデータを保護します。この技術はHexabase社により特許取得されております。(特許6978216)
SSL / HTTPSおよびサードパーティを介したAPIアクセスを通じて、フェイルセーフデータの冗長性を確保。
レイテンシーとスケールを損なうことなく、グローバルまたはリージョナルデータの強力な一貫性を実現します。
データセンターの
セキュリティ(AWS)
サービスは最もメジャーなメガクラウド上で実行されており、物理的セキュリティ、クラウドインフラストラクチャのグローバル証明書、および十分なコンプライアンスに従って運営されております。 特にAWSファンデーショナルテクニカルレビュー(FTR)を通過し、国際公式認証「AWSパートナーソフトウェアパス」に認定されております。
コンプライアンスと
プライバシー
インフラストラクチャエンジニアは、制御ガバナンスモデルを採用しています。
すべてのクラスターまたはリソースには、異なる名前空間とアクセス制御があります。
すべての組織がMFAを使用し、トークンを自動的に期限切れにします。
WAFの導入
WAF(Web Application Firewall)の導入により、Webアプリケーションに対するサイバー攻撃、特にクロスサイトスクリプティングやSQLインジェクションなどの脆弱性を効果的に防ぎ、サービスの安全性を大幅に高めます。
データの安全性
毎日3回以上、3種類の異なるバックアップが実行され、万が一の場合に備えたデータの安全性を高めております。
保存先ストレージは暗号化されており、一定期間保持され続けます。CLIを利用してHexabaseのプロジェクト単位で、管理ユーザーがデータのバックアップを取得することも可能です。
システム監視
サービスの死活監視や、サーバーリソース監視、SSL/ドメインの有効期限などの運用面における監視を実施します。
24時間365日のモニタリングされ、インシデント発生時はアラート通知によりHexabase運営チームへ発報されます。必要に応じてお客様への通知を素早く実施いたします。
すべてのインシデントは履歴に記録され、障害対応レポートや障害時の根本原因についての究明とご報告をいたします。
技術スタック
WAF、ロードバランサー
Cloudflare
利用可能クラウドサービス
AWS
GCP
Azure
OCI
Backend as a Service としてのHexabase
Hexabaseは、IaaS機能、PaaS機能を備え、加えてシステムサービスそのもののバックエンドが必要とする基礎機能(ログイン、ユーザー管理、アクセス制御、データベース、APIゲートウェイ、拡張コードの実装(FaaS))などを提供します。
データベースとAPI
スケーラブルで高速動作するNoSQL系データベースを基礎に、RDBMSライクな設計を適用できるデータストアを実現しました。 スケーラブルでありながら、トランザクション担保され、安全性の高いクラウド時代のデータベースです。 リレーショナルデータモデルを活用できるため、従来システム設計との親和性も高く、既存の設計ノウハウを活用できます。
詳しく見る
ストレージ
添付ファイルのアップロードや参照、ダウンロードを容易に実装できるAPIが利用可能です。 メガクラウド系のStorageの複雑なセキュリティ設定をしなくてもHexabaseのセキュリティ設定に従って権限コントロールされます。 全文検索設定することで、Office文書やPDFなどの中身検索も可能です。
詳しく見る
拡張コードと外部サービス連携
Hexabaseが提供Functionサービスは、NodeJSプラットホーム上で動作するJavaScritptにより記述できます。 Hexabaseデータレコード登録・更新時にトリガー発動され、SmallCodeを記述しておくことで、バックエンド処理の拡張が可能です。 データ登録前にデータチェックを記述したり、登録後に外部サービスと連携する処理を記述可能です。 Webhookを登録しておけば、Hexabase内の更新イベント発生時に外部API連携も可能です。
詳しく見る
リアルタイム通知
Pub/Subモデルを基礎として、データ登録時等のタイミングにてHexabaseから更新通知イベントを取得できます。 SDKを利用して、リアルタイムチャットのような機能も実装可能です。 リアクティブでインタファクティブなUXを実現するために、モダンフロントエンド開発で大きな効果を発揮します。
詳しく見る
認証と権限
Hexabaseに登録されたすべてのデータは、ログインユーザのもつ権限の範囲でレコード単位で閲覧可否がコントロールされます。API利用者が意識しなくても、設定に従って自動でフィルタリングされます。これは、企業業務システムを想定した汎用性の高いコアナレッジの一つであり、特許査定されています
詳しく見る
エンタープライズ
Hexabaseは、エンタープライズ向けの開発も得意としています。独自のドメイン名の付与や、ソース元IPによる制限をかけることが出来ます。
詳しく見る