Usually, I wake up a few minutes earlier than my alarm clock. And I need to get out of my warm quilt quickly because when in the morning time is of the essence! I open the curtain and get to see the painting like pink sunrise in the distant sky.
I make myself a fast breakfast – fried egg, 2 slices of ham, salad, cereal and orange juice. While eating my breakfast, I often check the calendar from my phone to see what the earliest meeting will be in the morning. And I will quickly go through what I need to report or discuss in that meeting in my mind.
I go to the bus stop near my place to take the bus to the train station. Then I get on the train to the city to get to Woodside. There is a lovely bus coordinator that greets everyone in the morning, who brightens my mood before getting to work!
I arrive at my workplace. I connect my laptop to the screens and then reboot. There might be some overnight system patches and restarting will implement those updates. Restarting often takes a few minutes so I go to the kitchen and get myself a cup of tea.
I say good morning to my manager, and we chat about the AWS event we hosted yesterday. It was a full-day training event, and we were helping people get a better insight on AWS Cloud and do some hands-on labs. We are both happy that we received good feedback about the event and people learnt a lot. We also discuss our next big event – AWS Game Day This AWS game daywill be a competition, which targets at people who have some AWS experience and are passionate about exploring more in the Cloud. We also plan to send out the communications this week.
We have a stand-up meeting. Every Tuesday and Thursday’s stand-up goes through the open job tickets. Every time other team sends a request to our team, we will create a ticket in Jira Board. We assign the ticket to one of our team members. I have only one open ticket which is to decommission an AWS account. I give a status update on this ticket in the meeting. It is blocked now because MFA does not work on this specific AWS account and I need to have a discussion with AWS on how to re-sync it with our MFA device.
After the stand-up meeting, I go back to my seat and continue to work on my personal project. The project is to clean-up the old volume snapshots across all the AWS accounts. Sometimes people forget to put the retention period in the data lifecycle management which results in thousands of useless old snapshots hanging around. And we need to pay for the storage for those snapshots as well. Therefore, it is vital that we keep our Cloud environment clean and avoid unnecessary cost. I have finished the script to tag all the old snapshots we need to migrate, and the script to migrate these snapshots to S3 bucket for backup. I am still working on the last bit of code to delete all the old snapshots.
After 30 minutes, I finish the delete function. I check my code and make sure all the functions are logical and there is no syntax errorI test all three functions – tag, migrate, delete one by one on the server and they all work properly.
But how can I run the script for over 200 AWS accounts across the whole organisation? I need to automate the whole process. I can think of two solutions – one is to use AWS batch for each account and containerise those steps, the other one is to use lambda function to spin up an EC2 instance for each account and run those commands. I feel the need to have a chat with my technical coach, who is also the technical lead in our team and discuss on which way is better.
Our team’s technical lead is from England and he has the habit of drinking tea frequently. I see him walk towards the kitchen and I know he will get another tea. And just as I expect, after 5 minutes, he walks back with a tea on his hand. Now I know it is a good time to catch him. I walk towards him and ask if he has a few minutes to have a quick chat. He is a very easy-going person, and he is always willing to help.
We use a nearby whiteboard to discuss. I explain the two different ways to scale the solution to him. He is a highly experienced Cloud Engineer, and he thinks of a much simpler way immediately. His suggestion is to create a golden image from my test instance which has all the necessary scripts and dependencies installed. And for each account, use this AMI image to spin up the server and use User Data field for EC2 instance to execute the commands. This way, we do not need to build any container. It is much more convenient to terminate the instance as well because we only need to add one line command at the end of User Data to stop the instance after all the executions are finished.
What a neat solution! Only after a short 10-minute discussion, I have learnt so much. The most enjoyable part of my work is that every day, I learn new knowledge and experience from all the Cloud Engineers in my team and I can utilise them in my project. Doing a hands-on project is always the fastest way for learning and growing. And I love resolving challenges at my work.
My stomach starts to complain because it is hungry! I go to the Refreshment Zone and buy a snack. There are always too many options and it takes me a while to pick what I want. And I am going to get M&M chocolate this time.
I go back to my seat to reply some emails regarding to yesterday’s AWS event and the organisation for the upcoming AWS Game Day.
I go to have lunch with my friend who is a first-year graduate at Digital. We chat about our work and life. We also plan to make a sukiyaki at her place during the weekend. I already feel excited about it!
I check my calendar and I find I only have one meeting at 3pm in the afternoon. Therefore, I decide to work on Woodside’s collaborative zone for a while because I love the view from this level.
I start to test the viability of the strategy suggested by my technical coach this morning. I create the image for the test instance and spin up another instance using this image. And I carefully test tag, migrate, and delete commands one by one using User Data.
I also check with another cloud engineer in my team on how to print the logs from User Data execution into Cloudwatch console. He is working from home, but he sends me the shell commands. However, I cannot understand the meaning of the commands because they look quite complicated. I make a note to myself to have a chat with him tomorrow when he is in office.
I have a meeting with another three cloud engineers. This meeting is to discuss about the solution architecture for another project in the team. Although I do not participate in this project, I am keen to learn what their thoughts are, and I ask some questions about their strategy as well. I get to learn a lot about the context of our current security system architecture in the cloud.
It is home time! I pack up my bag and say goodbye to everyone. When I arrive home, the roses I planted are blooming! I love flowers and fruits. I have a mango tree, a passionfruit tree, a fig tree, a small pomegranate tree, roses, bougainvillea in my small garden. It is also part of my job to water them and check their health every day
My partner and I are going to make some dumplings tonight and they will also be my lunch tomorrow! After dinner, I have a video call with my parents in China.