Working of EaaS

 

Ephemeral

Limits, transparency and ability to restart

Cost

 

Question:

  1. Scaling

    1. EKS

    2. Bespoke clusters (AWS EC2 instances)

  2. Env hosted where ?

    1. AWS cloud vendor

  3. Configuration

    1. Code repo - github/bitbucket/gitlab - configuration for that repo

    2. Roost DB - TF Script, Cluster choice, notify these channels over slack, SNS, expiry duration

  4. Cost control for environments

    1. ephemeral

    2. EKS - scheduler (overlap and the actual hours when this cluster is needed)

      1. team work days, hours

      2. individual work

  5.  

 

Business application

  1. Terraform or Cloud Formation

    1. init

    2. destroy

  2. Helm chart (100+ m-svc)

    1. build - buildpacks, docker, make

    2. deploy

    3. test

    4. uninstall

  3. List of Code repo

    1. CodeA

    2. CodeB

    3. CodeFreshRepo (tag) - (always build & tag)

    4. build / external build - buildpacks, docker, make (External: Jenkins, CodeFresh)

      1. dockerhub - private registry

      2. image tagging - (CodeFresh updates a helm value file with all the m-svc image tags)

    5. deploy - (k8s manifest/helm/docker-compose)

      1. argo CD

      2. configMap/Secrets etc coming from m-svc properties file

    6. test details

      1. artillery/cypress/maven

    7. uninstall

  4. Notification

  5. Triggers

    1. PR open/merge

    2. Commit push

  6. Cluster choice

    1.  

 

Application

Known Good Version - Prod/BUAT

100+ m-svc (Roost identified inter dependency and impact footprint)

 

Code changes (5 m-svc)

applied like a delta (5 is latest and 95 is UAT version)

Impact: 15 m-svc (trigger tests for the 5 changed ones and then the additional 10 others)

net effect of change level - quality feedback

 

 

Cluster made of EC2 instances (stopped and EBS is attached)

EKS cluster - minimum configuration - master node - 75USD/month

  • namespace 1

    • sleep - pods are no longer running

    • wake-up - pods back to running

  • namespace 2

    • sleep - pods are no longer running

    • wake-up - pods back to running

 

 

 

 

 

 

Â