100 likes | 218 Vues
Autocloud simplifies the management of cloud resources by automating configuration and scaling, allowing users to access vast computing power at affordable prices. Leveraging Amazon's Web Services API, Autocloud facilitates functionality such as Auto Scaling, Cloud Watch, and S3. This solution enables users to define machine group configurations, instantiate them efficiently, and update scaling conditions post-instantiation. Improvements made this semester enhance auto-scaling capabilities and streamline user file management, resulting in faster deployment and reduced resource usage while embracing the complexities of utilizing multiple AWS services.
E N D
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
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