Tribe Support

Tribe Support's Topics

Ildemaro  Martinez Jr

Ildemaro Martinez Jr

April 17 2018

Docker Kubernetes

When will Anahita be production ready/optimized for scalable ‘microservices’ type Docker Kubernetes deployments? 

Rastin Mehr
Rastin Mehr
April 17 2018 Permalink
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.
ok so what do you recommend for a team that wants to configure deploy Anahita+ its apps (Photos, Subscriptions, etc) as Docker-Kubernetes?
Rastin Mehr
Rastin Mehr
April 18 2018 Permalink
Just go ahead and do it. Use what's there and build what's not there yourself. Right now any web application deployment is better be done using propper release engineering tools such as docker.
Rastin: feedback I and getting from my developers regarding Anahita being Docker-Kubernetes config:

“the big problem with configuring Anahita for Docker Kubernetes
is they created Anahita a monolitith and not like a microservice”

what is your response?
Rastin Mehr
Rastin Mehr
April 29 2018 Permalink
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.
as you said yourself (see above thread) “right now any web application deployment is better done using proper release engineering tools such as docker”

I am sure many projects besides ours, would like to use Anahita as microservices right now.

With that said: Do you have an aproximate target date for doing this?
Rastin Mehr
Rastin Mehr
April 30 2018 Permalink
Monolithic apps can work on Docker too:

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.
got it - deploy now -refactor later

Thanks Rastin
Rastin Mehr liked this
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
Rastin Mehr liked this
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.
As for guidance, there are plenty of Wordpress related tutorials. The concept is similar to Anahita and you should be able to apply it
great - please let us know as soon as your oficial Docker image is available Docker Hub
Rastin Mehr liked this
Of course
is there an ‘estimated time’ for that?
No estimated time, because we don't know when it is ready. Also we need to take care of client projects first.
Thanks Rastin:
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
Rastin Mehr liked this
I have a few Questions to Rastin,

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 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.

We can still use AWS in microservices.
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.
Its also a Speed / Performance increase, using NFS and Local Storage, if you can afford a few bucks monthly.

Powered by Anahita