Loading…
Transcript

Software design architecture for building loosely coupled, distinct services

Summer Internship Exit Presentation

IBM Research Africa - SWE Intern

The End

Where to ...

Queen's University Belfast

MSc. Applied Cyber Security

Special Thank You!

  • Juliet Mutahi (Mentor)
  • David Kaguma (Mentor)
  • Tonya Nyakeya
  • Felix Kwizera
  • Isaac Wambugu
  • Violette Ogega
  • Shelby Darnell
  • Samuel Karumba
  • Abdigani Diriye
  • Kommy Weldemariam (Manager)

Next steps for the project

  • Use statistical techniques on the raw data
  • Building runtime signatures to detect anomalies
  • Design an algorithm to determine when a microservice is not running optimally and assign health score based on this

What I learned...

Technical

  • Basics of Java Spring Boot Framework
  • JUnit
  • Mockito
  • Locust
  • System Design Principles
  • System Scalability Introduction

Growth

Insights & Recommendations

  • Language agnosticity
  • Better analytical skills

Results

  • Latency is 4s on average through AS
  • AS Instances 1 ; WPE Instance 2
  • Horizontal vs Vertical Scaling of AS
  • Caching near AS ; ETags

3. Difference in response time: WPE vs AS

Straight to WPE

From App Server

  • Clients
  • Hatch Rate
  • Run Time

Important Terms

Insights & Recommendation

Results

  • Get All Wp & Filter Wp by type
  • Caching
  • Compression
  • Reset and Change Password
  • Code profiling

2. Average and Minimum Response Times

2. Integration & Load testing (Python)

What I did?

Why Locust (as compared to JMeter)?

  • High code support and test flexibility
  • Less resource consumption

Insights & Recommendations

Results

  • Write locks
  • Master-slave replication
  • Caching
  • Bucket data - pagination

1. Average and Minimum Response Times at a Max Load

MWA Project Architecture

What I did?

1. Unit testing (Java)

Why Mockito?

Expressive

Why Microservices?

Project Overview

Outline

Granular Scaling

Mixed Technology Stack

  • Who am I?
  • Project overview
  • What I did?
  • Results & Recommendations
  • Where to...

Independent Deployment

Who am I?

Independent Development

  • Anthony George Mendonca
  • BSc. Computer Science, University of Nairobi (2017)
  • Safaricom, Lynk Jobs Limited
  • Python, JS
  • Love travelling, CrossFit and gaming

Diagnosis and testing tool for

Cloud-Based Microservices

Anthony Mendonca

30th August 2018