Open lakshmi-kannan opened 6 years ago
Right now our image size is 390M - That is way too large for us to pull and deploy.
Should we build a package of st2 that works with apk package manager in alpine linux? Do we need this or can we just git clone the source, install the pip dependencies? We don't need dh-virtualenv because we are now inside Docker? Can we quickly figure out the image size?
390M
is a good enough size for a container, especially considering:
vagrant@stackstorm:~$ du -hs /opt/stackstorm/
499M /opt/stackstorm/
I think alpine is more for fun thing, will save ~50MBs or so of the image size.
^^ Feels like not that much sense to improve the artifact size part.
Overall a lot of useful info here :+1:
Considering there are areas to improve or even re-architect in StackStorm itself for HA, - it may be a big/long story to play it well.
it may be a big/long story to play it well
I see it playing out over multiple releases. Build cookie cutter, iterate, improve, scale test, improve, etc...
I agree with @armab - this is also a great opportunity to try to simplify the architecture and reduce number of services, where possible.
One thing we talked about in the past when we discussed new workflow engine was st2resultracker and st2notifier.
We should get rid of at least one of them and potentially rename / split notifier (scheduler, notifier). If the Mistral callbacks change turn out to work well, there should be very little need for st2resulttracker left (and we would still have CLI tool which would allow user to rectify executions, if needed).
Conversion progress about Mistral
-> Orquestra
migrations across the repositories:
v0.10.1
and - Fix run-remote-cmd
for old tag, and add a bugfix version to that tagv0.10.2
- fix passing user_data
to the AWS instancePRs to st2:
ctx(st2)
access - worked around.action_context
in action metadata; was fixed in StackStorm/st2#4443.PRs to orquestaconvert:
--force
option, to mostly convert workflows even if the conversion isn't 100% successful. This makes it easier to convert them by hand.null
values.with-items
According to the original Slack discussion, the AWS pack also needed to be converted, but I haven't been able to find any Mistral workflows in that. ~Are we intending to migrate the two ActionChain workflows?~ No.
Are we intending to migrate the two ActionChain workflows?
Don't worry about those right now. Main thing is Mistral workflows. Action Chains can be done later.
StackStorm HA enhancements
StackStorm scaling
CustomerX wants a peak of 1200 concurrent automation (we don't know if they mean individual actions or workflows). They want to be able to run 20000 automations per day which is around 14 executions/min. I am pretty sure we can 14 executions/min but we definitely won't be able to do 1200 concurrent mistral workflows. We should test this.
StackStorm HA in Docker
Right now our image size is 390M - That is way too large for us to pull and deploy.
Helm
StackStorm HA Deployment
Ansible playbooks for HA deployment on bare metal/VMs
Kubernetes story for deployment on cloud varies based on provider. We should also account for on-prem kubernetes deployments. We should figure out which cloud providers we want to address directly and for which ones we rely on community (should we rely on community?)
Common
What kind of OS we want to run on top of?
Evaluate container OSes like CoreOS, RancherOS, DC/OS, Project Atomic, Ubuntu Snappy, ...
Decide if we really need a container host OS or should we just run on Ubuntu (We shouldn't really try to support multiple Host OSes)
I am leaning towards CoreOS because of the ability to spin instances in any cloud and etcd is natively available for service discovery. It would be a hard sell to ask Enterprises to run CoreOS in their data centers. Some probing here would be good.
How are going to manage configurations?
How are going to manage secrets?
K8s in various clouds/on-prem
AWS
GCP
Azure
On-prem