-
Notifications
You must be signed in to change notification settings - Fork 59
Optimising an AWS microservice - part one #250
Optimising an AWS microservice - part one #250
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like the post Jamie, really interesting delve into the ways of thinking and the challenges you gave yourselves. Just a few minor grammar/style amends, please.
* This is stored in a DynamoDB table fronted by an API that allows the traders to PUT opinion and our system to GET it when required | ||
|
||
### The Pricing Model | ||
* This is a java lambda - you pass it a description of what might happen in a football match along with the necessary opinion and it returns a price. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Capitalise "Java"
|
||
### The Pricing Model | ||
* This is a java lambda - you pass it a description of what might happen in a football match along with the necessary opinion and it returns a price. | ||
* E.G. you might request “Leeds Utd to score 3+ goals” and it might tell you this is 2/1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"eg.", not "E.G."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's "e.g.", but because it's at the start of a sentence, it should be "E.g." ;-) I'd just opt for spelling it out though:
* E.G. you might request “Leeds Utd to score 3+ goals” and it might tell you this is 2/1 | |
* For example, you might request “Leeds Utd to score 3+ goals” and it might tell you this is 2/1 |
|
||
### Pricing Service | ||
* This is made up of an API Gateway and Java/Kotlin lambda | ||
* The API Gateway has a ‘Lambda Authoriser’ that ensures our system can only be accessed from whitelisted ip ranges |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"IP" rather than "ip"
|
||
## Our Test Scenario | ||
|
||
We wrote a performance test in Node JS that populates our opinion store with fake fixtures and then sends requests to our pricing service, recording the latency of each request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We tend to use "NodeJS" as the term everywhere else
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For consistency, we should match the canonical form used by the maintainer; our most common ones are listed on the jobs page, so in this instance we should use "Node.js"
|
||
## Uh oh… things aren’t as they seem :-( | ||
Now under our revised target, we were about to wrap up the project when someone noticed something odd. Our DynamoDB table only had opinion for 1 fixture in despite the test saying it had created 100 :scream: Uh oh! | ||
It turns out we had a typo in our node code in the performance test which had slipped through review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Capitalise "Node"
I'd generally advise to remove the smart formatting (e.g. curly quotes, en dashes, ellipses) and have Markdown apply that automatically |
|
This is my first attempt at a blog post so hopefully I've got it right...
Have loaded using docker and had a quick review - all seems to render correctly.
There is a part 2 written, will submit another PR for that separately.