Ocean is a synergy of three things:
- A lightweight Rails programming framework where the difficult problems already have been solved for you.
- A modern microservice architecture scaling to enterprise levels according to cloud best practices.
- A complete development and production environment with pipelines and CI/CD.
Ocean can be set up locally or on AWS in a few minutes and is equally suitable for startups 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