Cloud Flashcards
(39 cards)
Iaas
Infrastructure as a service is a cloud computing model that virtualizes computing resources over the internet. it offers infrastructure like virtual machines, storage, networks and servers for rent instead of buying the hardware yourself.
user manages: OS, application, data etc
provider manages, hardware, virtualization, storage, networking
PaaS
Platform as a service is a cloud computing model that provides a platform for developing, testing and deploying applications without managing the backend infrastructure yourself. this can include databases or runtime environments.
user manages: application and data
provider manages: OS middleware, runtime, hardware and networking
SaaS
Software as a service is a cloud computing model that delivers ready to use software applications over the internet. users access the software through a browser without worrying about installation, maintenance or infrastructure.
provider manages everything
Advantages of IaaS
- Versioning
- Easy to collaborate on
- Easy to integrate in a CI setup
- Automate your deployment and recovery processes
- No physical changes are needed
Elastic computing
Elastic computing is the ability to auto scale resources up or down depending on real time demand. this optimizes performance and cost by matching resource allocation to workload need.
- IaaS requires you to configure this manually with some help
- PaaS and SaaS are set up themselves behind the scenes
Scalability
Ability of a system to handle increased workload by adding resources or reducing them when demand drops.
- vertical scaling: more powerful hardware (CPU, RAM)
- Horizontal scaling: more servers
Auto-scaling
Auto scaling is a cloud feature that automatically adjusts the compute resources based on demand and efficiency
load balancing
load balancing distributes traffic across multiple servers to ensure no server is overwhelmed
PaaS with google app engine
Google app engine is a PaaS solution enabling developers to build applications whilst not having to manage the underlying infrastructure. allows many different programming languages.
offers:
- load balancing
- security
- autoscaling
Google cloud functions
A serverless compute service that lets you run code in response to events. triggered by events and only required to pay for the time taken to run the code.
Container computing
Container computing is a method of running software where apps and their dependencies are packaged into isolated units called containers
- they are lightweight
- unlike VMs, containers share host operating system (ran locally)
- popular container platform: docker
Containers vs Virtual machines
VMs run full operating systems and virtualize hardware. this makes them slower to start. Containers share the host OS making them faster. VMs are ideal for isolated full stack systems. containers are better for microservices, scalability.
Virtual machines
Virtual machine is a software based emulation of a physical computer. runs the operating system and apps but hosted on a server
example: google compute engine
Virtualization
the process of creating virtual versions of physical hardware, such as servers, storage or networks.
Which cloud model is compute engine?
IaaS
Which cloud model is app engine?
PaaS
Which cloud model is Kubernetes?
hybrid
Three common use cases for cloud storage
- content storage and delivery
- storage for data analytics and general compute
- backup and archival storage
For users with databases, there are two priorities when considering cloud
- migrate existing database to cloud, and move them to the right service
- innovate, build, or rebuild for the cloud, take advantage of mobile, and plan for future growth
Structured storage
Data is organised, easy to search for, normally stored in tables, mainly used for databases using SQL
Unstructured storage
Data lacks a fixed structure, harder to search for, stored in object storage e.g google cloud storage, examples are reviews or logs. Cloud storage is stored in buckets
Relational storage
a type of structured storage where data is stored in schemas with defined data types and uses the relational database management system model
Difference between cloud spanner (SQL) and other databases?
- familiar relational database structure
- Scales to very large databases
- strong external consistency
- reduces operational overheads
Google Datastore use cases
- user profiles
- product catalogues
- recording transactions
- mobile games