Cloud computing is ideal for running flexible, scalable applications on demand, in periodic bursts, or for fixed periods of time. UVA SOMRC works alongside researchers to design and run research applications and datasets into Amazon Web Services, the leader among public cloud vendors. This means that server, storage, and database needs do not have to be estimated or purchased beforehand – they can be scaled larger and smaller with your needs, or programmed to scale dynamically with your application. If you have an idea or project and need a proof of concept, we would be happy to sit down and design a cloud solution with you.
Service Oriented Architecture
We have experience designing and delivering solutions to the public cloud using industry best practices. A key advantage of the cloud is that, for many services, you do not need to build, provision, or maintain the servers that support the service – you simply use it.
Here are some of the building blocks available using cloud infrastructure:
- Containers / Docker
- Analytics / Data Management
- Sensor / IoT Data Streaming
- Messaging Queues
- SMS / Push Integration
- Alexa Skills / Speech Integration
- Serverless Computing
How we use AWS / Common Use Cases
- Proofs of concept - To verify a system or design works, to benchmark processing speeds, we may use short-lived instances to learn from before building a production system.
- Test / Development environments - For installing test packages, trying new ideas, and testing design patterns.
- Dynamic / flexible / scaling application stacks - When future traffic or load cannot be determined beforehand, deploying into a dynamic environment means the infrastructure is not locked into any set type of CPU/RAM or scale.
- Short-term or fast deployment projects - For almost immediate computing needs, existing users can create new instances as needed.
- Container deployments - Run microservices (such as Docker containers) in an environment that can load-balance their traffic and maintain container health.
To get an idea of how AWS is used in real-world and research scenarios, visit the AWS Architecture Center or review some reference deployments below. These examples are drawn from AWS.
Build auto-scalable batch processing systems like video/image/datastream processing pipelines (PDF)
Large Scale Processing and Huge Data sets
Build high-performance computing systems that involve Big Data (PDF)
Time Series Processing
Build elastic systems that process time series data (PDF)