Ocean is a synergy of three things:
- A complete SOA template for a fast, powerful Ruby on Rails programming framework where all the difficult problems already have been solved for you.
- A modern, extremely scalable, highly available, resilient, secure and autoscaling architecture following best practices for the cloud.
- Complete development pipelines implementing CI and CD for each service.
Ocean can be set up locally or on AWS in half an hour and is equally suitable for small startups using Ruby on Rails as for large enterprise-level systems.
Features at a Glance
- Overview • Distributed Architectures • The Pipeline (Dev, CI, QA, Prod) • HTTP Caching • Caching in Ocean • Technologies
API Structure and Conventions
- General API Considerations • Resource Representations • Resource Collections • Authentication and Authorisation • Requests to Services • Responses from Services • Partial Table Access: app and context • Examples
- Auth – Service, Resource, Right, Role, Group, ApiUser, Authentication
- Cloud – Instance, DynamoTable, LoadBalancer, LogExcerpt
- CMS – Text, Medium
- Jobs – AsyncJob, CronJob, ScheduledJob
- Mail – Mail
- Rollout – App
To install Ocean on AWS, simply follow the instructions in the cfn-templates repo.
Ocean can be run, fully functional, on your local computer under Docker and Docker Compose. Simply follow the instructions in the ocean repo.
- How to create your own microservice to manage Notes and their Comments, test it and deploy it.
- Specifics (work in progress)
- Creating a Service • Creating an SQL based Resource • Creating a DynamoDB based Resource • Routing • Models • Views • Controllers • Calling Other Services • Achieving High Scalability using AsyncJobs • Setting up Ocean CronJobs and ScheduledJobs • Working with Groups, Roles, and Rights • Extending the Aggressive Caching • Tutorial