For ten weeks in the summer, DigitalOcean interns join our teams to serve a robust and passionate community of developers, teams, and businesses around the world. In this series, we invite them to share about the projects they worked on, their experiences, and lessons learned. This story is written by Shivani Kumar, who joined DigitalOcean as a Software Engineer on the App Platform team.
The first day of my internship started with a couple of onboarding sessions where I met the People team along with the other summer interns. Following the sessions, I was welcomed by my manager, Mavis, my mentor, Greg, and the rest of the App Platform team. I was invited to all of the team meetings, where I was able to ask questions about the different tasks my team was working on. This helped me get a better understanding of the work my team does and made me feel more comfortable speaking up. Throughout the onboarding process, I noticed DigitalOcean’s values were apparent everywhere.
DigitalOcean’s mission is to simplify cloud computing so builders can spend more time creating software that changes the world. As DigitalOcean rolls out a serverless cloud offering, it’s important for developers to have a useful standard library of off-the-shelf serverless functions so that developers can focus on quickly building applications. That’s where my project came in! Over the summer, I worked on building three serverless functions as well as an app composed of those functions to showcase the serverless functions.
DigitalOcean Functions lets you deploy code that performs the same tasks as a traditional application without the requirement of setting up a server to manage the requests. These functions run on demand without the need to manage any infrastructure. Users are able to test on their local machine with their own tools, deploy the code using doctl or the DigitalOcean API, and deploy to App Platform with no servers required.
Off-the-shelf functions
My summer project was building three off-the-shelf functions: a Twilio function that sends an SMS between Twilio verified phone numbers, a SendGrid function that sends an email to email addresses with or without DMARCS, and a presigned URL function that gets a presigned URL to upload a file or to download a file from a DigitalOcean Space. To showcase the serverless functions, I created a Slack bot that ties the three functions together. The slack bot takes in the status code and the body of the returned response from the functions and sends back a slack attachment to the channel the bot is in.
The three serverless functions can be used to create apps on the App Platform Control Panel shown below. You can also find a step-by-step tutorial on how to create an app on App Platform Quickstart.
The same functions can also be found on the Functions Control Panel as shown below. The Functions Quickstart can provide more information on how to deploy a function.
Here are two other locations where you can learn more about the three serverless functions:
Slackbot
My favorite part of the project was creating an app on App Platform that consisted of the Slackbot as a worker and the three functions as function components. The Slackbot was built to see if users are able to use the serverless functions together. An app manifest for slack is included inside the GitHub Repo for users that would like to create a slack app that would work with the functions. More information about how to create a slack app, the requirements, and the deployment instructions can be found in the GitHub repo. Below, I included a preview of the Slackbot returning a success status code and body after sending a Twilio SMS and a SendGrid email.
One of DigitalOcean’s values that I love is “Love is at our core”. Under that value, a key point is to express appreciation and gratitude to others. During my weekly meetings with the App Platform team, we take the first ten minutes to give kudos to people that have helped us during that week. I’d like to take this time to give kudos to a few people and teams that have made a powerful impact on me during my internship. I’d like to give kudos to Mavis, Greg, the App Platform team, the Functions team, the Serverless BU, the People team, and DigitalOcean for giving me this wonderful opportunity to continue growing as an engineer and for teaching me that Love really is at our Core.
Interested in learning more about what it’s like to work at DigitalOcean? Check out a list of benefits and open positions on our careers page.