Imagine you’re developing software to sell or enhance your business, but you’re unsure how to make it accessible to users. Seeking guidance from a tech expert, they explain that to make your software available, you need a dedicated computer server. You now ask, “Should I buy a server or use my laptop?” The expert responds, “You can buy or rent a server.” They clarify that a laptop isn’t suitable for server functions. You can purchase a server outright or opt for Cloud computing, where you rent server resources as needed. You are left with the question, “What’s better?”
On Friday, January 26, 2024, within the Rwanda Technology Community, we addressed this question in our weekly Digital Discourse. In this post, you’ll discover the answer and gain additional insights into Cloud computing.
Read about our previous session on Web3.
On-premise and Cloud Computing
When we refer to “On-Premises,” we’re discussing the servers and other equipment that you purchase and install at your physical location, where you also operate your software. This encompasses network connectivity equipment (routers, switches), dedicated computers (servers), security devices (firewalls), and cooling systems to prevent overheating. In contrast, cloud computing involves renting these resources over the internet. Certain companies possess abundant such resources, allowing you to rent them based on your specific requirements.
Both are good, but let’s look at the differences between the two and what you should know before choosing.
On-Premise | Cloud Computing |
It costs a lot of money. You buy equipment, find a place to put it, pay the team to take care of it, and when it has a problem, you pay to fix it. | The cloud provider takes care of everything and you pay for for service as you need it. |
It’s not easy when you are going to move an office. You have to carry around all machines. | You don’t need to move any machine. You always have access to it as long as you have access to internet. |
As your software scale or your needs grow, you need to invest more in new servers, more storage or more infrastructure as you need. | When your software scales, you pay for them as you need them. For some providers, as your needs grow, your price decreases. |
Requires big space to contain the infrastructure. | Do not need any physical space. |
Security is expensive. | Cloud providers takes care of security concerns. |
Manual updates. | Automatic updates |
While Cloud computing and On-Premises differ, it’s crucial to acknowledge that Cloud services are underpinned by someone’s investment in On-Premises office infrastructure. The cloud isn’t in the sky—it’s supported by tangible, carefully managed resources.
What is Cloud Computing?
Microsoft Azure defines Cloud computing as the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale.
For instance, consider the photos you capture on your phone today. Storing them solely on your device risks loss if the phone malfunctions. To prevent this, saving them to cloud storage like Google Drive or iCloud ensures easy retrieval even if your phone encounters issues. This exemplifies how the Cloud is employed for secure data storage.
Types of Cloud Computing
It can be categorized in two ways: by how it reaches users (Deployment model) and by the services it provides (Service model). In terms of distribution, it includes public, private, and hybrid. In terms of services, it encompasses infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS).
Deployment Model
Public cloud refers to a scenario where a company owns servers or infrastructure but opens it up for public use. In essence, it’s a shared resource accessible to others. For instance, online storage services provided by a company represent a public cloud. Many companies offer services in this manner, allowing users to leverage the infrastructure for tasks like secondary storage (backup) and running heavy applications.
Private cloud refers to a situation where a company maintains its own infrastructure, which is not shared with external entities. It operates exclusively within the company, with no external control. Typically, this involves on-premises infrastructure, but some companies offer off-premise solutions for those seeking a private cloud. This model grants a higher level of control to the specific company over the infrastructure it employs.
Hybrid cloud refers to a scenario where companies leverage the benefits of both public and private clouds. They utilize the public cloud for less sensitive activities and employ the private cloud for tasks involving higher security or privacy concerns. This combination of public and private cloud usage is termed “hybrid.”
Service model
IaaS (Infrastructure as a Service) provides users with a comprehensive package, much like purchasing a server. It includes the internet, associated hardware, firewalls, cooling equipment, and even the services of an IT administrator. With this cloud model, users receive a fully operational computer system without the need for in-house management. The IT administrator oversees the rented computer and infrastructure remotely.
PaaS (Platform as a Service) is tailored for situations where an IT administrator may not be necessary or is not required due to minimal needs. Users can request the appropriate infrastructure and software for immediate use. It is particularly useful for software developers who can avoid the hassle of server maintenance and instead focus on having a ready-to-use server for their software installations.
SaaS (Software as a Service) comes into play when you require a specific service, such as streamlining communication in your company or improving invoice processing. Instead of commissioning custom software development, you can opt for existing software that precisely meets your needs. With SaaS, you subscribe to the software and start using it, without having to be involved in its development or customization. It’s a straightforward solution for utilizing pre-existing software functionalities.
Who are the cloud providers?
Numerous global companies offer cloud computing services, with major players including Amazon, Microsoft, Google, IBM, Dell, and others. These companies recognized the value of their existing infrastructure and extended their services to cater to the growing demand from businesses that lacked the necessary infrastructure but needed reliable and scalable computing resources.
In Rwanda, we have local companies providing cloud computing services, such as AOS and Megabit Cloud. Additionally, there are plans, as announced in the previous year, for the establishment of new data centers by Oracle, expanding information storage capabilities in the country. This reflects the growing presence and importance of cloud computing infrastructure in Rwanda.
Get started with Cloud computing
As highlighted earlier, the benefits of cloud computing are evident for your company, work, or even your customers. Before incorporating it into your operations, it’s crucial to understand how it works and how it aligns with your business or work. If you’re a software developer, having an awareness of cloud computing is essential. Feel free to reach out if you need assistance.
We have chosen some courses that you can use to learn Cloud computing in general or others that teach you how to use some of the most used services.
Additionally, possessing knowledge of Linux is crucial, as it stands out as one of the most widely utilized operating systems across various servers. Given its frequent usage, understanding Linux becomes essential. If you’re looking to enhance your Linux skills, consider exploring the following lesson:
If you need assistance with your studies, our community is here for you. Join us!
What’s next?
We wish you the best of luck on your journey to learn about Cloud Computing and hope you continue to benefit from it. Join the Rwanda Technology Community to engage in discussions on various technology topics. Don’t miss our next discussion on February 2, 2024, where we’ll be talking about the development of Chatbots. Don’t miss out!
Thank you for reading! If you need technical assistance, want to learn about specific topics, or require training for a group, contact Techinika at info@techinika.com, and we’ll be happy to help. Join our community for daily knowledge-sharing and participate in our various activities.
Have a wonderful week!