I wish I knew the answer to that! I can tell you this: the goal is by end of the year to have a feature parity Anahita React app with mobile first design to the point that we can remove all the code responsible for rendering UIs and templates in the back-end. The php code will only provide an API. Whether it will be production ready by December, we can't tell yet.
Docker will happen sometime through the process. I've been wanting to rebuild our release engineering tools for quite some time. We'll get started on that during June or July. Right now we're occupied by client projects. A lot of new design patterns from our ongoing client projects will be implemented in Anahita.
Until I build one myself, I won't be able to make any comments regarding Docker Kubernetes. You are carrying the flag on this right now, since I don't think anybody else who is working on a similar issue.
It's true that Anahita's current codebase is a monolith and not a micro service. Separating our client and server side is a step towards micro services architecture.
Rewriting an architecture from monolithic to micro services is extensive work. I don't know how long it will take.
It is also not an immediate priority. From several startups that I know in my network, they didn't go micro services until they had at least several million users and a couple of millions of investor money in the bank. I don't know any Anahita projects that is hosting over 100k users at this point. So focusing in this architecture change would be premature optimization.
Hello Rastin: is your official Anahita Docker image still slated for June-July? this summer?
We are trying to plan ahead/synchronize our Team’s efforts with your timeline in order to have proper release engineering tools in place for our production DK8S deployment, which includes Anahita as User-Social framework
Let us know so we can coordinate our efforts +instruct our Team accordingly
Yes we've already started working on a number of Docker and Kubernetes orchestrations. We're going to redeploy Anahita website using these technologies too, so expect to see more posts regarding these technologies in our project group.
using the *Anahita Official Docker image* will ensure that we, and all other developers are using proper release engineering tools , rather than spending time in fragmented trial and error efforts
a) Beside of AWS Storage, is NFS Storage supported ?
b) Is there a bit more of a browsable API Documentation available ( Checked on Github)
So, in my case, I have a own gitlab and ci server. Dockerizing this as MicroService would mean: MSQL Container, WebServer with WebApp (React) Container, Storage Container distributed to a NFS CEPH Cluster. Right ?
@angrueter I've never even considered NFS. Why do you want to use it? Is it better?
There is no API documentation. The example apps are a reference for developing additional apps. For REST APIs, you can look into the React App API https://github.com/anahitasocial/anahita-react/tree/master/src/api that gives you an idea of how to communicate with Anahita. We would rather invest the time into finishing the React App and then removing the HTML views from Anahita. Considering that all these changes are going to happen, there is no point in writing documentation for the existing point. Most developers can already figure out how to build apps for Anahita using existing apps.
Thanks. NFS Storage is for example very useful, if you don't want to send your Pictures and Data directly to the Amazon Storage for Privacy Reasons. Lets asume you have own infrastructure, and for Storage Nodes a CEPH Cluster, which gives you less costs then an AmazonS3 Storage and the benefit of Data Control, then NFS can be very very usefull, you add it by an IP, Gateway and Username and Password, where the Server can store movies, pictures, files over the LAN or Peering Connection between two datacenters on a 20GB/s LAN Link.