0% found this document useful (0 votes)
562 views3 pages

DataGrokr DevOps Intern Assignment - 20210129

The document provides instructions for a technical assessment for a DevOps internship at DataGrokr. The assessment has two parts - the first involves creating an AWS Lambda function to collect metrics from EC2 instances and store them in CSV files in S3 on a scheduled basis. The second part tasks the applicant with using CloudFormation to create VPCs, subnets, and EC2 instances across the VPCs and documenting how connectivity between the instances would be established. Applicants must submit credentials to access their AWS account along with documents listing resources created and outlining the connectivity solution.

Uploaded by

msdkfh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
562 views3 pages

DataGrokr DevOps Intern Assignment - 20210129

The document provides instructions for a technical assessment for a DevOps internship at DataGrokr. The assessment has two parts - the first involves creating an AWS Lambda function to collect metrics from EC2 instances and store them in CSV files in S3 on a scheduled basis. The second part tasks the applicant with using CloudFormation to create VPCs, subnets, and EC2 instances across the VPCs and documenting how connectivity between the instances would be established. Applicants must submit credentials to access their AWS account along with documents listing resources created and outlining the connectivity solution.

Uploaded by

msdkfh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Hi,

Thank you for your interest in the DevOps Engineer Internship at DataGrokr.

DataGrokr provides solutions to our global clients in the fields of Cloud enablement, IT Automation
(Devops), data management and Big Data Analytics. We work on several different technologies
and we have to adapt very quickly to our client demand.

Learning agility and ability to deal with new technologies on the fly is a must-have requirement
to succeed at DataGrokr. It’s a great place if you love challenges.

As such, our selection process is geared to identify candidates who will enjoy this type of work
and thrive in this environment. As a part of our selection process, we ask interested candidates
to complete a technical assignment. Given the nature of the Devops internship, this technical
assignment requires some familiarity with the AWS platform.

The details for the technical assignment are provided in the attached document. The document
contains detailed instructions on what you need to do as well as the deliverables expected.

Your submissions are due to us by end of day February 5th. Based on your submissions, we will
shortlist some candidates and schedule Skype/Hangout interviews in the following week.

Good luck and we hope you enjoy the assignment and learn something new in the process.

Thanks,
DataGrokr Team.
Assignment Instructions

The assignment will test your knowledge of AWS services. If you do not have any familiarity
with AWS, you may find this assignment difficult.

You will need an AWS account to solve the assignment. Please create a AWS Free Tier
account (AWS Free Tier (amazon.com)), if you don’t have one already. You can Use AWS
Free tier resources and services, so that you don’t incur any cost to solve the assignments.
For example use t2.micro EC2 instance which is free of cost. You will be able to solve all the
assignment questions using free tier account and resources.

The technical assessment contains two parts.

Part - 1

Our client wants to collect operational metrics across their AWS ec2 server pool. They have
asked us to create a framework for collecting metrics about the servers and storing them in a
central location for additional analysis. You are assigned to this project and your manager has
asked you to create a lambda function that meets the following requirements:

1. The lambda function gets the list of all running ec2 instances.
a. Hint: Use boto3 library for ec2
2. For each of the ec2 instance, it retrieves system resources such as memory, cpu, disk
usage. Your manager is not very sure of what other metrics are available for monitoring
within ec2 and has asked you to bring in other metrics that you think might be useful.
a. Hint: Look into what CloudWatch metrics are available for ec2 resources and
use boto3 library for fetching the metrics
3. The retrieved metrics are written to a csv file on S3.
4. The format of the file would be
a. Date/Time of program run
b. EC2 instance ID
c. MetricName
d. MetricValue
5. The lambda function should get triggered every hour using scheduled Cloudwatch
event. So, every hour a new file should be written to the S3 bucket. Name the file
appropriately.
6. Non-functional requirements:
a. The lambda code should be properly formatted and readable with proper
naming conventions.
b. While you can use any language, Python is strongly preferred.
7. Useful resources:
a. AWS documentation on EC2, CloudWatch, Lambda services
b. Boto3 library reference.

Deliverables:
1. Create an IAM user (datagrokr) with ReadOnly role and send us your AWS account alias,
username/password so we can log into your account.
2. A document containing the names of the resources that are involved in your solution:
i. IAM role for lambda execution
ii. Lambda program
iii. Cloudwatch event
iv. S3 bucket
Part - 2

In this part, you are required to show your knowledge of using Cloudformation service to build
the infrastructure. Using Cloudformation,

1. Create two VPCs in the same region. Each VPC should have one private and public
subnet. Please use parameters wherever possible.
2. Launch two EC2 instances, one in each of the VPC private subnets. Please use
parameters wherever possible.
3. Since the two instances are in different VPCs and in private subnets they will not be able
to communicate with each other. List the approach you would follow to establish
connectivity between the two ec2 instances.
4. Useful resources:
a. AWS documentation on Cloudformation, VPCs

Deliverables:
1. A document containing the names of the resources that are involved in your solution:
a. Cloudformation stack name for the VPCs.
b. Cloudformation stack name for the EC2 instances.
2. Document listing the steps to establish connectivity between the two EC2 instances.

Logistics of submission:

1. Please send all of your submissions to [email protected] before Feb 5th.


2. The subject of the email should be “Internshala DevOps: <FirstName LastName>”
3. The email should have two attachments:
a. Your latest resume
b. One comprehensive document
4. The document should have the following sections:
a. IAM Credentials for us to login into your account
b. Part-1 resource names
c. Part-2 resource names
d. Part-2 write up on approach for establishing connectivity.

If you have any questions about the assignments, please send your questions to help-me-
[email protected].

Good luck!

You might also like