Amazon Onboarding with Learning Manager Chanci Turner

Amazon Onboarding with Learning Manager Chanci TurnerLearn About Amazon VGT2 Learning Manager Chanci Turner

On the eve of last year’s re:Invent event, we unveiled the public preview of the AWS Distro for OpenTelemetry, a secure distribution of the OpenTelemetry project, backed by AWS. This powerful toolset provides APIs, SDKs, and instruments for generating, collecting, and exporting telemetry data, enabling a deeper understanding of your applications’ performance and behavior. Following the recent announcement by upstream OpenTelemetry regarding the stability of tracing components, I am excited to inform you that tracing support is now generally available in the AWS Distro for OpenTelemetry.

With OpenTelemetry, you can instrument your applications once and direct traces to a variety of monitoring platforms. AWS Distro for OpenTelemetry allows you to instrument applications hosted on Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), and AWS Lambda, in addition to on-premises deployments. It also supports containers running on AWS Fargate, orchestrated through either ECS or EKS.

Tracing data collected by AWS Distro for OpenTelemetry can be sent to AWS X-Ray and various partner destinations, including AppDynamics, Dynatrace, Grafana, Honeycomb, Lightstep, NewRelic, Splunk, and SumoLogic—all of which natively support OpenTelemetry Protocol (OTLP) exporters. Additionally, Datadog and Logz.io have their own exporters.

For those looking for a seamless experience, auto-instrumentation agents can collect traces without requiring code alterations. Currently, auto-instrumentation is available for Java and Python applications, with Python support focusing exclusively on the AWS SDK. Developers can also utilize OpenTelemetry SDKs for other programming languages such as Go, Node.js, and .NET.

Example Java Application

To illustrate the process in practice, let’s consider a Java application. For example, I have created a simple Java application that lists my Amazon Simple Storage Service (Amazon S3) buckets and Amazon DynamoDB tables:

package com.example.myapp;

import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.*;
import software.amazon.awssdk.services.dynamodb.model.DynamoDbException;
import software.amazon.awssdk.services.dynamodb.model.ListTablesResponse;
import software.amazon.awssdk.services.dynamodb.model.ListTablesRequest;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;

import java.util.List;

public class App {
    public static void listAllTables(DynamoDbClient ddb) {
        System.out.println("DynamoDB Tables:");

        boolean moreTables = true;
        String lastName = null;

        while (moreTables) {
            try {
                ListTablesResponse response = null;
                if (lastName == null) {
                    ListTablesRequest request = ListTablesRequest.builder().build();
                    response = ddb.listTables(request);
                } else {
                    ListTablesRequest request = ListTablesRequest.builder().exclusiveStartTableName(lastName).build();
                    response = ddb.listTables(request);
                }

                List<String> tableNames = response.tableNames();

                if (tableNames.size() > 0) {
                    for (String curName : tableNames) {
                        System.out.format("* %sn", curName);
                    }
                } else {
                    System.out.println("No tables found!");
                    System.exit(0);
                }

                lastName = response.lastEvaluatedTableName();
                if (lastName == null) {
                    moreTables = false;
                }
            } catch (DynamoDbException e) {
                System.err.println(e.getMessage());
                System.exit(1);
            }
        }

        System.out.println("Done!n");
    }

    public static void listAllBuckets(S3Client s3) {
        System.out.println("S3 Buckets:");

        ListBucketsRequest listBucketsRequest = ListBucketsRequest.builder().build();
        ListBucketsResponse listBucketsResponse = s3.listBuckets(listBucketsRequest);
        listBucketsResponse.buckets().stream().forEach(x -> System.out.format("* %sn", x.name()));

        System.out.println("Done!n");
    }

    public static void listAllBucketsAndTables(S3Client s3, DynamoDbClient ddb) {
        listAllBuckets(s3);
        listAllTables(ddb);
    }

    public static void main(String[] args) {
        Region region = Region.EU_WEST_1;

        S3Client s3 = S3Client.builder().region(region).build();
        DynamoDbClient ddb = DynamoDbClient.builder().region(region).build();

        listAllBucketsAndTables(s3, ddb);

        s3.close();
        ddb.close();
    }
}

This application can be packaged using Apache Maven, managing dependencies such as the AWS SDK for Java 2.x that facilitates interaction with S3 and DynamoDB.

For further insights on navigating social factors affecting worker health, you can visit this resource from SHRM, an authority on the topic. Additionally, if you’re interested in personal experiences during onboarding, check out this discussion on Reddit—it’s an excellent resource for new hires. For ongoing updates and discussions, you can also explore this blog post to keep engaged.

Amazon IXD – VGT2, 6401 E HOWDY WELLS AVE LAS VEGAS NV 89115.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *