Cloud Computing Concepts and Paradigms Flashcards

1
Q

What is the purpose of this module?

A

To explore modern, scalable, cloud based development and deployment practices

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the primary areas of focus

A

1) Scalable cloud architecture as a service paradigm

2) Modern development, testing and deployment practices

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is cloud computing?

A

On demand availability of computer system resources, espcially data storage and computing power, without direct active management by the user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Cloud Native Infastructure?

A

It’s about servers, networks, and storage in the cloud, as well as the operational hygiene and elasticity and scalability of services

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is site reliability engineering?

A

A set of priciples and practices that incorperates aspects of software engineering and applies them to infrastruture and operations problems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is DevOps?

A

Development Operations - a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high quality software. It is complementary with agile software development.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are containers?

A

Packages of software that contain all the necessary elements to run in any environment. Containers virtualise the OS and run anywhere.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Docker?

A

In terms of cloud computing, it is a tool that is used to automate the deployment of applications in an environment designed to manage containers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Kubernetes?

A

Open source container orchestration system for automating software deployment, scailing and management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a microservice?

A

A variant of the service-oriented architecture structural style - arranges an application as a collection of loosely-coupled services.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is serverless infrastructure?

A

Cloud native development model that allows developers to build and run applications without having to manages servers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the LAMP stack?

A
A group of open source software that is typically installed together to enable a server to host dynamic websites and web apps. LAMP is an acronym which stands for:
Linux
Apache
MySQL
PHP/Pearl/Python
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the 5 paradigm shifts that have happened in networked services and communications since 1950?

A

1950/60s: Mainframe and Terminals
1968: The Mother of all Demos
1980s: Client ⇌ Server
1974 - 1983: TCP/IP, UDP, DNS and the Internet
1989: Hypertext on the Internet: The Web
1990s: Web and Hypertext
1993: Server-Side Scripting/Programming
1998: Google
2000s: Service Oriented Architecture
2006: Cloud Computing - AWS
2010s: Cloud, Fog and Edge Computing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does SOAP stand for?

A

Simple Object Access Protocol, a protocol that originated in 1998

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are Cloud Native Solutions?

A

A set of tools, concepts and technologies which may be used to realise a cloud native software solution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How is it possible to leverage the many thousands of servers?

A

Conceptual Abstraction

17
Q

What are the building blocks of The Cloud?

A

Applications Software |
| Development Platforms |
| Resource Sharing |
| Infrastructure |

18
Q

What is application software?

A

The top layer of the stack which normally is the component that the user utilises

19
Q

What are development platforms?

A

Development platforms allows applications developers to write application software in terms of a cloud’s API. Development platforms typically provide specifications that developers can use for routines, data structures, object classes, libraries and variables.

20
Q

What is resource sharing?

A

Resource sharing mechanisms embody some key cloud ideas:

- Provide software, computation, network and storage services
- Allow a shared environment whereby multiple hardware images and system images can run side by side on a single infrastructure along with security, resource and failure isolations
- Consolidate physical servers into virtual servers that run on fewer physical servers
- Deliver agility and elasticity to rapidly respond to users' resource and service demands
21
Q

What is infastructure?

A

Physical resources compose the bottom layer and are primarily deployed on the cloud provider’s side. The broad resource classes include the following:

- Compute resources, typically server, which are computers designed for enterprise computing (as opposed to user workstations). They usually are rack mounted to utilise space efficiently
- Storage resources that maintain the cloud's data. Application storage usually is charged in terms of capacity usage (for example, per gigabyte or terabyte).
- Network resources that enable communication between servers as well as between servers and clients
- Software that manages the compute, network and storage infrastructure
22
Q

What is Saas?

A

Software as a Service - any application in which the end user has access to a software application over the network and pays based on a variety of business models, some of which are free.

These are hosted in the cloud and are typically assessed by users using a thin client via a web browser.

It’s one of the most common cloud service models.

There is no need to install, run or maintain the application on end user systems.

23
Q

What is Pass?

A

Platform as a Service - the offering of software development platforms as a service, which are utilised to develop SaaS apps

It allows for the creation of web applications in a simplified manner without the complexity of purchasing and maintaining any of the underlying software and infrastructure

PasS-based offerings allow users to develop, deploy and scale applications on platforms that are offered by cloud providers. PasS is analogous to SaaS, except that rather than software delivered over the web, it is a platform for the creation of software that is delivered over the web

24
Q

What is IaaS?

A

Infrastructure as a Service (IasS) - the leasing of virtualized infrastructure over the network. The end user has the flexibility to install and use any software they please on the leased infrastructure.

Cloud providers make computing resources available to clients, usually in form of instances or virtual machines

Providers rent out compute resources in the form of instances or virtual machines - which have some form of configurable CPU, memory, disk and network bandwidth attached to them.

IaaS users can remotely connect to these instances and configure them after they are provisioned.

25
Q

What are the characteristics of SaaS?

A

A vast majority of SasS solutions are based on what is referred to as multitenant architecture.

In this, a single version of the application with a single configuration is used for every customer - tenant.

Dynamic scaling is utilised to allow more users to the service as it becomes more popular.

Access to the software service is web based

Software is managed from a central location by the cloud provider.

Software is delivered in a one-to-many model in which the “one” is the cloud provider and the “many” are the cloud users.

The cloud provider handles software upgrades and patches

26
Q

What are the pricing models of SaaS

A

Usually monthly of annual subscription fee

27
Q

What are the use cases of SaaS?

A

It’s a good model for certain types of applications, like

- Applications that are fairly standardised and do not require custom solutions (email is a good example)
- Applications that have a significant need for remote/web/mobile access, such as mobile sales management software
- Applications that have a short-term need such as collaborative software for a particular project. 
- Applications in which demand spikes significantly, such as tax or billing software that is used once a month
28
Q

Where might SaaS use cases might not be the right choice?

A
  • Applications that require offline access to data
  • Applications that require significant customisation
  • Applications in which policies or regulations disallow data from being hosted externally
  • Applications in which existing in-house solutions satisfy all of the organisation’s needs
29
Q

What are the characteristics of PasS?

A

PasS offerings vary among providers but usually feature some basic functionality, which includes:

- Services to develop, test, deploy, host and maintain applications in the same integrated development environment
- Web-based user interface create tools to help create, modify and test various UI scenarios.
- Multitenant architecture in which multiple concurrent users utilise the same development tools
- Built-in scaling mechanisms of deployed software that can be handled automatically by the cloud provider by load-balancing and failover mechanisms.
30
Q

What are the PasS pricing models?

A

PaaS is usually priced in terms of usage of the platform. The more an application developed using PasS gets used, the more the PasS developer gets charged

31
Q

What are the PaaS use cases?

A
  • Rapid application development scenarios
  • Applications that require web-based infrastructure to handle varying loads from users
  • Applications that may not need redeployment or migration to other platforms in the future
32
Q

Where might PaaS use cases might not be the right choice?

A
  • When the applications needs to be highly portable in terms of where it is hosted
  • When proprietary languages or APIs could impact the development process or cause trouble in the future due to vendor lock-in
  • When application performance requires customisation of the underlaying hardware and software
33
Q

What are the characteristics of SaaS?

A
  • Computing resources are provided to IaaS users as a service
  • IaaS providers provide tools that enable IaaS users to configure the dynamic scaling of resources
  • IaaS providers usually have difference resource offerings at difference costs and follow a utility pricing model
  • The same physical resources are shared among multiple users
34
Q

What are the IaaS pricing models?

A

Usually billed on an hourly basis per instance.
In prorated billing, each partial hour is billed partially
Non-prorated is when each partial hour is billed as a full hour

35
Q

What are the IaaS use cases?

A
  • When demand for computing resources is volatile
  • For new organisations that do not have the capital to
    invest in on site infrastructure
  • When organisations need to grow their IT resources rapidly
  • For temporary projects or infrastructural needs
36
Q

Where might IaaS use cases might not be the right choice?

A
  • When regulatory compliance does not allow data to be offshored or outsources
  • Applications have strict quality of service requirements
  • Organisations have existing in-house customised infrastructure to meet their IT needs