Introduction
Week 1 was a tough week! Lots to learn about Docker, Gitpod, and getting more familiar with the Cruddur application code we’re working with. I saw a lot of students working late hours and helping each other in Discord, and it’s great to see such support from the whole cohort.
Now we’re on Week 2, which is Observability. We’ll be learning about tools like Honeycomb, AWS X-Ray, and Amazon CloudWatch to add APM (Application Performance Monitoring), distributed tracing, logging, and observability.
This article is intended to help direct you to all of the resources you should review as you go through the homework assignments. I will not be going through step-by-step how to complete the homework, as the methods will differ for each member, and it’s up to you to complete the assignments. I may post some tips or recommended steps if there are frequent questions or difficulties mentioned, and only if I have time during the week after completing my own homework.
Disclaimer: I am not part of the bootcamp planning or management team – I’m just a participant like you! Nothing I publish should be considered official. Be sure to refer to the official documents whenever possible, as things are frequently being added and changed.
Before You Start
Be sure you’ve completed all the required homework steps for Week 1. Each week builds off the previous one, so you need to have all the tasks finished to progress. If you’re not sure of what needs to be done, check the Student Portal > Submissions > Week 1 page and review the tasks. You can also check out my previous Week 1 – Unofficial Homework Guide article for more details.
Honeycomb.io
This is a tricky one, as Distributed Tracing, APM, Observability are all deep subjects. I’ll go over what the Course Outline recommends, and provide some additional resources. Fortunately it doesn’t indicate we need to have prior knowledge of these tools.
We are using Honeycomb.io for distributed tracing. You’ll need a free account, and Honeycomb provides a generous free tier, and doesn’t even require you to add a credit card. If you haven’t set up an account already, GIFTED LANE has done a nice walkthrough video on it you can check out.
There is a Learning section on the website, including some training videos. They also have a very full YouTube channel. I would strongly recommend checking these out to understand the concepts around observability, and how to get started with Honeycomb. The Week 2 Live Webcast mainly goes through adding support for Honeycomb distributed tracing to the Cruddur application.
Some other helpful links I took during the last livecast:
- Direct Honeycomb.io Login to bypass the main website.
- Honeycomb.io Docs on Python OpenTelemetry
- Honeycomb.io Docs on Getting Data In – Best Practices
- Honeycomb.io Glitch.me page – What Honeycomb.io team is this?
Rollbar
We will be using Rollbar for error logging and tracking. They also have a generous free tier. You’ll need a free account, and GIFTED LANE has also done a video on setting this up.
There is a Rollbar Academy learning section with a number of videos that may be helpful. They also have a very full YouTube channel. Also, with good coincidence, there is a Project Configuration Best Practices Webinar on February 28th, 2023 that you can sign up for.
AWS X-Ray
We will be using AWS X-Ray for testing out the AWS service for distributed tracing. Andrew mentioned on the livestream that this is a difficult service to use. Here are some links that may help:
- AWS X-Ray Documentation
- AWS X-Ray SDK for Node.js API Reference
- AWS X-Ray SDK for Python API Reference
- StackOverflow Article – Best Practices For Setting Up X-Ray Daemon
- AWS Documentation – SDK For Python
Update – March 2: One difficulty run into during the original video was around setting up data to be sent to X-Ray as segments and subsegments. One of our bootcampers, Olley, put out an article with the solution, and Andrew has made an updated video going through the solution.
Week 2 Viewing Material
Here are some quick links to the videos for Week 2 – I’ll add more as they become available:
- YouTube – Free AWS Cloud Project Bootcamp – Update – 2023-02-23
- YouTube – Week 2 – Live Streamed Video – Honeycomb.io Setup
- YouTube – Week 2 – Instrument X-Ray
- YouTube – Week 2 – X-Ray Subsegments Solved
- YouTube – Week 2 – CloudWatch Logs
- YouTube – Week 2 – Rollbar
- YouTube – Week 2 – Security Considerations
- YouTube – Week 2 – Spend Considerations
- YouTube – Week 2 – Github Codespaces Crash Course
Required Homework Details
Once available, check the Student Portal > Submissions > Week 2 for the checklist of all of the required tasks to complete for this week using the videos. These may evolve over the course of the week, and new videos may be posted, so check the Videos and Official Playlist for the bootcamp on the ExamPro YouTube page. Also check GIFTED LANE’s YouTube Channel and Twitch Channel for additional videos that may help with setup, or going through the tasks.
I’ve linked Andrew’s Github Journal Notes for Week 2 for the various instrutions and code sections. If you’re following along with his videos, don’t forget to switch the branch to the one he is working on, as there are quite a few:
Some important points to keep in mind:
- Required homework should be submitted before next week’s session. So the due date/time would be Saturday March 4, 2023 @ 12 PM EST.
- Be sure that you are adding all of your updates and commits to the main branch in Github. There will be no grading for other branches (they won’t even look at them). If you are managing your work in separate branches, be sure to do a Pull Request and merge your changes into main before you submit your homework.
- Make sure to have your Journal in GitHub up to date for Week 2.
- You should also update the checklist for Week 2 to ensure everything is completed in the Student Portal, add your summary for the week, and submit your homework before the due date.
Cloud Career Homework Details
Lou has released the first video from Open Up The Cloud on the cloud career topic. The details on the homework for the boot camp are available at 44:30. Completing these tasks is part of the grading rubric.
The basic homework for this section is:
- Fill in the “My Journey To The Cloud” card.
- Analyze 5 Job Descriptions.
- The due date and details on how to submit this homework is still TBD. I will add the details here once we know more.
One of the resources mentioned in the video is the Open Up The Cloud System, which you can find at this link. There is a lot of detailed knowledge here, so definitely check it out. The Open Up The Cloud Github page also has a log of resources.
There is also a survey available you can fill out here. If you have questions you want covered in the future sessions, you can add them here.
Stretch Homework Details
The Course Outline has a section for Homework Challenges for Week 2. If you are looking to go above the basics and aim for a higher badge level according to the Grading Rubric, you’ll want to do some extra tasks and document them in your journal for Week 2. Some suggestions are:
- Instrument Honeycomb for the frontend-application to observe network latency between frontend and backend [HARD].
- Add custom instrumentation to Honeycomb to add more attributes eg. UserId, Add a custom span.
- Run custom queries in Honeycomb and save them later eg. Latency by UserID, Recent Traces.
Note that these aren’t the only options. There are no set homework challenges, so you’re free to make up your own as long as they are relevant to the week’s focus. If you’re not sure, check with Andrew or one of the instructors.
Additional Resources
- Cloud Security Bootcamp – Free Resources from Ashish’s website
- YouTube – NGINX – How to get started with OpenTelemetry
- OpenTelemetry Webpage
- OpenTelemetry CNCF Webpage
- Glitch.me was mentioned during the livestream for altering code.
Thank you always. This your write-up has always been my guide.
There are just too many channels and messages that I can hardly get information.
I appreciate you.
I appreciate the feedback, and I’m glad the guides are helping. Thanks very much!