Rich Cloud Services
What are Rich Cloud Services?
Remember when browser clients were display-only windows? When all the processing was done on dedicated application servers and the browser was merely the rendering engine for the output? This changed with the advent of AJAX, FLEX and other client environments that offered an application processing framework on the client-side. Applications built in these “Rich Client” frameworks offered a much improved user experience and has come to dominate the application landscape.
Apstrata is a complimentary idea on the server side. We are providing an equivalent leap in providing a Rich Cloud environment to use as a back end to your Rich Client application. Apstrata gives you More so you have to do Less.

As the diagram above shows, Apstrata provides more than the basic “store & retrieve” functionality of other Cloud-based database services. We provide many of the mature features you would expect from a traditional database as such as schema definitions, transactions and stored queries. We even provide full text search as a default feature so you can do keyword searches as well as structured queries.
But Apstrata goes even further. We provide support for user management in our service. You can create and delete users, assign them to groups and authenticate them. And with our access control you can provide secure and permission-based access to the data that you store in Apstrata. Additionally, on our roadmap are powerful server-side execution capabilities that can act as event-driven workflow or Web Hook integration points.
Apstrata is an on-demand, elastic, Cloud-based service. This means that, in addition to the powerful development features outlined above, you can offload all of your operational tasks to us. We manage the fully replicated environment so you can offload your monitoring, troubleshooting, capacity, replication and backup tasks.
The power of an on-demand, elastic Cloud service. The ease of Apstrata services. That is what we call a Rich Cloud.
Why Should I Use Apstrata?
Apstrata is dedicated to helping you get your application online quickly and reliably. Our on-demand Rich Cloud Services provide an easy, yet powerful way to manage your persistent user data without the hassle of managing dedicated back-end servers. If you are building an iPhone, Flex or AJAX application we can reduce, or eliminate, the need for a middle-tier application server. And coming soon you will even have a choice of infrastructure clouds to deploy in.
When you use Apstrata as your data persistence layer you will benefit in the following ways:
- Reduced time to market by leveraging the Rich services in Apstrata
- Reduced development costs by substituting Apstrata services for standard development tasks
- Reduced operational costs by using the Apstrata on-demand service rather than a dedicated, custom back-end
So if you would like to get your development project done quicker, and offload the hassles of deployment and operational management you should give Apstrata a try.
How Does Apstrata Compare To SimpleDB?
Amazon’s SimpleDB and Google’s BigTable are both provide on-demand structured storage services, so it is natural to compare them to Apstrata. Both of these are excellent services but they are different from each other, and Apstrata in some fundamental ways.
SimpleDB is, well, simple. That is by design. It is a key-value pair database which provides fast access to application meta data. For some applications this is a very good fit. However, for user-based applications that need an online database for persistent data storage Apstrata is a better fit due to our more powerful and richer feature set. For one thing, we can store digital assets directly, whereas SimpleDB only stores the meta data (you need to set up a separate storage facility using S3 for the digital assets themselves). Other advantages that Apstrata has over SimpleDB include:
- Schema definitions with data validation
- Full Text Search
- Transactions
- User Management and Authentication
- Access Control Lists
- Stored Queries
- Server-side execution (workflow & web hooks)
- Support for other Infrastructure Clouds (in case you run in Cloud other than AWS)
Google’s BigTable is another simple key-value pair database. One big constraint in using BigTable is that you must develop your application in Python and run it in Google App Engine. Apstrata offers all the advantages listed above but also does not lock you in to any specific development framework or deployment environment.
In summary, Apstrata offers many more features than either SimpleDB or BigTable in addition to being framework and infrastructure agnostic.
How Does Apstrata Compare To Mongo Or CouchDB?
MongoDB and CouchDB are interesting open source databases. They both support the document-style paradigm, as does Apstrata. One major difference, and this is significant, is that they are both “software” and Apstrata is a “service”. The whole point of the Cloud is that users do not need to download, install and maintain software. If you were to use MongoDB or CouchDB in your project you will be back in the business of acquiring, configuring and maintaining servers. This is one of the fundamental benefits of using Apstrata: We do all the back-end operations so you don’t have to.
In addition to the operational benefits of Apstrata, we go beyond the basic document-style paradigm to offer feature advantages over these two software solutions. We have:
- schema and data validation
- transactional integrity
- user management and authentication
- access control
- server-side execution
In summary, Apstrata has a huge advantage on the operational side while still offering a richer feature set.
Why Don’t I Just Use MySQL? It Is Free.
MySQL is the standard for Web application databases. It came to prominence before the whole Cloud-thing developed. While this is a solid, credible and safe choice for as a data persistence platform, Apstrata offers many advantages.
First, let’s discuss the “free” aspect. Yes, MySQL is free software. But all software must run on servers somewhere, and servers are not free. Using MySQL means that you are back in the business of acquiring and maintaining a set of servers and disks in order to run your “free” software. And managing operational databases is not a trivial matter. Managing replication, consistency, latency, capacity planning and backups all need to be factored into your cost of operations. Apstrata provides all of this as part of our service. This is one of the benefits of Cloud-based services: we do the operational hard stuff so you don’t have to.
In addition to the operational advantages, Apstrata offers a rich set of features that MySQL does not. First, we use a document-style metaphor. This offers flexibility to the developer which should translate into quicker development times. We compliment this paradigm with a schema definition and data validation capability so you can provide form and structure to your data. And add to this our Rich Cloud services such as user management, access control and server-side execution and there are clear developer advantages over MySQL as well.
How Much Does Apstrata Cost?
Apstrata will be a chargeable service eventually. We are still in the early stages of our product launch so we are not charging for the service at this time. If you are planning a production application and would like to lock in your costs of using Apstrata please contact us. We are happy to provide you with application-specific pricing at your request.
What Infrastructure Clouds Does Apstrata Support?
Apstrata is Infrastructure agnostic. We can, and will, run in multiple Infrastructure clouds. We can even run behind a firewall in a Private Cloud if that is desired.
We currently run in the Amazon cloud. We have done the configuration and testing for deployments in Joyent and GoGrid and will be deploying in these environments in the near future.
If you have an interest in using Apstrata in a specific Infrastructure provider environment, please contact us to discuss this option.
Client2Cloud
What Is Client2Cloud?
Traditionally, if you have a web client application which requires persistent data you have needed to build and run code on an application server somewhere to act as a middleman to store and retrieve that data. Likewise, if you need to manage and authenticate users, and provide access security for user data, you will need application server code to provide this functionality. Architecturally, this resembles the diagram below:
With the Rich Cloud services found in Apstrata we can, in many cases, eliminate the need for the application server. In addition to providing a direct API to the persistent data store, Apstrata has user management, user authentication, and access control as native functions of the service. The Client2Cloud architecture looks like the diagram below:
This is a greatly simplified architecture. And simplicity has its benefits:
- Less code to develop and maintain. Obviously, less code means less cost, less opportunity for errors and faster time to market.
- Less operational complexity. By using Apstrata, instead of dedicated application and database servers, you offload the tasks (and associated costs) of server acquisition, maintenance, troubleshooting and sizing. Again, less work and quicker time to market.
What Rich Client Environments Do You Support?
Our native API can be used from any client that supports RESTful HTTP calls and JSON responses. In addition to our native API, we are committed to developing libraries for some of the popular Rich Client environments. Javascript is scheduled to be available at the end of August. Our roadmap includes native client support for iPhone and Flex before the end of the year.
Can I Also Do Server To Server?
Yes. Our native API can be called from on environment that supports RESTful HTTP calls and JSON responses. In addition, we have client libraries for Java and PHP currently available. Our roadmap includes support for Ruby on Rails.
Can I Use Apstrata With A Mix Of Clients & Servers?
Yes. The Apstrata service is perfect for managing your persistent data across a heterogeneous environment of clients and servers. Multiple clients, such as browser and iPhone, as well as server access is all handled by Apstrata reliably and securely.






