deployment models in cloud - ut
TRANSCRIPT
![Page 1: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/1.jpg)
Cloud Computing – Lecture 10
Deployment models in cloud14 April 2020
Chinmaya DehurySatish Srirama
Mobile & Cloud Lab
![Page 2: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/2.jpg)
Outlines
• Introduction to deployment models in cloud• Deployment concerns and selection criteria• Cloud deployment solutions• Service deployment in cloud • Service deployment standard• Orchestration of cloud services• Cloud service management solutions
Cloud Computing - Lecture 10: Deployement models in cloud 2
![Page 3: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/3.jpg)
Cloud deployment model
What do you mean by deployment model ?• Who is the targeted user?• Each cloud model is a representative of a specified
environment and is distinguished by• Size• Access• Storage and • Ownership.
Cloud Computing - Lecture 10: Deployement models in cloud 3
![Page 4: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/4.jpg)
Cloud deployment model
Cloud Computing - Lecture 10: Deployement models in cloud 4
![Page 5: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/5.jpg)
Cloud deployment models
Cloud Computing - Lecture 10: Deployement models in cloud 5
1. Private Cloud2. Public Cloud 3. Hybrid Cloud
![Page 6: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/6.jpg)
Cloud deployment models comparison
Cloud Computing - Lecture 10: Deployement models in cloud
6
Description Public Cloud Private Cloud Hybrid CloudCloud environment
Multi-Tenancy-Shared environment.
Single tenancy-only for single use of an organization.
Both single tenancy and multi –tenancy.
Data center location
Anywhere Inside the organization’s network.
Both
Resource sharing (Server hardware, network and storage)
shared by multiple users in the cloud.
No sharing of resources.
Very secure; integration options add an additional layer of security.
![Page 7: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/7.jpg)
Contd…
Cloud Computing - Lecture 10: Deployement models in cloud 7
Description Public Cloud Private Cloud Hybrid CloudCloud storage storage as a service
on a pay per use basis.
Internal cloud storage
Streamlined storage in local and public cloud storage.
Scalability Instant and unlimited.
Sacrifices scalability but provides greater control and security.
On demand unlimited resources.
Pricing structure On usage basis. Comparatively expensive.
High
Cloud Security Depends on service provider
Most secure Secure
Performance Low to medium. Very High. Very High.
![Page 8: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/8.jpg)
More deployment models…
Cloud Computing - Lecture 10: Deployement models in cloud 8
• Managed Private Cloud• Hosted Private Cloud• Community Cloud Services
![Page 9: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/9.jpg)
Deployment Concerns
• Security concern• Data governance• Audit• Management• Multi-tenancy• Vendor lock-in concern• Standard concern
Cloud Computing - Lecture 10: Deployement models in cloud 9
![Page 10: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/10.jpg)
Deployment selection criteria
• Workload Patterns• Security concerns• Regulations• Availability• Hosted data classification• Type of requested services• Available budget• Time to operate• Skills
Cloud Computing - Lecture 10: Deployement models in cloud 10
![Page 11: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/11.jpg)
Cloud Deployment solutions• OpenStack• CloudStack• Cloudify• Vmware• IBM Bluemix Cloud• SAP HANA Cloud platform• Red Hat Cloud • Cisco System• Dell Cloud• Platform.sh• Citrix Cloud• HP Helion • Oracle Cloud• NetApp
Cloud Computing - Lecture 10: Deployement models in cloud
11
![Page 12: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/12.jpg)
Cloud Deployment solutions• OpenStack• CloudStack• Cloudify• Vmware• IBM Bluemix Cloud• SAP HANA Cloud platform• Red Hat Cloud • Cisco System• Dell Cloud• Platform.sh• Citrix Cloud• HP Helion • Oracle Cloud• NetApp
Cloud Computing - Lecture 10: Deployement models in cloud
12
This is more about how to setup your own cloud !!!
![Page 13: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/13.jpg)
Cloud Deployment solutions
Cloud Computing - Lecture 10: Deployement models in cloud 13
But how about the service deployment ?
![Page 14: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/14.jpg)
Cloud Deployment solutions
Cloud Computing - Lecture 10: Deployement models in cloud 14
But how about the service deployment ?
How would you deploy your own service, e.g. a messaging platform,
your own website, etc.
![Page 15: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/15.jpg)
TOSCA standard• Topology and Orchestration Specification for Cloud
Applications (TOSCA)• By OASIS, a not-for-profit consortium • Enhance the portability and operational management of
cloud and other types of applications and services across their entire lifecycle.• User will be able to provide• Description of interoperability of the application and
infrastructure cloud services• Relationships between parts of the services• operational behavior of the services
• Deploy, patch, shutdown
Cloud Computing - Lecture 10: Deployement models in cloud
15
![Page 16: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/16.jpg)
TOSCA standard (contd…)• Facilitate higher level of Solution portability:
• Portable deployment
• Simplify migration
• Dynamic, flexible scaling
• Model-driven creation of cloud services
• Standardize deployment
• Process-driven service lifecycle management
• Latest version:
• TOSCA Simple Profile in YAML Version 1.3: https://docs.oasis-
open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3/TOSCA-Simple-
Profile-YAML-v1.3.html
Cloud Computing - Lecture 10:
Deployement models in cloud16
![Page 17: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/17.jpg)
TOSCA modellingGOAL: • Cross cloud, cross tools, orchestration of application on the
cloudBasic blocks:• Topology• Composition• Requirements – Capabilities• State (nodes, relationship)• Lifecycle• Policy
Cloud Computing - Lecture 10: Deployement models in cloud 17
![Page 18: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/18.jpg)
TOSCA modelling – Service Template
• Templates define the structure of a cloud service.• Usually described in YAML or in XML format• Structure of service template• Node Type• Relationship type• Node template• Relationship template
Cloud Computing - Lecture 10: Deployement models in cloud 18
![Page 19: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/19.jpg)
TOSCA modelling – Node Type• Describe the type of a resource, component. E.g. type of
cloud, type of software etc.• This is similar to declaring a class in different Object
Oriented Programming languages. • Describe the lifecycle of the node type.
Cloud Computing - Lecture 10: Deployement models in cloud 19
![Page 20: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/20.jpg)
TOSCA modelling – Node Type• Describe Properties, attributes, capabilities, requirements
of a node
Cloud Computing - Lecture 10: Deployement models in cloud
20
tosca.nodes.Root:derived_from: tosca.entity.Rootdescription: The TOSCA Node Type all other TOSCA base Node Types derive fromattributes:
tosca_id:type: string
capabilities:feature:
type: tosca.capabilities.Noderequirements:
- dependency:capability: tosca.capabilities.Nodenode: tosca.nodes.Root
relationship: tosca.relationships.DependsOnoccurrences: [ 0, UNBOUNDED ]
interfaces: Standard:
type: tosca.interfaces.node.lifecycle.Standard
![Page 21: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/21.jpg)
TOSCA modelling – Node template
• Define topology with • Nodes (node_templates) • Relationship (relationship_templates)
• Node template• To describe components in the topology structure.• Set of nodes (resources/components)• Concrete Node:
• Have deployment and implementation artifacts • Abstract Node:
• Describe only node type, and mandatory capabilities and properties
Cloud Computing - Lecture 10: Deployement models in cloud
21
![Page 22: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/22.jpg)
TOSCA modelling - Node template• Node template - Example
Cloud Computing - Lecture 10: Deployement models in cloud
22
tosca_definitions_version: tosca_simple_yaml_1_3description: Template with a generic dependency between two nodes.topology_template:inputs:
# omitted here for brevity
node_templates:my_app:
type: my.types.MyApplicationproperties:
# omitted here for brevityrequirements:
- dependency: some_service
some_service:type: some.nodetype.SomeServiceproperties:
# omitted here for brevity
![Page 23: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/23.jpg)
TOSCA modelling - Relationship template• Relationship template• To describe connections, dependencies, deployment ordering
• Requirements and capabilities are implicit way to describe the relationship• Some basic explicit relationship types:• DependsOn• ConnectsTo• AttachesTo• RoutesTo• HostedOn
Cloud Computing - Lecture 10: Deployement models in cloud 23
![Page 24: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/24.jpg)
TOSCA modelling - Relationship template
Cloud Computing - Lecture 10: Deployement models in cloud 24
Relationship types example:
![Page 25: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/25.jpg)
TOSCA modelling - Relationship template
Cloud Computing - Lecture 10: Deployement models in cloud 25
Relationship types example:
![Page 26: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/26.jpg)
TOSCA modelling - Relationship template
Cloud Computing - Lecture 10: Deployement models in cloud 26
Relationship types example:
![Page 27: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/27.jpg)
TOSCA modelling - Relationship templateRelationship Example
Cloud Computing - Lecture 10: Deployement models in cloud
27
node_templates:
my_block_storage:type: BlockStorageproperties:
size: 10my_web_app_tier_1:
derived_from: Computerequirements:
- local_storage:node: my_block_storagerelationship: storage_attachesto_1
my_web_app_tier_2:derived_from: Computerequirements:
- local_storage: node: my_block_storagerelationship: storage_attachesto_2
relationship_templates:storage_attachesto_1:
type: MyAttachesToproperties:
location: /my_data_location
storage_attachesto_2:type: MyAttachesToproperties:
location: /some_other_data_location
relationship_types:
MyAttachesTo:derived_from: AttachesTointerfaces:
some_interface_name:some_operation:
implementation: default_script.sh
![Page 28: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/28.jpg)
TOSCA modelling - Relationship template• Relationships have interfaces as well• configure : the basic interface• pre_configure_source• pre_configure_target• post_configure_source• post_configure_target• add_source, add_target• remove_source, remove_target
Cloud Computing - Lecture 10: Deployement models in cloud 28
![Page 29: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/29.jpg)
TOSCA Implementation• Cloudify - http://getcloudify.org/
• DICER - https://github.com/DICERs/DICER
• Eclipse Winery - https://projects.eclipse.org/projects/soa.winery
• Opera - https://github.com/radon-h2020/xopera-opera
• OpenTOSCA - http://www.opentosca.org/
• see full list…
Cloud Computing - Lecture 10: Deployement models in cloud
29
![Page 30: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/30.jpg)
TOSCA implementation
We will discuss following two• Cloudify•Opera
Cloud Computing - Lecture 10: Deployement models in cloud 30
![Page 31: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/31.jpg)
TOSCA implementation - Cloudify• open source cloud orchestration framework.• written in the Python programming language.• Model applications and services and automate their entire
life cycle.• Supports configuration management tools like Chef
Puppet, Ansible for the application deployment phase.• Each application is describe in a YMAL file called blueprint.• GUI to model the service blueprint.
Cloud Computing - Lecture 10: Deployement models in cloud 31
![Page 32: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/32.jpg)
TOSCA implementation - Cloudify
Cloud Computing - Lecture 10: Deployement models in cloud 32
![Page 33: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/33.jpg)
TOSCA implementation - Cloudify
Cloud Computing - Lecture 10: Deployement models in cloud 33
![Page 34: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/34.jpg)
TOSCA implementation - Cloudify
Cloud Computing - Lecture 10:
Deployement models in cloud34
Cloudify Manager primarily is built with open-source components:
• Nginx: high-performing Web server. For the Cloudify
REST service, file server to host Cloudify-specific
resources
• Gunicorn: Web server gateway interface HTTP server
• Flask: Web framework
• PostgreSQL: object-relational database that stores
the application’s model, indexing, and logs’ and
events’ storage
• Logstash: to pull log and event messages from
RabbitMQ and index them in PostGresSQL.
![Page 35: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/35.jpg)
TOSCA implementation - Cloudify
Cloud Computing - Lecture 10:
Deployement models in cloud35
Cloudify Manager primarily is built with open-source components (contd…):• RabbitMQ: Queueing deployment tasks, logs and
events, Queueing metrics
• Riemann: policy-based decision maker (an
experimental feature)
• Celery: distributed task queue. Cloudify
management worker, the deployment-specific
agents and the host agents are based on Celery
• InfluxDB: time-series database; to store metrics
submitted by the application’s hosts
![Page 36: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/36.jpg)
TOSCA implementation - Opera• Lightweight orchestrator• Compliant with OASIS TOSCA• Support TOSCA Simple Profile YAML v1.3 • Red Hat Ansible Automation for interface implementation• Supported by European Union’s Horizon 2020 research and
innovation program “RADON”.• https://github.com/radon-h2020/xopera-opera
Cloud Computing - Lecture 10: Deployement models in cloud 36
![Page 37: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/37.jpg)
Ansible Automation
• IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.• Founded in 2013• Bought by Red Hat in 2015.• Similar technology: Chef, Puppet• Heavily use SSH infrastructure to connect and control
other remote servers.
Cloud Computing - Lecture 10: Deployement models in cloud
37
![Page 38: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/38.jpg)
Ansible
Advantage:• Open-source tool• Agentless: No extra agent is required on the remote
machine.• Flexible• Quite easy as it follow YAML format.• User/developer focus only on the task.
Cloud Computing - Lecture 10: Deployement models in cloud
38
![Page 39: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/39.jpg)
Ansible Architecture: Modules
•Over 1000 modules to automate the tasks•Do the actual work•Most of modules are standalone•Users can also write their own modules
•Here ‘service’ is a module.• Some other modules: read_csv, file, copy,
lineinfile, etc
Cloud Computing - Lecture 10: Deployement models in cloud
39
![Page 40: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/40.jpg)
Ansible Architecture: Inventories• List of nodes along with related info.:• Address• Username• Password• Connection type• Other configuration for ssh connection
• Default location of inventory file: /etc/ansible/hosts• Inventory can be in YAML or in ini format
Cloud Computing - Lecture 10: Deployement models in cloud 40
![Page 41: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/41.jpg)
Ansible Architecture: Inventories
Cloud Computing - Lecture 10: Deployement models in cloud 41
Examplemail.example.com
[webservers]foo.example.combar.example.com
[dbservers]one.example.comtwo.example.comthree.example.com
[targets]
localhost ansible_connection=localother1.example.com ansible_connection=ssh ansible_user=myuserother2.example.com ansible_connection=ssh ansible_user=myotheruser
![Page 42: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/42.jpg)
Ansible Architecture: Playbooks
Cloud Computing - Lecture 10: Deployement models in cloud 42
• It’s in YAML format• Playbook contains Plays; • Plays contain tasks; • Tasks call module.
• Simple command to run a playbook:ansible-playbook playbook.yml
![Page 43: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/43.jpg)
Ansible Architecture: PlaybooksExample:
Cloud Computing - Lecture 10:
Deployement models in cloud43
---
- hosts: webservers
vars:
http_port: 80
max_clients: 200
remote_user: root
tasks:
- name: ensure apache is at the latest
version
yum:
name: httpd
state: latest
- name: write the apache config file
template:
src: /srv/httpd.j2
dest: /etc/httpd.conf
notify:
- restart apache
- name: ensure apache is running
service:
name: httpd
state: startedC
on
td…
![Page 44: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/44.jpg)
Puppet
• An open-source configuration management technology.• Manages the infrastructure on physical or virtual
machines.• Written in Ruby, C++, and Clojure• Usually follows client-server or agent-master
architecture.• Puppet Server : on one or more servers• Puppet Agent : on all the machines that we want to
manage
Cloud Computing - Lecture 10: Deployement models in cloud 44
![Page 45: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/45.jpg)
Puppet Blocks
•Different building blocks:•Modules•Classes•Resources•Manifest
Cloud Computing - Lecture 10: Deployement models in cloud 45
![Page 46: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/46.jpg)
Puppet Blocks - Modules
•A collection of files and directories, such as Manifests, Class definitions.• Each module manages a specific task in
the infrastructure.•Contains: • classes, defined types, tasks, task plans,
functions, resource types and providers, etc.
•Reusable and shareable.
Cloud Computing - Lecture 10: Deployement models in cloud 46
![Page 47: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/47.jpg)
Puppet Blocks - Modules
Cloud Computing - Lecture 10: Deployement models in cloud 47
![Page 48: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/48.jpg)
Puppet Blocks - Modules
Cloud Computing - Lecture 10: Deployement models in cloud
48
class autofs { package { autofs: ensure => latest } service { autofs: ensure => running }
file { "/etc/auto.homes": source => "puppet://$servername/modules/autofs/auto.homes"
} file { "/etc/auto.master":
content => template("autofs/auto.master.erb") }
}
Examples
![Page 49: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/49.jpg)
Puppet Blocks - Classes
•Defined as a collection of resources•Classes are defined inside Puppet manifest
files.•Created by writing a class definition in a
manifest (.pp) file.
Cloud Computing - Lecture 10: Deployement models in cloud 49
![Page 50: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/50.jpg)
Puppet Blocks - Classes
Cloud Computing - Lecture 10: Deployement models in cloud
50
Example: class1_site.pp
class f3backup ( $backup_home = '/backup', $backup_server = 'default', $myname = $::fqdn, $ensure = 'directory',
) { include '::f3backup::common' if ( $myname == '' or $myname == undef ) {
fail('myname must not be empty') } @@file { "${backup_home}/f3backup/${myname}":
# To support 'absent', though force will be needed ensure => $ensure, owner => 'backup', group => 'backup', mode => '0644', tag => "f3backup-${backup_server}",
}}
![Page 51: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/51.jpg)
Puppet Blocks - Resources• Resources are the fundamental unit for
modeling system configurations.• Puppet code in manifest file or any other file is
called a resource declaration.• Expressed in Declarative Modelling Language
(DML)• Resource Declaration:• Resource Type• Resource Parameter• Attributes• values
Cloud Computing - Lecture 10: Deployement models in cloud 51
![Page 52: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/52.jpg)
Puppet Blocks - Resources• Example
Cloud Computing - Lecture 10: Deployement models in cloud
52
user { 'student1': ensure => present, uid => '552', shell => '/bin/bash', home => '/home/student1',
}
Resource Type − userResource Parameter − student1.Attributes − ensure, uid, shell, home.Values − values of ensure, uid, shell, home.
![Page 53: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/53.jpg)
Puppet Blocks - Resources
Cloud Computing - Lecture 10: Deployement models in cloud 53
Resource Type:Some more types exec, file, cron, mount, package, service, user, etc
Attributes – Values pairs:For each resource type, Puppet offers a set of Attributes.e.g. For User, attributes can be
home, groups, gid, password_max_age, password_min_age, shell, etc.
![Page 54: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/54.jpg)
Puppet Blocks - Manifest
• a directory containing puppet DSL files.• .pp extension (Puppet Program)•Puppet manifest consists of the
followingimportant components −• Resources• Templates (used to construct configuration files on the
node).• Nodes (contain all the definition related to a client node)• Classes
Cloud Computing - Lecture 10: Deployement models in cloud 54
![Page 55: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/55.jpg)
Service deployment solutions – A Summary
Cloud Computing - Lecture 10: Deployement models in cloud 55
Automation EngineTo implement the necessary service deployment and lifecycle management
tasks: Ansible and Puppet
Orchestrator
A tool to understand the standard: Cloudify, Opera
Standard Specification
A standard to follow for service deployment and management: TOSCA
![Page 56: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/56.jpg)
Research topics (contd…)
• Distributed file systems and data management • Legacy System Migration • Cloud SLAs• Performance/scale/price estimation• Mobile service deployment• Deployment Model Selection• Cost & Risk Analysis
Cloud Computing - Lecture 10: Deployement models in cloud 56
![Page 57: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/57.jpg)
Cloud Computing - Lecture 10: Deployement models in cloud 57
What next ???
![Page 58: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/58.jpg)
Let’s move to lab session…
Cloud Computing - Lecture 10: Deployement models in cloud 58
![Page 59: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/59.jpg)
References1. https://www.oasis-open.org/2. https://wiki.oasis-open.org/tosca/TOSCA-implementations
3. Casale, G., Artač, M., van den Heuvel, W. et al. RADON: rational decomposition and orchestration for serverless computing. SICS Softw.-Inensiv. Cyber-Phys. Syst. (2019). https://doi.org/10.1007/s00450-019-00413-w
4. http://radon-h2020.eu/5. https://www.slideserve.com/lona/topology-and-orchestration-
specification-for-cloud-applications-tosca-standard6. https://www.snia.org/sites/default/education/tutorials/2011/fall/Cloud
Technologies/MartyStogsdill_Deploying_Public_Private_Hybrid_Storage-v1-8.pdf
7. https://www.slideshare.net/melsatar/cloud-deployments-models8. https://slideplayer.com/slide/12656640/
Cloud Computing - Lecture 10: Deployement models in cloud
59
![Page 60: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/60.jpg)
References9. https://docs.cloudify.co/4.3.0/about/manager_architecture/component
s/10. https://www.slideshare.net/knoldus/introduction-to-ansible-8136974111. https://www.guru99.com/puppet-tutorial.html12. https://www.tutorialspoint.com/puppet/puppet_module.htm13. https://www.tutorialspoint.com/puppet/puppet_resource.htm14. https://www.tutorialspoint.com/puppet/puppet_manifest_files.htm
Cloud Computing - Lecture 10: Deployement models in cloud 60
![Page 61: Deployment models in cloud - ut](https://reader030.vdocuments.mx/reader030/viewer/2022012915/61c5f5d63a34dc1b5b6409f9/html5/thumbnails/61.jpg)
Thank you
Cloud Computing - Lecture 10: Deployement models in cloud 61