Cloud Computing: A Basic Introduction To Resources
Cloud Computing: A Basic Introduction To Resources
PRESENTED BY:
A Basic Introduction to Resources
Virginia Trueheart, MSIS
Texas Advanced Computing Center
[email protected]
11/16/20
1
19
Overview
• What is Cloud Computing
• Choosing Systems
11/16/20
2
19
What is a Cloud?
A “cloud” is a computer system that provides users with
shared access to on-demand computing resources via the
internet.
11/16/20
3
19
Why is it Useful?
• Resource Utilization
11/16/20
4
19
Cloud vs. HPC
Cloud
• Availability
• Multi-level API Interactions
• On-demand/Interactive Use
• Using Commodity Components
HPC
• Utilization
• Capability or Capacity Science
• Checkpoint/Restart I/O
• Memory/Network Bandwidth & Latency
11/16/20
5
19
Who Uses Clouds?
System Administrators
• Help automate operations
Software Developers
• Build applications on cloud servers and platforms
Computational Scientists
• Write codes to analyze scientific data that resides in the cloud
11/16/20
6
19
Service Models
Infrastructure-as-a-service (IaaS)
• Virtual servers, networks, firewalls, etc. (AWS, Azure)
Platform-as-a-service (PaaS)
• Deploy application without managing virtual servers (Google App
Engine, Heroku)
Software-as-a-service (SaaS)
• Ready to use software applications (Gmail, Office365)
Functions-as-a-service (FaaS)
• Run on demand without knowing the infrastructure (hook.io, AWS
Lambda)
11/16/20
7
19
IaaS with Virtual Machines
Emulations
• Gives the appearance of any typical personal machine
• Simulates architectures
Operating Systems
• Generally Linux in scientific communities but proprietary ones
available through branded IaaS options
Software
• Allows for installation of software in a way that generally doesn’t
require building from the binary
11/16/20
8
19
Jetstream
• NSF funded production cloud facility
• Configurable environments
11/16/20
9
19
Architecture Overview
11/16/20
10
19
11/16/20
11
19
Virtual Machines
• These configurations are
available when choosing
a VM.
• Local storage is
ephemeral and will be
lost when your session
dies.
11/16/20
12
19
Images
11/16/20
13
19
Images cont.
11/16/20
14
19
Images cont.
11/16/20
15
19
Modifying an Image
11/16/20
16
19
Modifying an Image cont.
11/16/20
17
19
Saving an Image
11/16/20
18
19
In Summary
• The longer your instance runs the more SUs you consume
• You have root access, but the original image stays intact
• This is only the basic level of what you can do with Jetstream;
there are many more options available in the Wiki
11/16/20
19
19
IaaS with Bare Metal
Direct access to the node
• Choose how you want to interact with the system
OpenStack
• Cloud based OS to help control your environment
• Provides dashboard based management in addition to command line
11/16/20
20
19
Chameleon
Select the hardware you want
• Instead of images you can select ‘flavors’ to determine memory, cpus,
root disk, etc
Network options
• Generate IPs for external access
Develop APIs
• Use APIs to provide dashboards, monitor activity, etc
11/16/20
21
19
OpenStack
11/16/20
22
19
APIs, SSH, and IPs
11/16/20
23
19
Command Line Access
Install OpenStack
• Install python
• pip install python-openstackclient
Download an RC File
• Pull from your Chameleon account
• source <path/to/openstack_rc_file>
• If you are a Windows user you’ll need to manually provide environment variables
11/16/20
24
19
For Mac
vtrue-mbpr:~ vtrue$ python --version
Python 2.7.15
vtrue-mbpr:~ vtrue$ pip install python-openstackclient
Collecting python-openstackclient
Downloading
https://files.pythonhosted.org/packages/33/84/c739b13aacc47d887cae58acc7dd921240918aa20a9
add6ab64d932d1a6a/python_openstackclient-3.15.0-py2.py3-none-any.whl (823kB)
100% |████████████████████████████████| 829kB 8.0MB/s
Collecting oslo.utils>=3.33.0 (from python-openstackclient)
Downloading
https://files.pythonhosted.org/packages/6c/bb/308293b06400625b721795657c0c50c8a5942fde58d
9532b40f57758a158/oslo.utils-3.36.2-py2.py3-none-any.whl (91kB)
100% |████████████████████████████████| 92kB 4.6MB/s
Collecting osc-lib>=1.8.0 (from python-openstackclient)
Downloading
https://files.pythonhosted.org/packages/de/b7/91ed1a58756390fa006a5777ceb44578f021a9b67ff
ec0729f5037fff51a/osc_lib-1.10.0-py2-none-any.whl (81kB)
100% |████████████████████████████████| 81kB 17.4MB/s
Collecting python-glanceclient>=2.8.0 (from python-openstackclient)
11/16/20
25
19
For Windows
openstack --os-auth-url <OS_AUTH_URL> \
--os-project-id <OS_PROJECT_ID> \
--os-project-name <OS_PROJECT_NAME> \
--os-user-domain-name <OS_USER_DOMAIN_NAME> \
--os-username <OS_USERNAME> \
--os-password <OS_PASSWORD> \
--os-region-name <OS_REGION_NAME> \
--os-interface <OS_INTERFACE> \
--os-identity-api-version <OS_IDENTITY_API_VERSION>
11/16/20
26
19
On the Command Line
vtrue-mbpr:~ vtrue$ openstack
Readline features including tab completion have been disabled since no
supported version of readline was found. To resolve this, install
pyreadline on Windows or gnureadline on Mac.
(openstack)
There are options available in the command line that are not available in the GUI
• Gnocchi metrics
• Advanced networking
11/16/20
27
19
Selecting Hardware
11/16/20
28
19
Check on Resources with REST API
vtrue-mbpr:~ vtrue$ curl -i https://api.chameleoncloud.org/
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Tue, 12 Jun 2018 22:35:34 GMT
Content-Type: application/vnd.grid5000.item+json; charset=utf-8
Content-Length: 757
Connection: keep-alive
Allow: GET
...
{"type":"grid","uid":"chameleoncloud","version":"0aa787fa5c97c34bd0b7a583d4
e2fab693010daa","release":"3.5.7","timestamp":1528842934,"links":[{"rel":"s
ites","href":"/sites","type":"application/vnd.grid5000.collection+json"},{"
rel":"self","type":"application/vnd.grid5000.item+json","href":"/"
11/16/20
29
19
Reservations
11/16/20
30
19
Complex Appliances
Complex Appliances allow you to specify not only what image
you want to deploy but also on how many nodes you want to
deploy that image, what roles the deployed instances should boot
into (such as e.g., head node and worker node in a cluster), what
information from a specific instance should be passed to another
instance in that Complex Appliance, and what scripts should be
executed on boot so that this information is properly used for
configuring the “one click” cluster.
11/16/20
31
19
11/16/20
32
19
Managing and Monitoring
• Need to be launched the same way an Image is
• You can also do this from the command line with OpenStack
11/16/20
33
19
Q&A
https://chameleoncloud.readthedocs.io/en/latest/technical/index.html
https://iujetstream.atlassian.net/wiki/spaces/JWT/pages/17465367/System+Overview
11/16/20
34
19