Fig 2: This figure recaps the solution we implemented which resulted in a layered architecture; we used AWS Lambda and AWS Database to process the data.

Blog: How to graduate with the cloud

By Anya Chaliotis, machine learning developer, Expeditors

Navigating higher education can be head spinning, especially in the senior year as graduation approaches.

I’d like to share my story of going back to school for a Master of Science degree at the University of Washington’s Information School, informally the iSchool. The iSchool offers many opportunities including a Capstone project defined as the final “crowning” moment of your education. As part of the mid-career cohort I could have opted out of Capstone. I already had plenty of industry experience and didn’t worry about finding a job after school. Still, I wanted to up my game. With a passion for data, there was plenty of room to elevate my technical experience. I wanted to work on something new!

Fig 1. From sensor to dots on the map
Figure 1. From sensor to dots on the map

If you’re struggling with finding ideas for your final project, just look around you. The UW campus is located in the middle of the booming tech sector. Seattle is the birthplace of technical giants like Microsoft and Amazon. Do you still think of Amazon as a place where you buy books online? I hope not. Today Amazon is a leading cloud service provider, computing resources bundled under the title of Amazon Web Services (AWS). If you’re looking into a tech-related job, knowing how to get things done on the cloud is an excellent addition to your resume.

And so off I went. At a Capstone fair event I found a good match – an Internet of Things (IoT) project to integrate off-the-shelf sensor devices with the supply chain for a logistics company. Other students were interested as well so we quickly formed a team. We realized that this would not be an easy project. For example, China offered appropriate devices cheap but without friendly instructions. 

Early on we drafted an initial architecture of our solution (Figure 1).

Looks simple? On a small scale with only two devices, we could process the data on a single laptop. In reality companies operate thousands of devices on a daily basis, so we wanted to build something more scalable and robust. Since our devices already sent data to the cloud, we decided to continue from there, staying in the cloud, but with limited experience we needed help.

Browsing UW resources I discovered an event called Cloud Day @UW sponsored by the eScience Institute and UW Information Technology. We reached out to eScience for consulting help. Rob Fatland, UW director of cloud and data solutions, welcomed our team and looked into our challenge. After figuring out how to get data from the sensors we transitioned to the Amazon cloud for data processing. Rob connected us with AWS engineers Lori Clithero and Joel Morgan, who took the time to help us through the next steps.

Fig 2: This figure recaps the solution we implemented which resulted in a layered architecture; we used AWS Lambda and AWS Database to process the data.
Figure 2: This image depicts the solution we implemented which resulted in a layered architecture; we used AWS Lambda and AWS Database Services to process the data.

Our initial plan was pretty standard – use AWS for storage, computing and as a database. We planned on getting a cloud server to read the IoT data and send it to the AWS database for storage. Joel simplified it with AWS Lambda, a serverless computing service that does away with fussing with servers. The idea is: why provision a cloud server when we can simply write the code and let AWS worry about the rest? Lambda was perfect for us – we used it to process each message sent by a device and pass the results to our AWS cloud database. We then built a simple mockup webpage to display a beautiful map for our end-users (Figure 2). 

Our team was super thankful for the support from eScience and Amazon. Together, in three months we produced a coherent solution using AWS Cloud for processing IoT signals. Feel free to check out our Capstone video and poster.

I hope that our experience helps someone to take the first step towards working in the cloud. Take on a challenging project! Don’t be afraid of doing things you’ve never done. School is a safe environment – you learn new things surrounded by plenty of support from your instructors, fellow students and extra UW resources like the people at the eScience Institute. 

If you dip your toes in AWS cloud during your school years your job search will happen faster than you might imagine. I remember graduation day at Husky stadium on Sunday, presenting our final project to the client on Monday, and being asked to come for an interview on Tuesday. With my extensive IT experience I had plenty to show during the interview, but I wanted to focus on my newest skills – Lambda was mentioned more than once! Now with two years in my new job, I work on machine learning and participate in interviewing candidates for data science positions. Capstone projects are where student applicants really shine.

Ultimately, you get to choose whether you want to graduate safely in your comfort zone or push your graduation boundaries with trying something new. My advice: use your school time to explore interesting ideas and approach them with modern technologies. Employers often struggle with students’ lack of real-world experience. If you walk into an interview with a Capstone project where you took knowledge and theory and applied it in a real-world setting, the stereotypical image of an inexperienced graduate won’t apply to you. Bring up the volume on your resume by getting experience working in the cloud! UW students are lucky to have tech companies offer free educational services!