My She Code Africa Cloud School Journey

My She Code Africa Cloud School Journey

Thanks to the She Code Africa Cloud School Program, I have spent the past two months learning about and working with various cloud engineering tools and technologies. The She Code Africa Cloud School Program is a free three-month intensive program strictly for ladies interested in pursuing a career in site reliability/cloud engineering.

A few days ago, I received the mail informing me that I had passed and moved on to the third and final month of the program, and I’ve been joyous about it ever since. Each week of this program, I’ve learned about new technology and worked with them by carrying out the tasks assigned for each week. At the beginning of the program, one OS I familiarized myself with was Linux OS and its commands. For the first month, I learned the basics of DevOps, virtualization, and containerization using Docker, web servers, and systems administration using Linux. Two main concepts that I enjoyed learning about are:

  • Virtualization
  • Containerization

Containerization

Containerization is simply the process of packing software code together with all the necessary libraries, frameworks, files, everything needed to run the code so that they are isolated in their own container, mainly for portability purposes. Therefore, a container is a standard unit of software code, independent of its environment, that contains everything necessary for the code/application to run and work well, regardless of changes in the environment. Using containers, an application can be easily moved and yet run effectively no matter the environment it has been moved to because it is lightweight, independent of the environment and has everything it needs to run.

Virtualization

Virtualization can simply be described as the creation of a virtual version of a thing rather than a physical/actual one. In this instance, it refers to the running of multiple operating systems on a computer simultaneously, thereby enabling the operation of various applications on a single server. Two key components that make this possible are:

  • The hypervisor
  • The Virtual Machine (VM)

In the second month — September, I learnt about various cloud models, continuous integration and deployment (CI/CD), infrastructure provisioning and networking on the cloud. While I found CI/CD very interesting, mainly because of the tools, one concept I enjoyed and took my time to understand is cloud models. There are three cloud models:

  • Software as a Service (SaaS)
  • Platform as a Service (Paas)
  • Infrastructure as a Service (IaaS)

SaaS

SaaS is a cloud model and software distribution model in which applications or software is delivered over the internet as a service. Software as a Service applications run on a SaaS provider’s servers which means the provider manages access and everything related to the application. SaaS applications are also called on-demand software, web-based software or hosted software because only an internet connection is needed. The customers have no hardware or software to buy or install or maintain. The provider does this.

PaaS

PaaS is the pay-as-you-go cloud model in which a customer purchases and accesses necessary resources from a cloud service provider. In this model, customers rent resources they need from the cloud service provider. The cloud service provider provides database management, infrastructure, development tools, middleware and operating systems. Since PaaS can be accessed over the internet, building an application in a web browser is possible.

IaaS

Of all the cloud models, I found IaaS to be the most interesting. Also known as Hardware as a Service, the IaaS model is one in which the cloud provider manages and delivers all cloud computing infrastructure using virtualization technology. In the IaaS model, everything is done through what can be referred to as a virtual data centre hosted in the cloud. IaaS is also referred to as the original “as a service” offering and is the most flexible cloud model.

During this program, I have learnt and worked with technologies and tools like:

My knowledge of Git and Github has expanded and under this program, I have learned to do extensive research on several technologies, which helps me understand new technologies quickly. Reading documentations of various technologies can be a chore, but with this program, I’ve learnt to read documentations, do more research to understand them better, and follow tutorials.

I have also deployed web apps and implemented CI/CD pipelines. My utmost appreciation goes to the She Code Africa team, Ada Nduka Oyom — the founder, Esther Okafor — the project manager, Deimos Cloud and my able mentor — Olumide Falomo. These people and organizations have made my cloud engineering possible and have brought me thus far. I look forward to what this third month holds and I can not wait to start working with more technologies, tools and becoming proficient with those I have already worked with.

Cheers to becoming a cloud/site reliability engineer.🥂

I hope you found this useful. I would like to hear from you so feel free to drop a comment or connect with me via Twitter, LinkedIn, or you can check out my Github page for some cool projects.