vuoi
o PayPal
tutte le volte che vuoi
SERVERLESS COMPUTING FOR IOT - APPUNTICORSO LAUREA MAGISTRALE - CLOUD COMPUTING
1. INTRODUZIONE ......................................................................................................................................... 3
2. CLOUD COMPUTING ................................................................................................................................. 4
3. AMAZON WEB SERVICES .......................................................................................................................... 7
3.1. Infrastruttura .................................................................................................................................... 7
3.1.1. Access to services ...................................................................................................................... 7
3.1.2. Computing ................................................................................................................................. 7
- Storage/DB ................................................................................................................................ 73.1.4.
- Networking ................................................................................................................................ 83.1.5.
- Developer Tools ........................................................................................................................ 83.1.6.
- Migration ................................................................................................................................... 83.1.7.
- Management ............................................................................................................................. 83.1.8.
- Security ...................................................................................................................................... 83.1.9.
- Analitycs ....................................................................................................................................
- 83.1.10. AI
- 83.1.11. Mobile
- 83.1.12. IoT
- 83.2. Microservizi
- 94. INTERNET OF THINGS
- 104.1. Architecture
- 104.2. Resources and data
- 104.3. Fog Computing
- 114.4. MQTT
- 115. VIRTUALIZZAZIONE
- 125.1. Virtualization
- 125.3. Container-based
- 125.4. Docker
- 135.5. DevOps
SERVERLESS COMPUTING
1421.INTRODUZIONE
The evolution over the past 30 years is moving from HPC to HTC because the number of high demand concurrent Internet users is growing rapidly.High-performance computing (HPC):
is a paradigm which aims to raw speed performance, also measured by floating-point speed. They are mainly used for scientific, engineering and research reasons, but are not suitable for today's demand.High-throughput computing (HTC):
is a paradigm which pays more attention to high-flux computing, where the main applications are Internet searches and web services by millions of users simultaneously. So, the performance goal is now high throughput (number of tasks completed per unit of time). In the years different computing paradigms have born:Centralized computing:
is a paradigm where all resources are centralized in one physical system. So, all- Resources (processors, memory and storage) are tightly coupled and fully shared in one integrated OS
- Parallel computing: is a paradigm where all processors are either tightly coupled with a centralized shared memory or instead loosely coupled with a distributed memory
- Distributed computing: is a paradigm composed of multiple autonomous computers (each with its own private memory) that communicate through a computer network
- Cloud Computing: is an Internet cloud of resources which can be either a centralized or a distributed system (datacenter), which can use a parallel, a distributed or both types of computation
Degrees of parallelism:
- Bit-level parallelism = is based on incrementing the processor word size, reducing the number of instructions required to perform an operation on variables whose sizes are greater than the word size (4, 8, 16, 32, 64 bit)
- Instruction-level parallelism = the processor executes multiple instructions simultaneously with technique such as pipelining or
- Data-level parallelism = the same task is executed on distributed data across processors
- Task-level parallelism = different tasks are executed on the same data
- Job-level parallelism = different independent jobs are executed across process
Any new technology may go through a hype cycle called Gartner hype cycle composed by 5 phases which describes its expectations:
- Technology Trigger = a new potential technology arrives and some early proofs-of-concept appear
- Peak of inflated expectations = the early publicity produces a high number of expectations
- Period of disillusionment = when implementations start to fail and the interest starts to get lower and lower
- Period of enlightenment = more examples on how the new technology can benefit enterprises arrive and become more widely understood
- Period of productivity = the mainstream adoption starts to take off, its market will grow up
System models for distributed computing:
- Clusters = consists of interconnected
services in distributed systems are evaluated based on different metrics (also design goals):
- Performance metrics = we have to think in a broader sense (senso più ampio), so the system throughput is measured in MIPS, Tflops or TPS. Others are job response time and network latency
- Scalability metrics = we want good scalable performance in different dimensions: size (more resources), software (upgrading OS, compilers, adding libraries) and application (matching the problem size with the resources size), Technology scalability is when the system can be adapted to changes in construction technologies, while the time scalability refers to the scalability of generation, for example when moving to next generation processors, we must considerate the impact on the motherboard, the space scalability is related to packaging eto energy concerns, heterogeneity refers to the use of hardware or software components from different vendors. Scalability and OS images scalable performance they are
network bandwidth, operations, software and hardware.
Why it is convenient to go to the Cloud:
- because peaks of over-use and under-use are managed;
- doesn't need to make predictions for demand;
- allows you to scale with an immediate return on performance.
Novità del cloud computing: through the virtualization of resources we are able to achieve elasticity and the illusion of infinite capacity (horizontal scalability) available on demand, with the possibility of self-provisioning, and finally the pay for use (pay only for what you use) and increase of resources when needed and release resources when not in use.
Objectives while building such technology:
- Moving computing from desktops to data centers
- Scalability in performance (as the number of users increases) = Elasticity
- A new cost model (pay-as-you-go)
- Data privacy protection
- High quality of cloud services (QoS must be standardized)