2016-09-13 Meeting notes

Date

4PM PDT


https://www.uberconference.com/richmagnuson

IP audio, or Dial-in:  1-716-293-9263, meeting PIN:  60307


Attendees

Goals

  • Discuss recent and upcoming CI/CD work

Discussion items

TimeItemWhoNotes
10 minUpdatesAll

Darius: a bit more engaged on design of v3 these days

VR: continuing to work on V3

Elias: supporting existing eLMIS 2 implementations. No news.

30 minRecent and upcoming CI/CD workPengfei

Setting up CI and CD environments

Currently we have a Jenkins environment that builds, tests, and deploys the requisitions service. (Deploys to a docker swarm in AWS.)
Next steps are to do this for other services (auth, notification, and soon reference data)
And then load balancing, service discovery, etc.
Then automating deployments for UAT. (This will happen sometime next week.)

People will be able to replicate this to do production deployments. (Will be easiest for AWS deployments, but scripts will still help otherwise.)

Docker 1.12 introduces "Swarm Mode" (and we are using this). It behaves differently from docker swarms in prior versions, and many blogs, tutorials, etc, are a bit different from this.

Elias asks: currently with v2 they have multiple UAT environments running on one box. Will the new approach let us do the same multi-tenant deployment?
Pengfei says: Yes.

Swarm Mode in 1.12 and docker-compose don't play well together for cluster management.
(You can only deploy the whole docker-compose application to a single swarm node, e.g. AWS EC2 instance.)
Pengfei wants to start using >1 EC2 instance soon, to mimic real prod environment sooner, and make sure we handle this case right.
So we'll need to explore workarounds (there's an experimental plugin, or we can write shell scripts with docker service create)

Josh: this is pretty new, for docker. What's the full picture? Is there overlap between what we've chosen for reverse proxy and service discovery, vs what we're now proposing to do with docker?
Pengfei: docker itself provides "overlay network" which gives you the ability to do DNS lookups and "ingress" for internal load-balancing.
Darius: we should be more clear about the typical target production deployment scenario. (E.g. is the desire to span multiple boxes, do load balancing, etc, a real issue in the short and medium term?)
Josh: More important to show how it works now, and worry about scaling later. ("...otherwise we won't have any load!").
Josh/Darius: Typical sysadmin probably doesn't care about upgrading a single microservice on a live system, but can schedule downtime to update everything.


AOB
None

Action items

  • Pengfei Cui (Deactivated) to write an email giving options about more sophisticated vs simpler deployment options via docker.
  • Josh Zamor to moderate the next tech call, on Sept 27 (US)

OpenLMIS: the global initiative for powerful LMIS software