Introduction to Cloud Computing
Traditional On-Premises Architecture
Before the advent of cloud computing, organizations relied on On-Premises Architecture. This required companies to build, own, and manage their own physical data centers. In this model, every component of the IT stack—from the physical hardware to the software—was the sole responsibility of the internal IT team.
Disadvantages and Challenges
- High Capital Expenditure (CapEx): Purchasing servers, storage, and networking hardware required massive upfront investment.
- Scaling Inefficiency: Scaling was static. Increasing capacity required buying and manually installing new hardware, leading to "over-provisioning" (paying for resources you don't use) or "under-provisioning" (crashing during peak traffic).
- Maintenance Burden: IT staff spent most of their time on hardware maintenance, cooling, and power management rather than innovation.
- Slow Deployment: It could take weeks or months to procure and configure a new server for a project.
The Transition to Cloud Computing
Cloud computing emerged as an evolution to solve these traditional challenges. It shifted the focus from owning physical assets to a utility-based business model where computing power is treated like electricity or water—accessible on-demand and paid for based on consumption.
Definition of Cloud Computing
"Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."Core Objectives of the Course
Through this course (BCSE408L), we aim to achieve the following:
- Understand the fundamentals of cloud computing and Virtual Machines (VM).
- Gain knowledge of various cloud service (IaaS, PaaS, SaaS) and deployment models (Public, Private, Hybrid).
- Master cloud management and security concepts, including the CIA triad and risk management.
- Develop and deploy real-world applications using AI and IoT in cloud environments.