STCLOUD_cloud computing continuation - cloud computing defined, infra as sw, trad comp model, cloud comp model, levels of virtualization, deployment models
RAW FILE
This note has not been edited yet.
Cloud Computing Defined
Cloud computing is the on-demand delivery of computing/IT resources via the network (over the cloud or local network)
- the original was AWS's definition, they are a public cloud service → what about private cloud? the original definition cannot
- cloud computing is a usage of virtualization, a methodology
- cloud computing can be public or private, or hybrid
- private cloud can just be local network
- pay-as-you-go is incorrect if you are on a private cloud setup
- network is our I/O instead of physical devices
Infrastructure as software
- cloud computing (because of virtualization) enables you to stop thinking of your infrastructure as hardware, and instead think of and use it as software
- rent, renovation, physical equipment, issue with physical space
when virtualized... - flexibility, scalability, recon figure, backup, portable, resource maximization, isolation
Traditional Computing Model
- infrastructure as hardware
- hardware solutions
- require space, staff, physical security, planning, capital expenditure
- capital expenditure is an initial investment or upfront costs
- have a long hardware procurement cycle (canvas, supplies, bids, signatory, release, shipping, setup, config, usage)
- when you purchase something, there's a delay in between wanting it and having it
- require you to provision capacity by guessing theoretical maximum peaks
- require space, staff, physical security, planning, capital expenditure
Under- and over-utilization
Cloud Computing Model → Uses virtualization
- infrastructure as software → you pay a premium and gain certain benefits
- software solutions:
- are flexible (agility, scale)
- can change more quickly, easily, and cost-effectively than hardware solutions
- you don't have to setup the servers, rack and stack them, and other time-consuming setup for physical equipment
- eliminate the undifferentiated heavy-lifting tasks
Cloud Service Models → Levels of virtualization
- virtualization has different types
- virtualization is a form of abstraction and translation
- the level of abstraction may be different (containers are OS virtualizaiton, VMs are hardware-level) based on the level of virtualization
- so cloud computing, we want to split the services into different categories and levels of virtualization
- IaaS is a service model, allows us to perceive computing resources
- closest to traditional data centers
- base computing resources: traditional IT resources
- virtual servers, VMs, containers, storage, networks, firewalls
- CPU cores, memory, storage
- those who will use it will need the most amount of flexibility and control: IT, operations, network security
- PaaS
- for control panels/cpanels → lets you choose applications & respective versions
- applications give you flexibility, the version is for compatibility
- you can choose the programming language (python, node, JS, JQuery, etc., Apache webserver, HTML, nginx, mysql) SCP Secure Copy Protocol
- those who will use it are devs, people in devops
- SaaS
- you're a business person or generic user who wants a website or application → user or subscriber of a particular service
- you don't get to choose the version or webserver you're gonna use
- ex. wordpress, wix, gdocs, gdrive
- register to use (accounts)
- user configuration, user preferences
Cloud Computing Deployment Models
where is it being deployed, how is it being used?
- Cloud (Public cloud) - mostly accessible via the internet, you subscribe/rent resources, global scale (ex. services: Azure, AWS, Google Cloud, Alibaba, Oracle, etc.)
- concept of trust (you have to trust the cloud provider you choose, consider the security implications)
- Private Cloud/On-premises - cloud service that is deployed on-premises (ex. CCS Cloud), usually owned by a single organization/single tenant, accessible via intranet or internet, high capex but low opex, more security because it's just local (you can just cut off attackers by cutting the internet access)
- Hybrid Cloud - public cloud and private cloud working together; bale just having a combination of both
- 2 servers in private cloud → high capex low opex → this is for your minimum capacity
- for maximum peaks, rent 1-4 servers on the public cloud. if you don't need them, don't rent them
- more flexibility while getting the certain advantages that only either public has or private has
- recall that a fully cloud setup comes out expensive
In terms of security... there's the Shared Responsibility Model
- the vendor → focused on the infra side of cloud
- the user → focused on the configuration (if you're using SaaS with OS vulnerability, the fault is on the cloud provider) (If you're using SaaS and there's an issue with user password → the fault is on the user)
- if its something you can't configure and the cloud handles it, it's the fault of the provider
- choosing SaaS means you will have less responsibility, if you chose IaaS then you have more responsibility on the password
- if you understand the implications of security, then you might want to go for a private cloud
- private cloud gives you more control but you will have more responsibility on more aspects (like security)
- in public and hybrid cloud, if the vendor gets compromised you also get compromised.
- it's up to your understanding and skillset, and level of responsibility that you want
next
- similarity of data centers, aws module 2