BryanRosanderAutocloud2x

utahcokeΔιακομιστές

17 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

78 εμφανίσεις

Autocloud

by Bryan Rosander

Motivation


Cloud computing makes
vast computing resources
available at a reasonable
price on an as
-
needed basis


Configuring multiple
machines to work together
can be a tedious and time
consuming task


Automation of
configuration and scaling
set up would make these
resources more accessible

Basic Concepts


Autocloud uses Amazon’s Web Services API to provide functionality


Auto Scaling


Cloud Watch


Elastic Compute Cloud (EC2)


Identity and Access Management


Simple Storage Service (S3)


Simple Queue Service (SQS)


Autocloud uses many third party libraries to coordinate the use of these
services (most prominent listed)


Apache Commons


Apache Tomcat


Google Web Toolkit


Guice


Hibernate


HSQLDB


JbCrypt


Jsch


Log4j
, Slf4j

Logic Design


User defines configurations


Configurations made up of machine groups


Machine groups have instance type, scaling
information


Entire configuration is instantiated at the end


Updates to scaling conditions can be made
even after instantiation

Implementation


Last semester’s version was designed to build out
instances one
-
off


This semester needed to support Auto
-
Scaling


Made the following changes:


Stored user files and startup scripts in S3


Utilize auto
-
scaling functionality to instantiate
instances


Use user data to have instances notify the application
when they start


Generate script that allows instances to retrieve their
own files from S3

Old Sequence Diagram

New Sequence Diagram

Conclusions


New approach is better for several reasons


Auto Scaling


Allow for MUCH larger files


Faster instantiation


Less bandwidth, IO use by host machine


However, it is more complex


Reliance on 6 AWS services instead of 1


More communication, configuration


Instances must have AWS credentials to send SQS
messages, find out what other machines are in their
configuration

Demo/Questions