This is the first of many blog posts I assume I will end up writing in the future. Because hey, we learn everyday! Today’s edition is all about technical things I’ve learned recently as part of my new rotation in Platform Services.
Now, I don’t usually write about my rotations until the very end of the rotation, but in this team in particular, I finish every week with so much information in my head that I want to not only share but also helps me digest it all.
Before joining this team around 6 weeks ago, I had a huge gap in my technical knowledge around infrastructure and the magical computers in the sky. The extent that I knew was around the basics of website hosting, buying a domain name and linking it to a website and bits of file transfer protocol (FTP – omg, remember those days?!) I knew all of this from just playing around back when I was little.
Technology has moved on at lightning speed since the days where my world view of technology was me building a simple website and blog on my family’s computer. There are now, as I’m learning, more stuff I don’t know that I don’t know.
All these are some of my notes on my understanding on the different technologies I use now at work. This is how I understand them and some will be overly simplified (mostly for my benefit, but also anyone interested in diving into these new technologies!) Please feel free to comment on any mistakes I’ve made. We are always learning 😊
The term Cloud Computing sounds like a buzzword that people just throw around. As a newbie, this was a concept I found difficult to get my head around. But after learning from my team, AWS Newbies and A Cloud Guru, I feel like I have a better grasp of it as well as the benefits over traditional systems (mainly cost, efficiency and scalability.) The definition that makes the most sense to me and one that I refer back to often is:
“Cloud Computing is an on-demand delivery of compute, database storage, application, IT resources. This refers to things like memory, storage, CPU, databases, servers etc. – basically whatever makes up a computer.”
Although it is called Cloud Computing, everything that is “spun up” live in physical data centres across the world. It is called Cloud because you don’t have to manually manage a physical server, that is someone else’s responsibility, in this case… AWS.
One of the biggest Cloud Computing provider is Amazon Web Services, offering over 165 fully featured services from data centres globally.
I created a free tier account to play around with and am always amazed with all the things that you can do! The most exciting project I’ve done myself is create a React app with continuous integration and delivery pipeline so that when you update the code and build it, it is updated automatically and anyone with the URL can access your app anywhere. Having a platform where all my projects sits and where I have full control of everything related to compute power is super exciting to me.
In my day-to-day role, I get to spin up and down all these different instances (I.e. a virtual machine) on our non-production and tooling accounts every day. It is always amazing when I think about how quickly I can set up an instance as well as terminate it! I’m currently on my way to studying the AWS Cloud Practitioner Exam, using learnings from my job but also resources such as A Cloud Guru and AWS Newbies.
Now we get to the fun part! Infrastructure as code has been more fun to play with than I ever thought that it would be. 😂 The technical parts that I’ve using to create Amazon Machine Images (AMIs), build up stacks, environments, platforms etc include mostly Terraform, Packer and Ansible.
These are both technologies that Matt has used on hosting my blog! I had briefly tried to understand what he was doing when we were re-building my blog and moving it over to his Kubernetes clusters. However, other than seeing him work his magic, I didn’t really understand it.
This resource is the best one there is out there: “The Illustrated Children’s Guide to Kubernetes” I’m quite a visual learner too, which means that yes, I always picture these characters whenever I think of Docker and Kubernetes 😂
I didn’t really understand Docker during my previous rotation in development. But now, in my new team, Docker is the containerisation technology that we are all moving towards and hopefully getting other teams to practice the same thing.
Over the last week or so, I’ve moved from doing all my work on my local machine to now working inside a Docker container. Some of my other team members have also been doing all their work on the same Docker container and guess what? It just works! This is helps stop the conversations of “it doesn’t work on my machine, but why does it work on yours?” I honestly didn’t understand the big deal, until I had blockers because of my local machine set-up but now… all that is gone! I am zen ASF 😎
I’m learning so much day after day, I leave work with my brain a bit frazzled at times but it is so worth it when what I’m learning eventually starts to sink in.
I didn’t think that I would enjoy infrastructure but it really is so exciting! I’m looking forward to what else I can learn and pick up in the next few months…I’m sure that there will be a blog about that 😉