Recording Social Media Replies for Analytics: Best Practices for AWS DevOps Engineers

Recording Social Media Replies in a Durable Data Store

Prev Question Next Question

Question

Your social media marketing application has a component written in Ruby running on AWS Elastic Beanstalk.

This application component posts messages to social media sites in support of various marketing campaigns.

Your management now requires you to record replies to these social media messages to analyze the effectiveness of the marketing campaign in comparison to past and future efforts.

You've already developed a new application component to interface with the social media site APIs in order to read the replies.

Which process should you use to record the social media replies in a durable data store that can be accessed at any time for analytics of historical data?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer - B.

The AWS Documentation mentions the below.

Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale.

It is a fully managed cloud database and supports both document and key-value store models.

Its flexible data model, reliable performance, and automatic scaling of throughput capacity, makes it a great fit for mobile, web, gaming, ad tech, IoT, and many other applications.

For more information on AWS DynamoDB please see the below link:

https://aws.amazon.com/dynamodb/

The task at hand is to record replies to social media messages posted by a Ruby application running on AWS Elastic Beanstalk in a durable data store that can be accessed at any time for historical data analytics. The solution requires a new application component to interface with the social media site APIs to read the replies. Based on this information, let's analyze each of the given options:

Option A: Deploy the new application component in an Auto Scaling group of Amazon EC2 instances, read the data from the social media sites, store it with Amazon Elastic Block Store, and use AWS Data Pipeline to publish it to Amazon Kinesis for analytics.

This option involves deploying the new application component in an Auto Scaling group of EC2 instances, reading data from social media sites, storing it with Elastic Block Store, and using Data Pipeline to publish it to Kinesis for analytics. This option is complex and involves multiple AWS services, which may lead to higher costs, complexity, and increased operational overhead.

Option B: Deploy the new application component as an Elastic Beanstalk application, read the data from the social media sites, store it and process it in DynamoDB, and use Apache Hive with Amazon Elastic MapReduce for analytics.

This option involves deploying the new application component as an Elastic Beanstalk application, reading data from social media sites, storing and processing it in DynamoDB, and using Apache Hive with Elastic MapReduce for analytics. This option is straightforward and uses a managed service like DynamoDB, which provides a scalable and highly available NoSQL database.

Option C: Deploy the new application component in an Auto Scaling group of Amazon EC2 instances, read the data from the social media sites, store it in Amazon Glacier, and use AWS Data Pipeline to publish it to Amazon RedShift for analytics.

This option involves deploying the new application component in an Auto Scaling group of EC2 instances, reading data from social media sites, storing it in Glacier, and using Data Pipeline to publish it to RedShift for analytics. This option is also complex and involves multiple AWS services, which may lead to higher costs, complexity, and increased operational overhead.

Option D: Deploy the new application component as an Amazon Elastic Beanstalk application, read the data from the social media site, store it with Amazon Elastic Block store, and use Amazon Kinesis to stream the data to Amazon CloudWatch for analytics.

This option involves deploying the new application component as an Elastic Beanstalk application, reading data from social media sites, storing it with Elastic Block Store, and using Kinesis to stream the data to CloudWatch for analytics. This option is also straightforward and uses managed services like Elastic Beanstalk, Elastic Block Store, Kinesis, and CloudWatch, which provides a scalable and highly available data store and analytics platform.

Therefore, option D is the best choice since it provides a simple and cost-effective solution using managed services with high scalability and availability, allowing easy access to historical data for analytics.