Tương quan dữ liệu telemetry với Amazon OpenSearch Service và Amazon Managed Grafana

Tác giả: Balaji Mohan, Muthu Pitchaimani và Senthil Ramasamy
Ngày đăng: ngày 03 tháng 4 năm 2025

Danh mục:  Amazon Managed Grafana, Amazon Managed Service for Prometheus, Amazon OpenSearch Service, Intermediate (200), Monitoring and observability

Khắc phục sự cố cho một ứng dụng doanh nghiệp phân tán lớn và phức tạp liên quan đến các thách thức như theo dõi các yêu cầu qua nhiều dịch vụ, xác định các điểm nghẽn hiệu suất trên toàn bộ ngăn xếp (stack), và hiểu các lỗi dây chuyền (cascading failures) giữa các dịch vụ phụ thuộc. Khách hàng thường cần làm việc với các dữ liệu riêng lẻ (isolated data) để xác định nguyên nhân cốt lõi (underlying cause) của vấn đề. Bằng cách tương quan các tín hiệu khác nhau như log, trace, metric và các chỉ số hiệu suất khác, bạn có thể có được thông tin chuyên sâu (insight) giá trị về nguyên nhân gây ra vấn đề, ở đâu và tại sao.

Amazon OpenSearch Service là một dịch vụ được quản lý để triển khai, vận hành và tìm kiếm dữ liệu ở quy mô lớn trong AWS. Amazon Managed Grafana là một dịch vụ trực quan hóa dữ liệu an toàn để truy vấn dữ liệu vận hành từ nhiều nguồn, bao gồm Amazon OpenSearch Service.

Trong bài viết này, chúng tôi chỉ cho bạn cách sử dụng các dịch vụ này để tương quan các tín hiệu khả năng quan sát (observability signals) khác nhau giúp cải thiện phân tích nguyên nhân cốt lõi (root cause analysis), từ đó dẫn đến giảm Thời gian Trung bình để Giải quyết (Mean Time to Resolution – MTTR). Chúng tôi cũng cung cấp một giải pháp tham chiếu (reference solution) có thể được sử dụng ở quy mô lớn để giám sát chủ động các ứng dụng doanh nghiệp nhằm tránh vấn đề trước khi chúng xảy ra.

Tổng quan giải pháp

Sơ đồ sau đây hiển thị kiến trúc giải pháp để thu thập và tương quan các tín hiệu telemetry doanh nghiệp khác nhau ở quy mô lớn.

Ở trung tâm của kiến trúc này là các ứng dụng được tạo thành từ các microservice (được biểu diễn bằng các hộp màu cam) chạy trên Amazon Elastic Kubernetes Service (Amazon EKS). Các microservice này chứa công cụ ghi nhận (instrumentation) phát ra dữ liệu telemetry dưới dạng metric, log và trace. Dữ liệu này được xuất vào OpenTelemetry Collector, đóng vai trò là cổng (gateway) trung tâm không phụ thuộc vào nhà cung cấp (vendor agnostic) để thu thập dữ liệu này một cách thống nhất.

Trong bài viết này, chúng tôi sử dụng ứng dụng demo OpenTelemetry làm ứng dụng doanh nghiệp mẫu. Các khách hàng doanh nghiệp lớn thường tách dữ liệu tín hiệu khả năng quan sát của họ thành các kho lưu trữ (stores) khác nhau để có khả năng mở rộng, cô lập lỗi (fault isolation), kiểm soát truy cập và dễ vận hành. Để hỗ trợ các chức năng này, chúng tôi khuyến nghị và sử dụng Amazon OpenSearch Ingestion cho một pipeline dữ liệu serverless, có khả năng mở rộng và được quản lý hoàn toàn. Chúng tôi tách dữ liệu log và trace và gửi chúng đến các miền OpenSearch Service riêng biệt. Giải pháp cũng gửi dữ liệu metric đến Amazon Managed Service for Prometheus.

Chúng tôi sử dụng Amazon Managed Grafana làm nền tảng trực quan hóa và phân tích dữ liệu để truy vấn và hiển thị dữ liệu này. Chúng tôi cũng chỉ ra cách sử dụng tương quan như một công cụ có giá trị để có được thông tin chuyên sâu (insight) từ các tín hiệu này được phân tán trên các kho dữ liệu khác nhau.

Các phần sau đây phác thảo việc xây dựng kiến trúc này ở quy mô lớn.

Điều kiện tiên quyết

Hoàn thành các bước điều kiện tiên quyết sau:

  1. Cung cấp và cấu hình không gian làm việc Amazon Managed Prometheus để nhận metric từ OpenTelemetry Collector.
  2. Tạo hai miền OpenSearch Service chuyên dụng (hoặc sử dụng các miền hiện có) để nhập log và trace từ OpenTelemetry Collector.
  3. Tạo một không gian làm việc Amazon Managed Grafana và cấu hình các nguồn dữ liệu để kết nối với Amazon Managed Prometheus và OpenSearch Service.
  4. Thiết lập một cụm EKS để triển khai các ứng dụng và OpenTelemetry Collector.

Tạo pipeline Amazon OpenSearch Ingestion cho log và trace

Trước khi thiết lập các pipeline nhập (ingestion pipelines), bạn cần tạo các chính sách (policies) và vai trò (roles) AWS Identity and Access Management (IAM) cần thiết. Quy trình này bao gồm việc tạo hai chính sách cho quyền truy cập domain (miền) và OSIS (OpenSearch Ingestion Service), sau đó tạo một vai trò pipeline (pipeline role) sử dụng các chính sách này.

Tạo chính sách cho ingestion

Hoàn thành các bước sau để tạo chính sách IAM:

  1. Mở bảng điều khiển IAM.
  2. Chọn Policies trong ngăn điều hướng, sau đó chọn Create policy.
  3. Trên tab JSON, nhập chính sách sau vào trình chỉnh sửa:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "es:DescribeDomain",
            "Resource": "arn:aws:es:*:{accountId}:domain/*"
        },
        {
            "Effect": "Allow",
            "Action": [ "es:ESHttpGet", "es:HttpHead", "es:HttpDelete", "es:HttpPatch", "es:HttpPost", "es:HttpPut" ],
            "Resource": "arn:aws:es:us-east-1:{accountId}:domain/otel-traces"
        },
        {
            "Effect": "Allow",
            "Action": [ "es:ESHttpGet", "es:HttpHead", "es:HttpDelete", "es:HttpPatch", "es:HttpPost", "es:HttpPut" ],
            "Resource": "arn:aws:es:us-east-1:{accountId}:domain/otel-logs"
        }
    ]
}

// Replace {accountId} with your own values
  1. Chọn Next, chọn Next một lần nữa, và đặt tên cho chính sách của bạn là domain-policy.
  2. Chọn Create policy.
  3. Tạo một chính sách khác với tên osis-policy và sử dụng JSON sau:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "osis:Ingest",
            "Resource": "arn:aws:osis:us-east-1:{accountId}:pipeline/osi-pipeline-otellogs"
        },
        {
            "Effect": "Allow",
            "Action": "osis:Ingest",
            "Resource": "arn:aws:osis:us-east-1:{accountId}:pipeline/osi-pipeline-oteltraces"
        }
    ]
}
// Replace {accountId} with your own values

Tạo vai trò pipeline

Hoàn thành các bước sau để tạo vai trò pipeline:

  1. Trên bảng điều khiển IAM, chọn Roles trong ngăn điều hướng, sau đó chọn Create role.
  2. Chọn Custom trust policy và nhập chính sách sau vào trình chỉnh sửa:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "eks.amazonaws.com",
                    "osis-pipelines.amazonaws.com"
                ],
                "AWS": "{nodegroup_arn}"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

// Replace {nodegroup_arn} with your own values
  1. Chọn Next, sau đó tìm kiếm và chọn các chính sách osis-policy và domain-policy mà bạn vừa tạo.
  2. Chọn Next và đặt tên vai trò là PipelineRole.
  3. Chọn Create role.

Cho phép quyền truy cập cho vai trò pipeline trong các miền OpenSearch Service

Để bật quyền truy cập cho vai trò pipeline trong các miền OpenSearch Service, hãy hoàn thành các bước sau:

  1. Mở bảng điều khiển OpenSearch Service.
  2. Chọn miền của bạn (miền log hoặc trace).
  3. Chọn OpenSearch Dashboards URL.
  4. Đăng nhập bằng thông tin xác thực của bạn.

Sau đó, hoàn thành các bước sau cho mỗi miền OpenSearch Service (miền log và trace).

  1. Trong OpenSearch Dashboards, đi đến Security.
  2. Chọn Roles và sau đó all_access.

Quy trình này sử dụng vai trò all_access chỉ cho mục đích demo. Điều này cấp các đặc quyền quản trị viên đầy đủ cho vai trò pipeline, vi phạm nguyên tắc đặc quyền tối thiểu (principle of least privilege) và có thể gây ra rủi ro bảo mật. Đối với môi trường sản xuất (production), bạn nên tạo một vai trò tùy chỉnh (custom role) với các quyền tối thiểu cần thiết cho việc nhập dữ liệu, giới hạn quyền đối với các chỉ mục và hoạt động cụ thể, xem xét triển khai các mẫu chỉ mục và kiểm soát truy cập dựa trên thời gian, và thường xuyên kiểm tra ánh xạ vai trò và quyền. Để biết hướng dẫn chi tiết về việc tạo vai trò tùy chỉnh với các quyền thích hợp, hãy tham khảo Security in Amazon OpenSearch Service.

  1. Chọn Mapped users và sau đó Managed mapping.
  2. Trên trang Map user, dưới Backend roles, cập nhật vai trò backend với Amazon Resource Name (ARN) cho vai trò PipelineRole.
  3. Chọn Map.

Tạo pipeline cho log

Hoàn thành các bước sau để tạo pipeline cho log:

  1. Mở bảng điều khiển OpenSearch Service.
  2. Chọn Ingestion pipelines.
  3. Chọn Create pipeline.
  4. Xác định cấu hình pipeline bằng cách nhập như sau:
version: "2"

otel-logs-pipeline:

  source:

    otel_logs_source:

      path: "/v1/logs"

  sink:

    - opensearch:

        hosts: ["{OpenSearch_domain_endpoint}"]

        aws:

          sts_role_arn: "arn:aws:iam::{accountId}:role/osi-pipeline-role"

          region: "us-east-1"

          serverless: false

        index: "observability-otel-logs%{yyyy-MM-dd}"

 # To get the values for the placeholders:

 # 1. {OpenSearch_domain_endpoint}: You can find the domain endpoint by navigating to the Amazon Managed Opensearch managed clusters in the AWS Management Console, and then clicking on the domain.

 # After obtaining the necessary values, replace the placeholders in the configuration with the actual values.

Tạo pipeline cho trace

Hoàn thành các bước sau để tạo pipeline cho trace:

  1. Mở bảng điều khiển OpenSearch Service.
  2. Chọn Ingestion pipelines.
  3. Chọn Create pipeline.
  4. Xác định cấu hình pipeline bằng cách nhập như sau:
version: "2"

entry-pipeline:

  source:

    otel_trace_source:

      path: "/v1/traces"

  processor:

    - trace_peer_forwarder:

  sink:

    - pipeline:

        name: "span-pipeline"

    - pipeline:

        name: "service-map-pipeline"

span-pipeline:

  source:

    pipeline:

      name: "entry-pipeline"

  processor:

    - otel_traces:

  sink:

    - opensearch:

        index_type: "trace-analytics-raw"

        hosts: ["{OpenSearch_domain_endpoint}"]

        aws:                 

          sts_role_arn: "arn:aws:iam::{accountId}:role/osi-pipeline-role"

          region: "us-east-1"

service-map-pipeline:

  source:

    pipeline:

      name: "entry-pipeline"

  processor:

    - service_map:

  sink:

    - opensearch:

        index_type: "trace-analytics-service-map"

        hosts: ["{OpenSearch_domain_endpoint}"]

        aws:                 

          sts_role_arn: "arn:aws:iam::{accountId}:role/osi-pipeline-role"

          region: "us-east-1"

 # To get the values for the placeholders:

 # 1. {OpenSearch_domain_endpoint}: You can find the domain endpoint by navigating to the Amazon Managed Opensearch managed clusters in the AWS Management Console, and then clicking on the domain.  # 2. {accountId}: This is your AWS account ID. You can find your account ID by clicking on your username in the top-right corner of the AWS Management Console and selecting "My Account" from the dropdown menu.

 # After obtaining the necessary values, replace the placeholders in the configuration with the actual values.

Cài đặt ứng dụng demo OpenTelemetry trong Amazon EKS

Sử dụng cụm EKS mà bạn đã thiết lập trước đó cùng với AWS CloudShell hoặc công cụ khác để hoàn thành các bước sau:

  1. Mở AWS Management Console.
  2. Chọn biểu tượng CloudShell trong thanh điều hướng trên cùng, hoặc đi trực tiếp đến bảng điều khiển CloudShell.
  3. Đợi môi trường shell khởi tạo—nó đi kèm với các công cụ AWS Command Line Interface (AWS CLI) phổ biến được cài đặt sẵn.

Bây giờ bạn có thể hoàn thành các bước sau để cài đặt ứng dụng.

  1. Sao chép kho lưu trữ OpenTelemetry Demo:
git clone https://github.com/aws-samples/sample-correlation-opensearch-repository
  1. Điều hướng đến thư mục Kubernetes:
cd deployment_files
  1. Triển khai ứng dụng demo bằng kubectl apply:
kubectl apply -f .
  1. Sử dụng load balancer để hiển thị dịch vụ frontend để bạn có thể truy cập URL web ứng dụng nguồn:
kubectl expose deployment opentelemetry-demo-frontendproxy --type=LoadBalancer --name=frontendproxy
  1. Sau khi bạn đã triển khai ứng dụng, truy cập ứng dụng frontend bằng load balancer trên cổng 8080. Sử dụng trình duyệt của bạn để truy cập http://<LoadBalancerIP&gt;:8080/ để mở ứng dụng nguồn cho OpenTelemetry.

Bằng cách làm theo các bước này, bạn có thể cài đặt và truy cập thành công các ứng dụng demo trên cụm EKS của mình.

Cấu hình exporter OpenTelemetry Collector cho log, trace và metric

OpenTelemetry Collector là một công cụ quản lý việc nhận, xử lý và xuất dữ liệu telemetry từ ứng dụng của bạn đến kho lưu trữ đích.

Trong bước này, chúng tôi gửi log và trace đến OpenSearch Service và metric đến Amazon Managed Prometheus. OpenTelemetry Collector cũng hoạt động với các kho dữ liệu phổ biến như Jaeger và nhiều nền tảng mã nguồn mở và thương mại khác. Trong phần này, chúng tôi bao gồm các bước để cấu hình OpenTelemetry Collector trong môi trường EKS. Sau đó chúng tôi triển khai ứng dụng demo và khám phá các trình xuất (exporter) OpenTelemetry bằng cách sử dụng Các giải pháp được quản lý của AWS (AWS Managed Solutions) thay vì các phiên bản mã nguồn mở.

Hoàn thành các bước sau:

  1. Mở ConfigMap otel-collector-config trong trình chỉnh sửa ưa thích của bạn:
kubectl edit configmap opentelemetry-demo-otelcol -n otel-demo
  1. Cập nhật phần exporters với cấu hình sau (cung cấp điểm cuối Amazon Managed Service for Prometheus và URL nhập log OpenSearch Service thích hợp):
exporters:
    logging: {}
    otlphttp/logs:
      logs_endpoint: "<AWS_OPENSEARCH_LOG_INGESTION_URL>/v1/logs"
      auth:
        authenticator: sigv4auth
      compression: none
    otlphttp/traces:
      traces_endpoint: "<AWS_OPENSEARCH_TRACE_INGESTION_URL>/v1/traces"
      auth:
        authenticator: sigv4auth
      compression: none
    prometheusremotewrite:
        endpoint: "<AWS_MANAGED_PROMETHEUS_ENDPOINT>"
        auth:
          authenticator: sigv4auth
  1. Tìm phần extensions và cập nhật IAM role ARN trong cấu hình sigv4auth:
sigv4auth:
        assume_role:
            arn: "arn:aws:iam::{accountId}:role/osi-pipeline-role"
            sts_region: "us-east-1"
        region: "us-east-1"
        service: "osis"
# {accountId}: replace accountID with your account id
  1. Sau khi cập nhật ConfigMap, khởi động lại triển khai OpenTelemetry Collector:
kubectl rollout restart deployment opentelemetry-demo-otelcol -n otel-demo

Với những thay đổi này, OpenTelemetry Collector sẽ gửi dữ liệu trace đến miền OpenSearch Service, dữ liệu metric đến điểm cuối (endpoint) của Amazon Managed Service for Prometheus và dữ liệu log đến miền OpenSearch Service.

Cấu hình Amazon Managed Grafana

Trước khi bạn có thể trực quan hóa log và trace của mình, bạn cần cấu hình OpenSearch Service làm nguồn dữ liệu trong không gian làm việc Amazon Managed Grafana của bạn. Cấu hình này được thực hiện thông qua bảng điều khiển Amazon Managed Grafana.

Cấu hình nguồn dữ liệu OpenSearch Service

Hoàn thành các bước sau để cấu hình nguồn dữ liệu OpenSearch Service:

  1. Mở bảng điều khiển Amazon Managed Grafana.
  2. Chọn không gian làm việc của bạn và chọn URL không gian làm việc để truy cập instance Grafana của bạn.
  3. Đăng nhập vào instance Amazon Managed Grafana của bạn.
  4. Từ menu bên, chọn biểu tượng cấu hình (bánh răng).
  5. Trên menu Configuration, chọn Data Sources.
  6. Chọn Add data source.
  7. Trên trang Thêm nguồn dữ liệu (Add data source), chọn Amazon OpenSearch Service từ danh sách các nguồn dữ liệu có sẵn.
  8. Trong trường Name, nhập tên mô tả cho nguồn dữ liệu.
  9. Trong trường URL, nhập URL (điểm cuối miền OpenSearch Service) của miền OpenSearch Service của bạn, bao gồm giao thức và số cổng.
  10. Nếu cụm OpenSearch của bạn được cấu hình với xác thực, hãy cung cấp thông tin xác thực cần thiết trong trường UserPassword.
  11. Nếu bạn muốn sử dụng một mẫu chỉ mục cụ thể cho nguồn dữ liệu, bạn có thể chỉ định nó trong trường Index name (Ví dụ, logstash-*).
  12. Điều chỉnh bất kỳ cài đặt nào khác nếu cần, chẳng hạn như Time field nameTime interval.
  13. Chọn Save & Test để xác minh kết nối đến cụm OpenSearch của bạn.

Nếu kiểm tra thành công, bạn sẽ thấy thông báo màu xanh lá cây với thông điệp “Data source is working.”

  1. Chọn Save để lưu cấu hình nguồn dữ liệu.
  2. Lặp lại các bước tương tự cho các domain (miền) log và trace của Amazon OpenSearch Service.

Cấu hình nguồn dữ liệu Prometheus

Hoàn thành các bước sau để cấu hình nguồn dữ liệu Prometheus:

  1. Mở bảng điều khiển Amazon Managed Grafana.
  2. Chọn không gian làm việc của bạn và chọn URL không gian làm việc để truy cập instance Grafana của bạn.
  3. Đăng nhập vào instance Amazon Managed Grafana của bạn.
  4. Từ menu bên, chọn biểu tượng cấu hình (bánh răng).
  5. Trên menu Configuration, chọn Data Sources.
  6. Chọn Add data source.
  7. Trên trang Add data source, chọn Amazon Managed Prometheus từ danh sách các nguồn dữ liệu có sẵn.
  8. Trong trường Name, nhập tên mô tả cho nguồn dữ liệu.
  9. Các trường AWS Auth ProviderDefault Region sẽ được tự động điền dựa trên cấu hình không gian làm việc Amazon Managed Grafana của bạn.
  10. Trong trường Workspace, nhập ID hoặc bí danh (alias) của không gian làm việc Amazon Managed Prometheus của bạn.
  11. Chọn Save & Test để xác minh kết nối đến không gian làm việc Amazon Managed Prometheus của bạn.

Nếu kiểm tra thành công, bạn sẽ thấy thông báo màu xanh lá cây với thông điệp “Data source is working.”

  1. Chọn Save để lưu cấu hình nguồn dữ liệu.

Tạo tương quan trong Amazon Managed Grafana

Để thiết lập các kết nối giữa dữ liệu log và trace của bạn, bạn cần thiết lập tương quan dữ liệu trong Amazon Managed Grafana. Điều này cho phép bạn điều hướng liền mạch giữa các log và trace liên quan. Làm theo các bước sau trong không gian làm việc Amazon Managed Grafana của bạn:

  1. Mở bảng điều khiển Amazon Managed Grafana.
  2. Chọn không gian làm việc của bạn và chọn URL không gian làm việc để truy cập instance Grafana của bạn.
  3. Trong cổng Amazon Managed Grafana, trên menu Administration, chọn Plugins and Data, và chọn Correlation.
  1. Trên trang Set up the target for the correlation, dưới Target, chọn nguồn dữ liệu trace của bạn (OpenSearch Service, ví dụ, otel-traces) từ danh sách thả xuống và xác định truy vấn sẽ thực thi khi liên kết được theo dõi. Bạn có thể sử dụng các biến để truy vấn các giá trị trường cụ thể. Ví dụ, traceId: ${__value.raw}.
  1. Trên trang Set up the target for the correlation, chọn nguồn dữ liệu log từ danh sách thả xuống, và nhập tên trường sẽ được liên kết hoặc tương quan với nguồn dữ liệu trace trong nguồn dữ liệu Amazon OpenSearch Service. Ví dụ, traceID.
  1. Chọn Save để hoàn thành cấu hình tương quan.
  1. Lặp lại các bước để tạo tương quan giữa metric trên Prometheus với log trong OpenSearch Service.

Xác thực kết quả

Trong Amazon Managed Grafana, sử dụng nguồn dữ liệu Prometheus, tìm thực thể (instance) mong muốn để tương quan. ID thực thể (instance ID) sẽ được hiển thị dưới dạng liên kết. Theo liên kết để mở chi tiết log tương ứng trong một khung (panel) ở phía bên phải của trang.

Với tương quan log đến trace được cấu hình, bạn có thể truy cập thông tin trace trực tiếp từ trang log. Chọn traces trên khung (panel) chi tiết log để xem dữ liệu trace tương ứng.

Ảnh chụp màn hình sau đây minh họa trực quan hóa biểu đồ nút (node graph) hiển thị luồng tương quan: metric của thực thể (instance metrics) đến log đến trace.

Dọn dẹp

Xóa cơ sở hạ tầng cho giải pháp này khi không sử dụng để tránh phát sinh chi phí không cần thiết.

Kết luận

Trong bài viết này, chúng tôi đã chỉ ra cách sử dụng tương quan như một công cụ hữu ích ng các kho lưu trữ (stores) khác nhau.để có được thông tin chuyên sâu (insight) về dữ liệu khả năng quan sát (observability) được lưu trữ tro

Việc tách log và trace thành các miền chuyên dụng mang lại các lợi ích sau:

  • Phân bổ tài nguyên và mở rộng tốt hơn dựa trên các mẫu khối lượng công việc khác nhau
  • Tối ưu hóa hiệu suất độc lập cho từng loại dữ liệu
  • Đơn giản hóa theo dõi và quản lý chi phí
  • Tăng cường kiểm soát bảo mật với các chính sách truy cập riêng biệt

Bạn có thể sử dụng giải pháp này làm tham chiếu (reference) để xây dựng giải pháp khả năng quan sát (observability) có thể mở rộng cho doanh nghiệp của bạn nhằm phát hiện, điều tra và khắc phục sự cố nhanh hơn. Khả năng này, khi được sử dụng cùng với trí tuệ nhân tạo và học máy (AI/ML) thế hệ tiếp theo, giúp không chỉ phản ứng chủ động mà còn dự đoán và ngăn ngừa sự cố trước khi chúng xảy ra. Bạn có thể tìm hiểu thêm về AI/ML với AWS.


Về các tác giả

Balaji Mohan là Senior Delivery Consultant chuyên về hiện đại hóa ứng dụng và dữ liệu lên đám mây. Cách tiếp cận ưu tiên kinh doanh của ông cung cấp các chuyển đổi liền mạch, căn chỉnh công nghệ với các mục tiêu tổ chức. Sử dụng các kiến trúc lấy đám mây làm trung tâm, ông cung cấp các giải pháp có thể mở rộng, linh hoạt và tiết kiệm chi phí, thúc đẩy đổi mới và tăng trưởng.

Senthil Ramasamy là Senior Database Consultant tại Amazon Web Services. Ông làm việc với khách hàng AWS để cung cấp hướng dẫn và hỗ trợ kỹ thuật về các dịch vụ cơ sở dữ liệu, giúp họ di chuyển cơ sở dữ liệu lên AWS Cloud và cải thiện giá trị của các giải pháp của họ khi sử dụng AWS.

Muthu Pitchaimani là Search Specialist với Amazon OpenSearch Service. Ông xây dựng các ứng dụng và giải pháp tìm kiếm quy mô lớn. Muthu quan tâm đến các chủ đề về mạng và bảo mật, và có trụ sở tại Austin, Texas.