= Εισαγωγή στο Cloud !
Apostolos rootApostolos@swarmlab.io
// Metadata:
:description: IoT  Εισαγωγή στο Cloud
:keywords: Cloud, swarm
:data-uri:
:toc: right
:toc-title: Πίνακας περιεχομένων
:toclevels: 4
:source-highlighter: highlight
:icons: font
:sectnums: 

include::header.adoc[]


{empty} +

== Cloud - Intro

Cloud computing is the **on-demand availability of computer system resources**, especially data storage and computing power, without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet. 

Large clouds, predominant today, often have functions distributed over multiple locations from central servers. If the connection to the user is relatively close, it may be designated an edge server.

Clouds may be limited to a single organization (enterprise clouds), or be available to many organizations (public cloud).

Cloud computing relies on sharing of resources to achieve coherence and economies of scale. 

image:./Cloud_computing.svg.png[alt="Cloud_computing"] +
From Wikipedia, the free encyclopedia +
https://en.wikipedia.org/wiki/Cloud_computing[^]




=== Cloud Computing Tutorial for Beginners

* Cloud Computing Tutorial for Beginners
+
video::RWgW-CgdIk0[youtube]


== Cloud computing architecture

Cloud computing architecture refers to the components and subcomponents required for cloud computing. These components typically consist of a front end platform (fat client, thin client, mobile device), back end platforms (servers, storage), a cloud based delivery, and a network (Internet, Intranet, Intercloud). Combined, these components make up cloud computing architecture. 

=== Virtualization

In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, storage devices, and computer network resources. 

=== Containerization

Containerization has become a major trend in software development as an alternative or companion to virtualization. It involves encapsulating or packaging up software code and all its dependencies so that it can run uniformly and consistently on any infrastructure. The technology is quickly maturing, resulting in measurable benefits for developers and operations teams as well as overall software infrastructure.

=== Virtual Machines vs Docker Containers

- A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it.

Docker is the service to run multiple containers on a machine (node) which can be on a vitual machine or on a physical machine.

- A virtual machine is an entire operating system (which normally is not lightweight).


* Virtual Machines vs Docker Containers
+
video::TvnZTi_gaNc[youtube]

==== Docker Containers

image:./container-what-is-container.png[alt="Container",align="center",width=550,height=550] 


==== Virtual Machines 

image:./container-vm-whatcontainer_2.png[alt="VirtualMachine",align="center",width=550,height=550] 


===  Kubernetes vs Docker Swarm

* Kubernetes vs Docker Swarm
+
video::FmrAGliHvzQ[youtube]


:hardbreaks:

{empty} +
{empty} +
{empty} 

:!hardbreaks:

'''

.Reminder
[NOTE]
====
:hardbreaks:
Caminante, no hay camino, 
se hace camino al andar.

Wanderer, there is no path, 
the path is made by walking.

*Antonio Machado* Campos de Castilla
====
