Operational models: Virtualisation, Containerisation, Hosted services and serverless/event driven operation Flashcards

1
Q

What are the three main development models for cloud computing?

A

Private, public and hybrid

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

Who owns a public cloud?

A

A public cloud is owned by a cloud provider but is made available to the public

The cloud provider hosts the cloud infrastructure and the end user can access it remotely without the need to buy or set up a working environment.

The resources are shared among different end users.

Users are typically charged for the durations for which these services are used. However, public cloud charge models vary across providers.

No capital expenditure to scale up
Applications can be quickly provisioned and deprovisioned
Organisations pay only for what they use

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

Who owns a private cloud?

A

It’s typically owned by an organisation who also controls the access to that specific cloud, usually via the organisation’s intranet.

The cloud environment needs to be procured, set up, operated and maintained by the organisation. The private cloud resources are typically shared among an organisation’s end users

Unlike the public cloud, security and terms of use for a private cloud are defined by the organisation.

Hardware must be purchased for start-up and maintenance
Organisations have complete security over resources and security
Organisations are responsible for hardware maintenance and upgrades

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

What is a hybrid cloud?

A

It is a combination of public and private clouds.

This enables the idea of ‘cloud bursting’ - this is where an organisation uses its private cloud for most of its needs and dynamically provisions resources in the public cloud when utilisation exceeds the capacity of it’s private cloud.

Provides the most flexibility
Organisations determine where to run their applications
Organisations control security, compliance or legal requirements

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

How is cloud and the way applications are being designed changing?

A

Instead of monoliths, applications are decomposed into smaller, decentralised services.
These services communicate through APIs or by using asynchronous messaging or eventing.
Applications scale horizontally adding new instances as required.

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

What new challenges do these trends bring?

A

Application state is distributed
Operations are done in parallel and asynchronously
The system as a whole must be resilient when failures occur
Deployments must be automated and predictable
Monitoring and telemetry are critical for gaining insight into the system

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

What are the key elements of management and orchestration?

A

Provisioning of bare server hardware and enrolling into the management system
Profiling and enumerating the capabilities of the bare hardware within a management framework
Providing mechanisms to divide, deploy, leverage and securely manage the capabilities (compute, storage, ram, GPU, ASIC) of the base hardware
Providing an abstraction which can leverage the underlying capability of a cluster

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

In a cloud context, what are the main approaches to subdividing, abstracting and managing these underlying resources?

A

Virtual machines - Iaas
Containers - IaaS
Distributed App Services - PaaS
Functions - PaaS

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

What are virtual machines?

A

Virtual machines are software emulations of physical computers. They have virtual processors, memory, storage and networking resources. VMs host an OS and you can install and run programs just like on a physical computer.

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

What can you do with Azure VMs?

A

You can create and use VMs in the cloud. Virtual Machines provides infrastructure as a service (IaaS) and can be used in different ways. When you need total control over an operating system and environment, VMs are an ideal choice.

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

When should you use VMs?

A

During testing and development
When running applications in the cloud
When extending your data centre into the cloud
During disaster recovery

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

What are containers?

A

Lightweight, virtualised application environments.

While virtual machines are an excellent way to reduce costs versus the investment costs that are necessary for virtual hardware, they are still limited to one OS per virtual machine.

If you want to run multiple instances of an application in a single host machine, while maintaining strong segregation, containers are the way to go.

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

How are containers managed?

A

They are managed through a management layer, which can start, stop and scale out application instances as needed

Standalone Container Instances - Container Instances offers the fastest and simplest way to run a container in the cloud without having to manage any virtual machines or adopt any additional services. It’s a platform as a service (PaaS) offering that allows you to upload your containers, which it runs for you.

Kubernetes - The task of automating, managing, and interacting with a large number of containers is known as orchestration. Kubernetes is a complete orchestration service for containers with distributed architectures and large volumes of containers.

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

How are containers often used?

A

They are used to create solutions using a microservice architecture. This allows you to break solutions into smaller independent pieces

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

What are Distributed App Services?

A

App Services enable you to build and host webapps, background jobs, mobile back-ends and RESTful APIs in the programming language of your choice without managing infrastructure. It offers automatic scaling and high availability.

It is a PaaS environment allows you to focus on the website and API logic while Azure handles the infrastructure to run and scale your web applications.

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

What do App Services handle?

A

They handle most of the infrastructure decisions you deal with in hosting web-accessible apps, such as deployment and management being integrated into the platform; endpoints can be secured; sites can be scaled quickly to handle high traffic loads and the built-in load balancing and traffic manager provide high availability.

17
Q

In what ways to App Services provide support for web apps?

A

They include full support for hosting web apps by using ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP or Python. You can choose either Windows or Linux as the host operating system.

18
Q

In what ways to App Services provide support for API apps?

A

You can build REST-based APIs by using your choice of language and framework. You get full Swagger support and the ability to package and publish you API in Azure Marketplace. The produced apps can be consumed from any HTTP or HTTPS based client.

19
Q

In what ways to App Services provide support for web jobs?

A

The WebJobs feature can be used to run a program or script in the same context as the web app, API app or mobile app. They can be scheduled to run or based on a trigger. WebJobs are often used to run backgroud tasks as part of your application logic

20
Q

In what ways to App Services provide support for mobile apps?

A

You can use it to quickly build backends for iOS and Android apps. You can store mobile app data in a cloud-based database; authenticate customers against common social providers; send push notifications and execute custom backend logic.

21
Q

What are Functions/Serverless Code?

A

Functions are ideal when you’re only concerned about the code and not the underlying platform or infrastructure. They are commonly used when you need to perform work in response to an event, timer or message from another service and when that work can be completed quickly - within seconds or less.

22
Q

What are the benefits of serverless computing?

A

With serverless computing your cloud platform takes care of managing the server infrastructure and the allocation and deallocation of resources based on demand.

Infrastructure isn’t your responsibility

Scaling and performance are handled automatically

You’re billed only for the exact resources you use.

There’s no need to even reserve capacity.

Serverless computing abstracts the servers you run on, you never need to to explicitly reserve instances - the platform manages that for you.

23
Q

What is event driven scale?

A

Serverless computing is an excellent fit for workloads that respond to incoming events. Events include triggers by timers; HTTP loads and queues.

24
Q

What is micro billing?

A

It allows you to pay only for the time the code was running. If no active function executions occur you aren’t charged.

25
Q

What are Azure functions?

A

When you’re concerned only about the code running your service and not the underlying platform then Functions is ideal.

These are often used when you need to perform work in response to an event (often via a REST request), timer or message from another Azure service and when that work can be completed quickly within seconds or less.

Durable Functions are stateful so a context is passed through the function to track prior activity.

Stateless functions behave as if they’ve restarted every time they respond to an event

26
Q

What are Azure Logic Apps?

A

Logic apps are similar to functions. Both enable you to trigger logic based on an event.

Where functions execute code, logic apps execute workflows that are designed to automate business scenarios and are built from predefined logic blocks.

Every Azure logic app workflow starts with a trigger, which fires when a specific event happens or when newly available data meets specific criteria.

You create logic app workflows by using a visual designer on the Azure portal or in Visual Studio. The workflows are persisted as a JSON file with a known workflow scheme.

27
Q

Functions vs Logic apps

A

Both can create orchestrations.

An orchestration is a collection of functions or steps that are executed to accomplish a complex task.

With functions, you write code to complete each step

With logic apps you use a GUI to define the actions and how they relate to one another.

You can mix and match services when you build an orchestration, calling functions from logic apps and calling logic apps from functions.

28
Q

Functions vs Logic apps, cont.

A

Functions are normally stateless but can be ‘durable’, Logic Apps are stateful

Functions are code first, logic are designer first

Functions are about a dozen built-in binding types vs logic apps are Large collection of connectors. Enterprise Integration Pack for B2B scenarios.

Each function is an Azure function, logic app are large collections of ready-made actions