Introduction Flashcards
(59 cards)
How many generations of computer technology development have there been?
5 generations and we are in the 6th
1st Generation Technology
Moore’s Law, IBM360, Mini Computers.
1st Generation Technology was used for
Programs/ Jobs written and submitted to computer operator.
Timesharing eventually improved development processes
2nd Generation
Mini Computers popularized around small businesses and universities
2nd Generation Technology usage
Users could interact with machines directly via terminal. Client server paradigm.
Early Examples of Distributed Computing (2nd Gen)
RPC calls, Mounting file systems, Client/Server model
3rd Generation
Microcomputers become more popular. Pcs more affordable. IBM PCs launched and MS DOS. Internet comes into its own
4th Generation
PC power increases from 80s to late 90s. Centralized processing moves to fast clients. This complicated IT management. Increase in portable computers and pervasive devices appear.
5th Generation
WWW invented in 1989. Commercial use of Internet in 1991. Decommissioning of internet backbone in 1995 leaving it as a self-supporting industry. In the 2000s companies began to rethink business models. They realized services could be provided over the internet.
Cloud Computing
Anyone with a credit card can access/provision hardware, services, or runtime environments as a utility. Practically limited to a vendor as it’s difficult to move services. In the future we should be able to meet needs via cloud marketplace. Need unified representations/standards in cloud space to make this happen.
Cloud Computing Berkeley Definition
Refers to both the applications delivered as a service over the internet and the hardware and system software in the datacentres that provide those services. This introduces the concept of XaaS (everything as a service).
The cloud shift covers both needs of;
- Single user hosting documents in Dropbox (example)
- CIO deciding to deploy part of or the entire corporate infrastructure in the public cloud
Cloud Computing NIST definition
Cloud Computing is a model for enabling ubiquitous, convenient, on demand network access to a shared pool of configurable computing resources such as networks, servers storage, applications and services that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models and four deployment models.
Cloud Essential Characteristics
- On Demand self-service
- Broad network access
- Resource pooling
- Rapid elasticity
- Measured service
On Demand Self-Service
Consumer can unilaterally provision computing capabilities. Ex. Server time, network storage. This can be done automatically without requiring human interaction with each service provider.
Broad Network Access
Capabilities available over the network (Internet). Accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (Ex. mobile phones, tablets, laptops, workstations etc.)
Resource Pooling
Cloud Provider’s computing resources are pooled to server multiple consumers using a multi-tenant model. Different physical and virtual resources dynamically assigned and reassigned according to consumer demand. Location Independence.
Examples of resources
Storage, Processing, Memory, Network Bandwidths
Rapid Elasticity
Capabilities can be elastically provisioned and released (sometimes automatically) to scale rapidly outward and inward commensurate with demand.
- Consumer has illusion of unlimited resources at his/her disposal.
- Can be appropriated in any quantity at any time (on demand).
Elasticity
Enables a company utilizing the cloud to benefit from transference of risk, specifically risks of over-provisioning (under utilization) and under-provisioning (saturation).
2 Types of scaling
Vertical scaling and Horizontal scaling
Vertical Scaling
Replacing machines with more powerful machines (more memory, faster processor etc. Increase application resource capacity by increasing resources within existing nodes)
Horizontal Scaling
Add more of the same machines. Increase application resource capacity by adding entirely new nodes. Can be more complex to manage.
Measured Service
Cloud systems automatically control and optimize resource usage by leveraging a metering capability at some level of abstraction appropriate to the type of service. Resource usage can be monitored, controlled and reported, providing transparency for provider and consumer generally in SLA form.