To be able to understand this part better, please click below 👇 to read the first part of this recap if you haven’t done that already.
Getting Started with Cloud Engineering — Event Recap (Part 1)
Introduction to Cloud Engineering
Bukola Bisuga — Software Engineer, Interswitch Nigeria
Bukola builds financial cloud services and applications as a software engineer at Interswitch.
Bukola explained Cloud Computing as delivering computing services (servers, software, and databases) over the internet. The cloud computing stack includes Infrastructure As A Service (Iaas), Platform As A Service (Paas), and Software As A Service (Saas).
Infrastructure as a service provides instant computing infrastructure managed over the internet. The Platform As A Service allows a framework to build a product on the infrastructure. This product is Software As A Service.
She mentioned the pros and cons of Cloud Computing as it has become fast-rising and with more advantages than disadvantages. Cost savings, security and reliability, are advantages of Cloud Computing. Scalability — another benefit of cloud computing — gives you access to an unlimited amount of space, storage, and servers that you can deploy software applications. Cloud Computing provides a means for disaster recovery when needed. It also helps you focus on building rather than hosting.
On the downside, Cloud Computing does not allow as much control as compared to using other means. It also relies heavily on internet connectivity to function.
Bukola explained that Cloud Engineering is a systematic approach to cloud computing. It is engineering principles integrated into Cloud Computing. It involves Programming, DevOps, Security, Networking, and Databases.
She gave top reasons for anyone to become a Cloud Engineer;
- Cloud Engineering is ranked as the most requested skill and has over a hundred thousand job listings.
- As a cloud engineer; you can unleash your creativity and solve real problems. You utilize skills like DevOps, Web Security, Disaster Recovery, Containerization, Networking, Machine Learning, and System Design.
- Increase in demand with attractive salaries.
As a cloud engineer, your roles involve planning, designing, managing, maintaining and supporting cloud computing services.
Bukola explained the careers in Cloud Computing such as Cloud Architecture, Cloud Development and Cloud Support, and their roles.
Cloud Architecture, she explained, involves the planning, designing, and building the cloud computing infrastructure for an organization. Cloud Architects oversee a large portion of a cloud network and evaluate cloud performance regularly. They also plan and manage all cloud components — hardware, software, and applications, and develop technical solutions to overcome challenges in any of the parts.
Cloud Development majorly involves the building, deployment and optimization of cloud-based applications. Cloud Developers build the architect’s vision into code on their respective platforms. They combine traditional development skills with cloud-specific knowledge to build, deploy, and optimize applications through the cloud. They also utilize computer networking and system designs to ensure the deployment of applications. In Cloud Development, the three major roles are Cloud Engineer, Cloud Developer and Cloud Software Developer.
Bukola also explained that Cloud Support deals with onboarding, troubleshooting and maintaining cloud services for clients. They work directly with cloud clients and help provide support for individual cloud components for clients. They also troubleshoot solutions alongside Cloud Architects to resolve customer issue on a larger scale. Roles in Cloud Support include Cloud Support Engineer, Cloud Security Engineer and Cloud Systems Engineer.
She mentioned a few other roles in Cloud Engineering such as Data Engineers, Software Engineers, DevOps Engineers, Software Architects, Cloud Systems Administrators, Cloud Security Engineers, Cloud Sales, amongst many more.
For Beginners, she gave insights on paths to follow and what knowledge you need to kickstart your career in Cloud Computing.
- Programming languages and version control systems such as Python, Java, C++, .NET, and Git.
- Operating Systems and Terminals like Linux and Bash.
- Databases and Data Storage — SQL, Hadoop.
- Web Services and Security.
- Virtualization and Containerization with Docker and Kubernetes.
- Software Lifecycle and Development Operations (DevOps).
- Troubleshooting and problem-solving.
You would also need to gain hands-on experience through internships and contributions to open source projects. You can also get certified from Microsoft Azure, Google Cloud Platforms and AWS Certifications, to prove that you have a theory and practical experience in Cloud Computing.
To get a job as a Cloud Engineer, you should know about popular cloud services. Some of them are Amazon’s AWS, Microsoft’s Azure (cost-effective for those already using Microsoft products), and Google GCP. They have strong support for open-source software and machine learning.
Bukola explained the best way to learn and have hands-on experience is by making efforts to:
- Contribute to open-source projects
- Participate in internships
- Engage the internet, and
- Join communities like She Code Africa and Digital Ocean Community.
Here’s a link to her presentation.
Uchenna Nebedum — Senior Software As a Service Engineer at Optiva Inc.
A Day In The Life Of A Cloud Engineer
Uchenna introduced some concepts related to cloud engineering and talked about three specific roles — Cloud Solutions Architect, Cloud Operations Engineer, and a DevOps/SRE Engineer.
He explained that cloud computing, in simple terms, is an on-demand availability of computer resources such as CPU, memory, and storage without being directly managed by the user. He mentioned that the actual cloud does not only consist of a public cloud. There is also something known as a private cloud where people buy their infrastructure, virtualize it, and want their workloads there.
Uchenna explained that two specific people make use of the cloud — Cloud Providers and Cloud Consumers. Cloud providers are technology providers who provide technologies referred to as the cloud. Some examples are AWS, Google, and Microsoft. We also have consulting providers whose job is to help people utilize the crowd or professional services to people who want to use or deploy to the cloud.
On the Cloud Consumer side, we have the end-users (you and I) who use Google Cloud and iCloud. They are both Software As A Service which is part of the cloud. There are tech companies that leverage the services of cloud providers to deploy their solutions. It enables them to offer more services to the end-users, examples are Paystack and Interswitch.
He went ahead to explain a few terms used in the ecosystem. He said that a container is a software unit that contains all the dependencies an application needs to run. It helps solve the issue when a developer finishes writing an application and refuses to work on the demo server. You can run that application in a container on your system, lift that container, and run it somewhere else. It would run in the exact way it was running on your system.
According to him, virtualization is simulating computing resources and abstracting them from the physical hardware. He stated that there are various types of virtualization such as
- Storage virtualization
- Compute virtualization which provides RAM, and CPU
- Network virtualization
Two key players in this part are Vmware and HyperV. They are technologies that power the private cloud.
He explained Cloud-native to be a term used to define an application and also a way of thinking. When something is cloud-native; it means it is to make full use of the advantages available on the cloud, like on-demand computing. Cloud-native has also been used to describe applications deployed with microservice architecture.
Uchenna explained what working as a cloud engineer feels like, using Bola as an example. Bola works for a Cloud Provider Consulting Firm that helps other companies get their applications on the cloud. She is a cloud solutions architect, and more like a presales engineer. He shed further light on her role. If a client wants to run their application which currently runs from a server in their office from the cloud; Bola will provide consulting for them to achieve their aim. She needs to be a Subject Matter Expert. She will find out what environment their application is running on, and why they want to move it to the cloud. She will also find out their reason for moving.
Functions of a Clouds Solution Architect using ‘Bola’ as a case study
To give them the kind of guidance they need, she needs to know the services provided by whatever cloud company they want to use. Bola will then work with their budget to give them adequate help. She needs not to make any hasty decision; she would wait to know more about the client’s company and how their technical team works. Bola would also help them choose a specific cloud provider to use; she would enlighten them on the advantage of using one cloud provider over another. She needs to know what service suits the outlined needs of the organization before making a decision. Bola should consider a lot before architecting an application — easy monitoring, deployment, and backup and recovery options.
Uchenna also talked about Systems Engineering and the division of the roles among network engineers and database specialists. He briefly enlightened us about Cloud Operations Engineers and the requirements.
- Cloud Operations Engineers deploy, operate and maintain systems used by organizations.
- They must be familiar with OS-level configuration (Linux/Windows) and specific technologies used in firms like Datadog, SolarWinds, and Docker.
- They must understand backup configuration and restoration, and also be familiar with network technologies.
- These engineers should know how to automate infrastructure configuration and deployment; they should also know at least one scripting language.
- A Cloud Operations Engineer must have in-depth knowledge about database configuration and management.
He ended his session by saying we should learn the fundamentals of things as they currently work. It will make it easier to understand how to configure different things once they move to the cloud.
About the She Code Africa Cloud School Program
Ada Nduka Oyom — The Founder, She Code Africa — explained the concept of the program. She said that it is a three-month cohort-style program. After the program, the top performers will get an internship opportunity; this will give them the required push to pick up a career in Cloud Engineering. It is specifically targeted at Women in tech or as long as you identify with the female gender.
The program focuses on the SRE and will work with dedicated mentors in the field having a learning path, tasks, and projects, which will give a practical experience, not just resources.
The top four program participants will get a direct internship opportunity at Deimos Cloud and an Udacity Nanodegree Scholarship. The program aims to encourage more women in Cloud Computing and bridge the knowledge gap between experts and beginners.
What Are The Benefits Of The Program?
- Free access to learning resources
- Internet subscription (for those who cannot afford it)
- The Nanodegree scholarship (for top participants)
- Switching from learning to real-time work experience
What Is The Application Process?
The application process has 4 phases — the technical assessment, essay questions, application review, and interview.
The technical assessment phase is a way to know if the applicant has basic knowledge in the field. The questions will come in two ways, and the applicant can choose to attempt any of them. The assessment might be simple, but code plagiarism is not encouraged. Essay Questions phase is to know the applicant better and their commitment to the program. The Interview phase is to place a face to the name and know the applicant better.
The event ended with a Q n A session with Bukola, Uche, and Ada answering questions from the audience. The initiative does sound promising, enlightening, and like what someone needs to kick up her Cloud Computing career. Well, enjoy the ride. Seize the opportunity if it interests you and join the community of Cloud Engineers.
Edited by Olamide Makinde