Cloud Computing Concepts and Paradigms Flashcards
What is the purpose of this module?
To explore modern, scalable, cloud based development and deployment practices
What are the primary areas of focus
1) Scalable cloud architecture as a service paradigm
2) Modern development, testing and deployment practices
What is cloud computing?
On demand availability of computer system resources, espcially data storage and computing power, without direct active management by the user.
What is Cloud Native Infastructure?
It’s about servers, networks, and storage in the cloud, as well as the operational hygiene and elasticity and scalability of services
What is site reliability engineering?
A set of priciples and practices that incorperates aspects of software engineering and applies them to infrastruture and operations problems.
What is DevOps?
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.
What are containers?
Packages of software that contain all the necessary elements to run in any environment. Containers virtualise the OS and run anywhere.
What is Docker?
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.
What is Kubernetes?
Open source container orchestration system for automating software deployment, scailing and management
What is a microservice?
A variant of the service-oriented architecture structural style - arranges an application as a collection of loosely-coupled services.
What is serverless infrastructure?
Cloud native development model that allows developers to build and run applications without having to manages servers.
What is the LAMP stack?
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
What are the 5 paradigm shifts that have happened in networked services and communications since 1950?
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
What does SOAP stand for?
Simple Object Access Protocol, a protocol that originated in 1998
What are Cloud Native Solutions?
A set of tools, concepts and technologies which may be used to realise a cloud native software solution.
How is it possible to leverage the many thousands of servers?
Conceptual Abstraction
What are the building blocks of The Cloud?
Applications Software |
| Development Platforms |
| Resource Sharing |
| Infrastructure |
What is application software?
The top layer of the stack which normally is the component that the user utilises
What are development platforms?
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.
What is resource sharing?
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
What is infastructure?
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
What is Saas?
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.
What is Pass?
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
What is IaaS?
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.