Olist Architecture v2.0

Osvaldo Santana Neto
Osvaldo Santana NetoSoftware Developer
Olist Architecture
From monotith to microservices
• Programador amador desde 1986, profissional
desde 1989 e pythonista desde 2000
• Criador e ex-moderador da da python-
brasil@yahoo (atual python-brasil@googlegroups)
• Criador da primeira versão do www.python.org.br
• Sócio fundador e ex-presidente da Associação
Python Brasil
• Autor do (antigo) livro Python e Django
• Atualmente na Olist
• osvaldo@olist.com e @osantana (ou @osantanabr)
Osvaldo
O que nós fazemos?
Merchants
Online | Offline
Previous System
Monolithic
Monolithic
No Scalability
Monolithic
No Reliability
Monolithic
No Safety
Monolithic
Complex
AngularJS
New Platform
Let's write a new version...
Requirements
Requirements
Simplicity
Requirements
Scalability
Requirements
Resilience
Requirements
Modularity
Requirements
Safety
Premisse
• No matter if a system is internal or external, it eventually…
• … goes offline…
• … crashes…
• … or change their behaviour without notice.
New Architecture
Microsservices
... or SOA
Microservices
Implementation Models
Communication via API
A
P
I
A
P
I
G
a
t
e
w
a
y
A
P
I
A
P
I
HTTP Requests
Communication via API
• RESTful communication
between services
• Synchronous Service Calls
• Strict dependency between
services
A
P
I
A
P
I
G
a
t
e
w
a
y
A
P
I
A
P
I
HTTP Requests
Communication via API
• RESTful communication
between services
• Synchronous Service Calls
• Strict dependency between
services
A
P
I
A
P
I
G
a
t
e
w
a
y
A
P
I
A
P
I
HTTP Requests
Communication via API
• RESTful communication
between services
• Synchronous Service Calls
• Strict dependency between
services
A
P
I
A
P
I
G
a
t
e
w
a
y
A
P
I
A
P
I
HTTP Requests
Communication via API
• RESTful communication
between services
• Synchronous Service Calls
• Strict dependency between
services
A
P
I
A
P
I
G
a
t
e
w
a
y
A
P
I
A
P
I
HTTP Requests
Communication via API
• RESTful communication
between services
• Synchronous Service Calls
• Strict dependency between
services
• No resilience
• No safety* (eg. data loss on
request failures)
A
P
I
A
P
I
G
a
t
e
w
a
y
A
P
I
A
P
I
HTTP Requests
Async Task Execution
Workers
A
P
I
Task #1
Task #2
Task #3
call task #1
call task #2
call task #3
Async Task Execution
• Asynchronous Procedure Calls
• Queue based task execution
• Client must knows about their
dependents (I've to change API
every time I need to add a new
task)
Workers
A
P
I
Task #1
Task #2
Task #3
call task #1
call task #2
call task #3
Async Task Execution
• Asynchronous Procedure Calls
• Queue based task execution
• Client must knows about their
dependents (I've to change API
every time I need to add a new
task)
Workers
A
P
I
Task #1
Task #2
Task #3
call task #1
call task #2
call task #3
Async Task Execution
• Asynchronous Procedure Calls
• Queue based task execution
• Client must knows about their
dependents (I've to change API
every time I need to add a new
task)
Workers
A
P
I
Task #1
Task #2
Task #3
call task #1
call task #2
call task #3
Async Task Execution
• Asynchronous Procedure Calls
• Queue based task execution
• Client must knows about their
dependents (I've to change API
every time I need to add a new
task)
Workers
A
P
I
Task #1
Task #2
Task #3
call task #1
call task #2
call task #3
Async Task Execution
• Asynchronous Procedure Calls
• Queue based task execution
• Client must knows about their
dependents (I've to change API
every time I need to add a new
task)
Workers
A
P
I
Task #1
Task #2
Task #3
call task #1
call task #2
call task #3
Task #4
call task #4
Async Task Execution
• Asynchronous Procedure Calls
• Queue based task execution
• Client must knows about their
dependents (I've to change API
every time I need to add a new
task)
• No decoupling ➡ No
modularity
• No safety* (eg. data loss on
deployment failures)
Workers
A
P
I
Task #1
Task #2
Task #3
call task #1
call task #2
call task #3
Task #4
call task #4
Message Event Triggering
Event
A
P
I
Service Service Service
Message Event Triggering
• Action Event triggering
• Queue based message event
handling
• Event as messages
Event
A
P
I
Service Service Service
Message Event Triggering
• Action Event triggering
• Queue based message event
handling
• Event as messages
Event
A
P
I
Service Service Service
Message Event Triggering
• Action Event triggering
• Queue based message event
handling
• Event as messages
Event
A
P
I
Service Service Service
queues
producer
consumers
Message Event Triggering
• Action Event triggering
• Queue based message event
handling
• Event as messages
• That's it!
Event
A
P
I
Service Service Service
queues
producer
consumers
Microservices
Building Blocks
Messages
• Also known as Resource in
REST context
• Follow a contract (schema)
• Can be wrapped with metadata
(eg. SNS/SQS metadata)
Topics (global)
• Publisher in PubSub Pattern
• Global topics for message
publication
• Topics belong to the system (or
architecture) and not to a
(micro)service
• AWS SNS
Service Queues
• Subscribers in PubSub Pattern
• Queues subscribe topics
• One queue belong exclusively
to one (micro)service
• AWS SQS
• SQS can be used as a SNS
subscriber
Microservices
Patterns
API
• Data Entry Point
• Data Validation
• Workflow Management (eg.
status/state machine)
• Data Persistence
• Event Triggering
• Idempotency handling (eg. discard
duplicated requests returning a
HTTP 304 Not Modified)
• Python, Django, DRF
A
P
I
API (webhook)
• Data Entry Point
• No Data Persistence
• Proxy HTTP ➡ SNS
• Event Triggering
• Python, Django, DRF
W
e
b
h
o
o
k
Service (consumer)
• Event Handling / Message
Processing
• Business Logic
• Python, Loafer
API
Get Data...Service
Service (broker)
• Event Handling / Message
Processing
• Business Logic
• Python, Loafer
API
Broker
Service (job)
• Scheduled Job
• No Persistence
• Event Triggering
• Python 3
Job
⏲
Client
• Web or Mobile Applications
• No Persistence (or basic
persistence)
• Web presentation of APIs'
resources
• Python 3, Django
W
e
b
A
p
p
A
P
I
Libraries
• Common Libraries — common utilities for APIs and
Services (eg. event triggering/topic publishing)
• Client Libraries — libraries to connect our APIs
• Open Source Libraries — useful libraries for community
(eg. correios)
Tools
• Data Migrator — tool that connects in all databases and
provides a small framework for data migration. It uses
Kenneth Reiz's records library. It was initially used to
migrate data from the old version of our application.
• Toolbelt — tool that provide basic management commands
to interact with our APIs, partner APIs and to make ease to
manage SQS queues or trigger some events in SNS Topics.
Working Sample
Webapp
Working Sample
Webapp
Fulfillment

API
http

request
Working Sample
Webapp
Fulfillment

API
http

request
topic
trigger

event
Working Sample
Webapp
Fulfillment

API
http

request
topic
trigger

event
queue
Working Sample
Webapp
Fulfillment

API
http

request
topic
trigger

event
queue
plp
generating
service
Carrier
API
Working Sample
Webapp
Fulfillment

API
http

request
topic
trigger

event
queue
plp
generating
service
Carrier
API
topic
Working Sample
Webapp
Fulfillment

API
http

request
topic
trigger

event
queue
plp
generating
service
Carrier
API
topic
queue
plp-closing-service
Working Sample
Webapp
Fulfillment

API
http

request
topic
trigger

event
queue
plp
generating
service
Carrier
API
topic
queue
plp-closing-service
Correios'
API
Working Sample
Webapp
Fulfillment

API
http

request
topic
trigger

event
queue
plp
generating
service
Carrier
API
topic
queue
plp-closing-servicesuccess
queue
generate pdf
upload pdf to s3
set tracking code and
pdf url at fulfillment-api
Correios'
API
Working Sample
Webapp
Fulfillment

API
http

request
topic
trigger

event
queue
plp
generating
service
Carrier
API
topic
queue
plp-closing-servicesuccess
queue
generate pdf
upload pdf to s3
set tracking code and
pdf url at fulfillment-api
Correios'
API
Microservices
Deployment
Olist Architecture v2.0
Olist Architecture v2.0
• Hosted on Heroku PaaS (our secret weapon!)
• Easy deployment, configuration management, log
handling, etc
• Heroku PostgreSQL Database
• Easy deployment, easy configuration and setup, easy
backup, replica and foreign data wrappers
• Other services and tools
• Logentries, Sentry and New Relic
Microservices
Challenges
• It's hard to make evolution of message/resource contracts
between services
• All sequential process must be splitted over multiple (small)
services
• Denormalization of data can easily lead to problems of data
consistency if we do not take certain precautions
• Information needed for one API must be replicated
through services and stored locally
• Data migration or refactoring in several services requires
the development of an specific application
Development
Development
Remote Team
Development Tools
• Github - code management
• CircleCI - continuous integration
• vim / PyCharm / SublimeText / etc - development
Communication Tools
• JIRA - project management
• Confluence - documentation
• Google Apps - Mail, Calendar, Docs
• Slack - chat and monitoring integrations
• Mumble - voice conference
• tmux, ngrok, vim (and mumble) - pair programming
Perguntas?
Estamos contratando!

https://olist.com/trabalhe-conosco/
1 of 71

Recommended

Writing User Stories (04/2012) by
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
13.2K views37 slides
From Conceptual to Executable BPMN Process Models A Step-by-Step Method by
From Conceptual to Executable BPMN Process Models A Step-by-Step MethodFrom Conceptual to Executable BPMN Process Models A Step-by-Step Method
From Conceptual to Executable BPMN Process Models A Step-by-Step MethodMarlon Dumas
25.2K views53 slides
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019 by
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Oeil de Coach
12.9K views29 slides
Netflix Cloud Architecture and Open Source by
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Sourceaspyker
7.7K views29 slides
What is new in Notes & Domino Deleopment V10.x by
What is new in Notes & Domino Deleopment V10.xWhat is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xUlrich Krause
7.5K views85 slides
Identity and Access Management Reference Architecture for Cloud Computing by
Identity and Access Management Reference Architecture for Cloud ComputingIdentity and Access Management Reference Architecture for Cloud Computing
Identity and Access Management Reference Architecture for Cloud ComputingJohn Bauer
12.4K views26 slides

More Related Content

What's hot

Cloud managed services offerings by
Cloud managed services offerings Cloud managed services offerings
Cloud managed services offerings eCloudChain Consulting
279 views13 slides
User Stories Writing - Codemotion 2013 by
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013Fabio Armani
3.8K views99 slides
Introduction to Business Process Management by
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process ManagementAlan McSweeney
225.8K views551 slides
How to Think Product Analytics in PM Interviews by Amazon Sr PM by
How to Think Product Analytics in PM Interviews by Amazon Sr PMHow to Think Product Analytics in PM Interviews by Amazon Sr PM
How to Think Product Analytics in PM Interviews by Amazon Sr PMProduct School
1.6K views55 slides
User stories in agile software development by
User stories in agile software developmentUser stories in agile software development
User stories in agile software developmentSandra Svanidzaitė, PhD, CBAP
15.5K views72 slides
Loosely or lousily coupled - Understanding communication patterns in microser... by
Loosely or lousily coupled - Understanding communication patterns in microser...Loosely or lousily coupled - Understanding communication patterns in microser...
Loosely or lousily coupled - Understanding communication patterns in microser...Bernd Ruecker
142 views85 slides

What's hot(20)

User Stories Writing - Codemotion 2013 by Fabio Armani
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013
Fabio Armani3.8K views
Introduction to Business Process Management by Alan McSweeney
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
Alan McSweeney225.8K views
How to Think Product Analytics in PM Interviews by Amazon Sr PM by Product School
How to Think Product Analytics in PM Interviews by Amazon Sr PMHow to Think Product Analytics in PM Interviews by Amazon Sr PM
How to Think Product Analytics in PM Interviews by Amazon Sr PM
Product School1.6K views
Loosely or lousily coupled - Understanding communication patterns in microser... by Bernd Ruecker
Loosely or lousily coupled - Understanding communication patterns in microser...Loosely or lousily coupled - Understanding communication patterns in microser...
Loosely or lousily coupled - Understanding communication patterns in microser...
Bernd Ruecker142 views
Orchestration Patterns for Microservices with Messaging by RabbitMQ by VMware Tanzu
Orchestration Patterns for Microservices with Messaging by RabbitMQOrchestration Patterns for Microservices with Messaging by RabbitMQ
Orchestration Patterns for Microservices with Messaging by RabbitMQ
VMware Tanzu16.4K views
The Great eBook of Employee Questions Part 2: Return of the Question Master by Shane Metcalf
The Great eBook of Employee Questions Part 2: Return of the Question MasterThe Great eBook of Employee Questions Part 2: Return of the Question Master
The Great eBook of Employee Questions Part 2: Return of the Question Master
Shane Metcalf16.4K views
정보보호통합플랫폼 기술 트렌드 by Logpresso
정보보호통합플랫폼 기술 트렌드정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드
Logpresso2.5K views
A Guide to Data Versioning with MapR Snapshots by Ian Downard
A Guide to Data Versioning with MapR SnapshotsA Guide to Data Versioning with MapR Snapshots
A Guide to Data Versioning with MapR Snapshots
Ian Downard540 views
User Stories for Agile Requirements by Mike Cohn
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile Requirements
Mike Cohn4.3K views
카카오스토리 웹팀의 코드리뷰 경험 by Ohgyun Ahn
카카오스토리 웹팀의 코드리뷰 경험카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험
Ohgyun Ahn51.1K views
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들 by Chris Ohk
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
Chris Ohk31.4K views
Grokking Techtalk #38: Escape Analysis in Go compiler by Grokking VN
 Grokking Techtalk #38: Escape Analysis in Go compiler Grokking Techtalk #38: Escape Analysis in Go compiler
Grokking Techtalk #38: Escape Analysis in Go compiler
Grokking VN429 views
Grokking Techtalk #43: Payment gateway demystified by Grokking VN
Grokking Techtalk #43: Payment gateway demystifiedGrokking Techtalk #43: Payment gateway demystified
Grokking Techtalk #43: Payment gateway demystified
Grokking VN298 views
Laravel로 스타트업 기술 스택 구성하기 by KwangSeob Jeong
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
KwangSeob Jeong7.5K views

Similar to Olist Architecture v2.0

Plataforma distribuída de Microserviços ou, como a Olist funciona by
Plataforma distribuída de Microserviços ou, como a Olist funcionaPlataforma distribuída de Microserviços ou, como a Olist funciona
Plataforma distribuída de Microserviços ou, como a Olist funcionaOsvaldo Santana Neto
4K views68 slides
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp... by
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...Timothy Spann
469 views57 slides
API Gateways are going through an identity crisis by
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisisChristian Posta
1.8K views52 slides
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi... by
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Michael Koster
902 views31 slides
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013 by
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Michael Koster
1.3K views31 slides
Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM... by
Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM...Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM...
Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM...Jimmy DeadcOde
2.7K views45 slides

Similar to Olist Architecture v2.0(20)

Plataforma distribuída de Microserviços ou, como a Olist funciona by Osvaldo Santana Neto
Plataforma distribuída de Microserviços ou, como a Olist funcionaPlataforma distribuída de Microserviços ou, como a Olist funciona
Plataforma distribuída de Microserviços ou, como a Olist funciona
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp... by Timothy Spann
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...
Timothy Spann469 views
API Gateways are going through an identity crisis by Christian Posta
API Gateways are going through an identity crisisAPI Gateways are going through an identity crisis
API Gateways are going through an identity crisis
Christian Posta1.8K views
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi... by Michael Koster
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Michael Koster902 views
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013 by Michael Koster
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Michael Koster1.3K views
Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM... by Jimmy DeadcOde
Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM...Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM...
Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM...
Jimmy DeadcOde2.7K views
What is a Service Mesh and what can it do for your Microservices by Matt Turner
What is a Service Mesh and what can it do for your MicroservicesWhat is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your Microservices
Matt Turner114 views
Adding Real-time Features to PHP Applications by Ronny López
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
Ronny López2.5K views
Distributed app development with nodejs and zeromq by Ruben Tan
Distributed app development with nodejs and zeromqDistributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromq
Ruben Tan14.5K views
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017 by Monal Daxini
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017
Monal Daxini2.7K views
MuleSoft Meetup Roma - Processi di Automazione su CloudHub by Alfonso Martino
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
Alfonso Martino419 views
Dances with bits - industrial data analytics made easy! by Julian Feinauer
Dances with bits - industrial data analytics made easy!Dances with bits - industrial data analytics made easy!
Dances with bits - industrial data analytics made easy!
Julian Feinauer217 views
Object models for interoperability by Michael Koster
Object models for interoperabilityObject models for interoperability
Object models for interoperability
Michael Koster1.1K views
M2M Protocol Interoperability using IoT Toolkit by Michael Koster
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT Toolkit
Michael Koster1.5K views
M2M Protocol Interoperability using IoT Toolkit by Michael Koster
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT Toolkit
Michael Koster500 views
AI made easy with Flink AI Flow by Jiangjie Qin
AI made easy with Flink AI FlowAI made easy with Flink AI Flow
AI made easy with Flink AI Flow
Jiangjie Qin500 views
Scaling Machine Learning Systems up to Billions of Predictions per Day by Carmine Paolino
Scaling Machine Learning Systems up to Billions of Predictions per DayScaling Machine Learning Systems up to Billions of Predictions per Day
Scaling Machine Learning Systems up to Billions of Predictions per Day
Carmine Paolino742 views

More from Osvaldo Santana Neto

Basic Brainf*ck by
Basic Brainf*ckBasic Brainf*ck
Basic Brainf*ckOsvaldo Santana Neto
138 views5 slides
Contruindo um Framework Web de Brinquedo só com Python by
Contruindo um Framework Web de Brinquedo só com PythonContruindo um Framework Web de Brinquedo só com Python
Contruindo um Framework Web de Brinquedo só com PythonOsvaldo Santana Neto
421 views42 slides
A Web é uma API by
A Web é uma APIA Web é uma API
A Web é uma APIOsvaldo Santana Neto
363 views40 slides
Dave Thomas - Agile is Dead (GOTO 2015) by
Dave Thomas - Agile is Dead (GOTO 2015)Dave Thomas - Agile is Dead (GOTO 2015)
Dave Thomas - Agile is Dead (GOTO 2015)Osvaldo Santana Neto
1.8K views62 slides
Advanced Brainf*ck by
Advanced Brainf*ckAdvanced Brainf*ck
Advanced Brainf*ckOsvaldo Santana Neto
527 views11 slides
Corrigindo Bugs no CPython by
Corrigindo Bugs no CPythonCorrigindo Bugs no CPython
Corrigindo Bugs no CPythonOsvaldo Santana Neto
495 views14 slides

More from Osvaldo Santana Neto(20)

Contruindo um Framework Web de Brinquedo só com Python by Osvaldo Santana Neto
Contruindo um Framework Web de Brinquedo só com PythonContruindo um Framework Web de Brinquedo só com Python
Contruindo um Framework Web de Brinquedo só com Python
Como funciona um time remoto de desenvolvimento - Caipyra 2018 by Osvaldo Santana Neto
Como funciona um time remoto de desenvolvimento - Caipyra 2018Como funciona um time remoto de desenvolvimento - Caipyra 2018
Como funciona um time remoto de desenvolvimento - Caipyra 2018
Matando (ou quase) Unicode(De|En)codeErrors (lightning talk) by Osvaldo Santana Neto
Matando (ou quase) Unicode(De|En)codeErrors (lightning talk)Matando (ou quase) Unicode(De|En)codeErrors (lightning talk)
Matando (ou quase) Unicode(De|En)codeErrors (lightning talk)
App Engine: aplicações escaláveis em poucas horas by Osvaldo Santana Neto
App Engine: aplicações escaláveis em poucas horasApp Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horas

Recently uploaded

20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
49 views73 slides
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...ShapeBlue
105 views15 slides
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsShapeBlue
172 views13 slides
The Role of Patterns in the Era of Large Language Models by
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
74 views65 slides
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineShapeBlue
154 views19 slides
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueShapeBlue
147 views20 slides

Recently uploaded(20)

Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue105 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue172 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li74 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue154 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue147 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue191 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue59 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue120 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue149 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue86 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue68 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue56 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson142 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely76 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty54 views

Olist Architecture v2.0