Skip to content

Commit

Permalink
Merge pull request #6 from tomasalmeida/article/aws-queues
Browse files Browse the repository at this point in the history
- about me update
  • Loading branch information
tomasalmeida committed May 31, 2022
2 parents e8f75e1 + 85ff9d6 commit 7a94d8e
Show file tree
Hide file tree
Showing 11 changed files with 105 additions and 9 deletions.
Empty file added .hugo_build.lock
Empty file.
9 changes: 5 additions & 4 deletions content/about.md
@@ -1,6 +1,6 @@
---
title: "About me & this page"
date: 2020-12-24T20:36:30+01:00
date: 2022-05-29T10:00:00+01:00
draft: false
tags: []
categories: []
Expand All @@ -10,19 +10,20 @@ weight: 2
disableShare: true
---

Hello, I am Tomás.
Hello, I am Tomás. I work as Customer Success Technical Architect (CSTA, read like "siesta") at [Confluent](https://www.confluent.io). As CSTA, I help companies to keep their data in motion using Confluent products and Apache Kafka.

I am a senior software engineer and team lead at [Netcentric](https://www.netcentric.biz), I work as a bridge between the business necessities and the development team. My main tasks include participating in business meetings to guide the client about how to take advantage of Adobe products, supporting the team to work better, and designing and implementing solutions.
Before Confluent, I worked as senior software engineer and team lead at [Netcentric](https://www.netcentric.biz) being the bridge between the business necessities and the development team. My main tasks included participating in business meetings to guide the client about how to take advantage of Adobe products, supporting the team to work better, and designing and implementing solutions.

![Me in Swedish Lapony - 2018](/images/logo.png)

Before joining Netcentric, I worked at [Optare Solutions](https://www.optaresolutions.com) (Spain) as Senior Consultant in the telecom industry. As a consultant, I discussed the design and implementation of the solution between client and other providers and was the first contact in case of incidents.

Besides these two companies, I also worked as software specialist at [Motorola Devices](https://www.motorola.com.br) (Brazil and USA), and intern at [Capgemini Telecom & Media](https://www.capgemini.com/fr-fr/capgemini-a-rennes/) (France), [CenPRA](https://www.cti.gov.br) (Brazil) and [Unicamp](https://www.unicamp.br) (Brazil).
Besides these companies, I also worked as software specialist at [Motorola Devices](https://www.motorola.com.br) (Brazil and USA), and intern at [Capgemini Telecom & Media](https://www.capgemini.com/fr-fr/capgemini-a-rennes/) (France), [CenPRA](https://www.cti.gov.br) (Brazil) and [Unicamp](https://www.unicamp.br) (Brazil).

In my spare time, I work on personal projects using and testing new technologies. I'm a computer engineer by [Unicamp](https://www.unicamp.br) (Brazil), with 1.5 years of exchange in [INSA Rennes](https://www.insa-rennes.fr/) (France) with a Brazilian scholarship.

## Social links
* My presentations (not too many 😭) are listed here at [presentations section](/presentations/).
* My main professional life is described in my [Linkedin profile](https://www.linkedin.com/in/tomasdiasalmeida/).
* In my [Twitter account](https://twitter.com/tomasalmeida), I share things that I believe are interesting to other people.
* My [Github profile](https://github.com/tomasalmeida) summarizes my public contributions to opensource (which are few, I need to admit it 😔).
Expand Down
86 changes: 86 additions & 0 deletions content/posts/2022/05/my-summary-about-aws-queues.md
@@ -0,0 +1,86 @@
---
title: "My summary about AWS queues"
date: 2022-05-29T12:40:26+02:00
draft: false
tags: ["aws", "queue"]
categories: ["development"]
ShowToc: true
TocOpen: true
weight: 2
---

I was doubting about writing this post because AWS is evolving really fast and this post will be probably old very fast. So, I am adding the AWS documentation, so, please take your time to check the official documentation to confirm my findings (and if possible, write me a message so I can update it if needed).

## SQS
AWS SQS is a simple 1:1 queue, so it delivers messages from A to B.
* It is a pull service, that means SQS keeps the message and waits the consumer pulls the messsage out.
* Retention period is 14 days
* Two types defined
* Standard
* FIFO (order guaranteed)

### Usages

* Great for decoupling and Lambda usage. If we have many queues maybe EventBridge is a better option.
* Better to use queues on internal microservice communication (between Lambda communication) and EventBridge for microservices external communication.
* To connect two systems with different throughput capabilities: the queue will make it easier for the receiver. For example connecting a new service with a legacy service.
* Use to batch jobs
* receiving votes -> SQS -> counting votes

### Documentation
[Official documentation](https://aws.amazon.com/sqs/)

## SNS
Fully managed pub/sub messaging service.
* 1 to many, one publish the message, many can subscribe/consume it.
* Push service - messages are pushed into the consumer, messages cannot stay in the queue.
* Message filtering: to reduce the amount of message you consume.

### Usages
* Fan Out pattern: As SNS pushes the message to the consumer, we can put a SQS as consumer, so the consumer can pull the message from the SQS.
* SNS -> SQS -> consumer.
* Allow parallelization of tasks
* Different queues for all the services subscribed to the topic
* Event Driven application: services listening for other services
* Send emails, text messages, etc.

### Documentation
[Official documentation](https://aws.amazon.com/sns/)

## Amazon EventBridge
Serverless event buss to connect applications with data from several sources.
* Many to many: several sources can generate messages that can be consumed by several consumers
* Event bus
* Not the highest throughput
* Based on filters (rules):
* Push service - messages are pushed into the consumer, messages cannot stay in the queue.
* Events can be aws, 3rd party or custom events

### Usages
* Decoupling microservices
* Event Driven applications
* Get events from other AWS accounts
* Integrating with many SaaS providers that are able to connect to EventBridge

### Documentation
[Official documentation](https://docs.aws.amazon.com/eventbridge)

## Kinesis
High throughput for data streams in real time
* Many to many: several sources can generate messages that can be consumed by several consumers
* Highest throughput
* Stored and replayed (7 days)

### Usages
* Ingest a lot of data and real time analytics
* Gaming generates tons of events so usually they send petabytes of data so game creators can analyze players behavior and usage and improve the game

### Documentation
[Official documentation](https://docs.aws.amazon.com/kinesis)

## Unofficial documentation
There are tons of documents and videos about this subject, I do like this:
* https://www.youtube.com/watch?v=Id2IVs1f7S0

---
If you found any error or want to help me to improve this article, please [comment the pull request](https://github.com/tomasalmeida/tomasalmeida.github.io/pull/6).
19 changes: 14 additions & 5 deletions content/presentations.md
@@ -1,19 +1,28 @@
---
title: "Presentations"
date: 2020-12-26T12:18:52+01:00
draft: true
draft: false
tags: ["videos", "conferences"]
categories: [""]
ShowToc: true
TocOpen: false
weight: 2
disableShare: true
disableShare: false
---

##### Netcentric Summit 2019: JUnit 5, mockito 2 and AEM Mocks, is it true for you?
## 2021

#### Netcentric Summit 2021
Blog post: [Kustomize & Crossplane: maximizing the utility of Kubernetes](https://www.netcentric.biz/insights/2022/04/kustomize-crossplane-kubernetes.html)

## 2019

#### Netcentric Summit 2019
[![Junit5 at Netcentric Summit](https://img.youtube.com/vi/XJiZbnbu6uc/hqdefault.jpg)](https://www.youtube.com/watch?v=XJiZbnbu6uc)

Related post on Netcentric site: [JUnit 5: leveraging new features for testing](https://www.netcentric.biz/insights/2020/07/junit5-new-features.html)
Blog post: [JUnit 5: leveraging new features for testing](https://www.netcentric.biz/insights/2020/07/junit5-new-features.html)

## 2017

##### VigoJUG 2017: Make Java Great Again!
#### VigoJUG 2017: Make Java Great Again!
[![Make Java Great Again!](https://img.youtube.com/vi/PKqTlj38X7M/hqdefault.jpg)](https://www.youtube.com/watch?v=PKqTlj38X7M)
Binary file added static/android-chrome-192x192.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/android-chrome-512x512.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/apple-touch-icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/favicon-16x16.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/favicon-32x32.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/favicon-original.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/favicon.ico
Binary file not shown.

0 comments on commit 7a94d8e

Please sign in to comment.