SlideShare a Scribd company logo
Microservices on Mesos & Netflix
OSS
By hieu@hoiio.com
Before we start
(or ground rules)
● Forgive my shaking voice
● Feel free to tell me I’m stupid
● Feel free to interrupt me for
question
Agenda
● About Hoiio Stack
● Phoenix Deployment
○ Mesos/Marathon
● Netflix OSS @ Hoiio
○ Service Discovery
■ Consul
■ Eureka
○ API Gateway
● (Monitoring)
About Hoiio
● VoIP/SIP
● SMS/Email
● Connected Apps
● HR suite
Services
● Distributed multi-service
Micro-services
● RabbitMQ as message broker
Peer-to-peer via HTTP
● Kafka as event-store
● JAVA/Python/... modules
● Entirely on AWS
Platform
zuul
auth
billingsip
HTTP
Phoenix Deployment
Mesos/Marathon
● Abstract cluster of machines to
a single “black-box” machine
● Master nodes, Slave/Agent
nodes
● Tasks are submitted to master
● Master schedules job to one of
the slaves
Mesos
http://www.slideshare.net/spodila/prezo-tovmware-june2015
● Framework running on top of
Mesos
● Manage tasks config, number of
instance,...
● Healthcheck
● REST interface
● Mesos as OS, Marathon as Task
Manager
Marathon
● Framework running on top of
Mesos
● Manage tasks config, number of
instance,...
● Healthcheck
● REST interface
● Mesos as OS, Marathon as Task
Manager
Marathon
Mesos
Slave
Mesos
Master
Marathon
CPU/M
emory
Kernel
Schedu
ler
Task
Manager
● Docker as container
○ Supported by Mesos
○ Use AWS ECR as private repo/
Private repo running on Marathon
● Marathon performs healthcheck
and replaces unhealthy
instances
● Replacement takes seconds!
Phoenix?
{
"id": "ms-uat-xxx",
"mem": 384,
“cpu”: 0.5,
...
Service Discovery
Netflix Eureka
● Eureka Server & Client
● Server route are replicated
● Each Client hold a copy of route
table
● Route table are updated in
background
https://github.com/Netflix/eureka/wiki/
Eureka-at-a-glance
● Eureka
○ Eureka server tracks which service
is running where (which ip and
port?)
○ All records are replicated to all
eureka-clients
● Ribbon
○ Pick a server from records replica
on local eureka-client
○ Make request to picked server
○ Retry if configured
10.0.12.16:1234 10.0.140.21:4321
10.0.140.26:6789
Eureka
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
10.0.12.16:1234
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
R
10.0.140.21:4321
10.0.140.21:4321
Auth1
Routes
● Single-point-of-failure? Not
really
○ Route table are replicated
○ Each client has a copy
○ Routes are queried from local copy
● When Eureka is down
○ New servers are not updated
○ Might call to a dead server ->
retry on local server list with
Ribbon
SIP
Auth2
HTTP
Routes
Eureka
Server
Routes
Routes
String moduleVipAddress = "call.hoiio.info"
Observable<HttpResponse> response = HoiioRibbonRequest.getInstance().makeRequest(
moduleVipAddress,
UUID.randomUUID().toString(),
httpRequest);
● Timeout and Retry
○ Defined in HoiioRibbonRequest
○ Default:
■ Timeout: 10s
■ Retry:
● Same server: 0
● Next server: 3
○ Can be re-configured
10.0.12.16:1234
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
R
10.0.140.21:4321
10.0.140.21:4321
HttpClient httpClient;
RetryPolicy retryPolicy;
String moduleVipAddress = "call.hoiio.info"
Integer sameServerRetry = 1
Integer nextServerRetry = 1
retryPolicy = new RetryPolicy(
new DefaultLoadBalancerRetryHandler(
sameServerRetry,
nextServerRetry,
true
)
)
}
Integer timeout = 60;
httpClient = new HttpClient(500, 50, timeout*1000);
Configuration config = new Configuration(moduleVipAddress, httpClient, retryPolicy);
Observable<HttpResponse> httpResponse = HoiioRibbonRequest.getInstance().makeRequest(
config,
correlationId,
httpRequest);
Service Discovery
Consul
● Clustering with agent on each
instance
● Service info is shared in cluster
● Agent has REST interface to
register/deregister/checks/quer
y/…
● Zuul-pronted as primary
reversed proxy
Implementation
service.json
service.json
Zuul
HoiioConsulLoadBalancer lb = new HoiioConsulLoadBalancer(appName, ConsulService.Info.environment(), tag);
HttpResponse httpResponse;
try {
httpResponse = lb.execute(new HttpCmd(httpRequest))
} catch (NoServerException ignored) {
ZuulLogger.logger.error("No server for " + appName)
httpResponse = responseFactory.get().newHttpResponse(
new BasicStatusLine(HttpVersion.HTTP_1_1, 503, "Service not available"),
null);
}
API Gateway
with Netflix Zuul and Archaius
● Single gateway for API
● API mapping for easy
understanding
● Optimize number of request
called
● Reject malformed request
Problems
sms
auth
billingsip
HTTP
● Why Zuul?
○ Apps does not have Eureka Client
○ Cron jobs
○ Exposing API
● What Zuul does
○ Represent API caller (Apps,
Cronjob, Partner,...) to talk to
modules (act as a proxy)
■ Relay request
■ Retry
○ Authenticate request
10.0.12.16:1234
10.0.140.21:4321
10.0.140.26:6789
Eureka
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
10.0.12.16:1234
10.0.140.21:4321,
10.0.140.26:6789
Z
Z
/a/b/c
10.0.140.26:6789
10.0.12.16:1234
/a/b/c -> /a/c
/a/c
Microservice
● Pre, Route, Post Filter
○ Groovy filter
○ Has priority
● Integrate with Archaius for
Dynamic configuration
● Integrate with Eureka/Consul
for service discovery
Netflix Zuul
Reject
malformed
Authenticate
Route using
Eureka
Ribbon/
Eureka
Add header
pre
route
post
Archaius
Route mapping
/sms/send /sms/send ->
{“module”:”sms”,
“uri”:”sendOneSms”}
/sendOneSms
● Timeout and Retry
○ Zuul represents API callers to talk
to modules -> must tell Zuul
timeout and retry for each API
○ Default values
■ Timeout: 10s
■ Retry:
● Same server: 0
● Next server: 3
{
"vipAddress": "auth.hoiio.info",
"module": "auth",
“apis”: [
{
"from":"/v1/otp",
"to": "/private/v1/otp",
"type": "private",
"timeout": 60,
"retry": {
"same": 1,
"next": 2
}
}
]
}
Monitoring
● Remember Consul?
● Consul watch
○ Trigger action when a service
status changes
Service status
service.json
{
"service": {
"name": "MS-Apps-1-46",
"tags": ["prod"],
"address": "10.0.14.10",
"port": 8080,
"checks": [
{
"script":
"/opt/consul/bin/MS-Apps-1-46-healthcheck.sh",
"interval": "60s"
}
]
}
}
● Metric sources:
○ CollectD/cAdvisor
○ Cloudwatch
● Metric storage:
○ InfluxDB
● Visualization:
○ Grafana
Instance stats
Kapacitor
Cloudwatch
CAS
slack
/sms
Thank you!
We are hiring!
● Fresh web engineer
● Senior web engineer
● Internship

More Related Content

What's hot

NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, KayentaNetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
aspyker
 
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell ScruggsOrchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Cloud Native Day Tel Aviv
 
OpenStack HA
OpenStack HAOpenStack HA
OpenStack HA
Kenneth Hui
 
CDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaCCDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaC
smalltown
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
Moving to Nova Cells without Destroying the World
Moving to Nova Cells without Destroying the WorldMoving to Nova Cells without Destroying the World
Moving to Nova Cells without Destroying the World
Mike Dorman
 
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Cloud Native Day Tel Aviv
 
Swami osi bangalore2017days pike release_updates
Swami osi bangalore2017days pike release_updatesSwami osi bangalore2017days pike release_updates
Swami osi bangalore2017days pike release_updates
Ranga Swami Reddy Muthumula
 
Success With OpenStack in Production - Frank Weyns - Openstack Day Israel 2016
Success With OpenStack in Production - Frank Weyns - Openstack Day Israel 2016Success With OpenStack in Production - Frank Weyns - Openstack Day Israel 2016
Success With OpenStack in Production - Frank Weyns - Openstack Day Israel 2016
Cloud Native Day Tel Aviv
 
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
OpenStack
 
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Yong Tang
 
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo LongMetal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
Vietnam Open Infrastructure User Group
 
How we scale DroneCi on demand
How we scale DroneCi on demandHow we scale DroneCi on demand
How we scale DroneCi on demand
Patrick Jahns
 
Cloud Native User Group: Shift-Left Testing IaC With PaC
Cloud Native User Group: Shift-Left Testing IaC With PaCCloud Native User Group: Shift-Left Testing IaC With PaC
Cloud Native User Group: Shift-Left Testing IaC With PaC
smalltown
 
Ingress overview
Ingress overviewIngress overview
Ingress overview
Harshal Shah
 
Cloud Networking - Leaving the Physical Behind - Omer Anson - OpenStack Day I...
Cloud Networking - Leaving the Physical Behind - Omer Anson - OpenStack Day I...Cloud Networking - Leaving the Physical Behind - Omer Anson - OpenStack Day I...
Cloud Networking - Leaving the Physical Behind - Omer Anson - OpenStack Day I...
Cloud Native Day Tel Aviv
 
How to Develop OpenStack
How to Develop OpenStackHow to Develop OpenStack
How to Develop OpenStack
Mehdi Ali Soltani
 

What's hot (17)

NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, KayentaNetflixOSS Meetup S6E2 - Spinnaker, Kayenta
NetflixOSS Meetup S6E2 - Spinnaker, Kayenta
 
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell ScruggsOrchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
 
OpenStack HA
OpenStack HAOpenStack HA
OpenStack HA
 
CDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaCCDK Meetup: Rule the World through IaC
CDK Meetup: Rule the World through IaC
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
Moving to Nova Cells without Destroying the World
Moving to Nova Cells without Destroying the WorldMoving to Nova Cells without Destroying the World
Moving to Nova Cells without Destroying the World
 
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
 
Swami osi bangalore2017days pike release_updates
Swami osi bangalore2017days pike release_updatesSwami osi bangalore2017days pike release_updates
Swami osi bangalore2017days pike release_updates
 
Success With OpenStack in Production - Frank Weyns - Openstack Day Israel 2016
Success With OpenStack in Production - Frank Weyns - Openstack Day Israel 2016Success With OpenStack in Production - Frank Weyns - Openstack Day Israel 2016
Success With OpenStack in Production - Frank Weyns - Openstack Day Israel 2016
 
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
Monitoring Uptime on the NeCTAR Research Cloud - Andy Botting, University of ...
 
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
Building a Cloud Native Service - Docker Meetup Santa Clara (July 20, 2017)
 
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo LongMetal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
 
How we scale DroneCi on demand
How we scale DroneCi on demandHow we scale DroneCi on demand
How we scale DroneCi on demand
 
Cloud Native User Group: Shift-Left Testing IaC With PaC
Cloud Native User Group: Shift-Left Testing IaC With PaCCloud Native User Group: Shift-Left Testing IaC With PaC
Cloud Native User Group: Shift-Left Testing IaC With PaC
 
Ingress overview
Ingress overviewIngress overview
Ingress overview
 
Cloud Networking - Leaving the Physical Behind - Omer Anson - OpenStack Day I...
Cloud Networking - Leaving the Physical Behind - Omer Anson - OpenStack Day I...Cloud Networking - Leaving the Physical Behind - Omer Anson - OpenStack Day I...
Cloud Networking - Leaving the Physical Behind - Omer Anson - OpenStack Day I...
 
How to Develop OpenStack
How to Develop OpenStackHow to Develop OpenStack
How to Develop OpenStack
 

Viewers also liked

Cloud Solution Day 2016: Service Mesh for Kubernetes
Cloud Solution Day 2016: Service Mesh for KubernetesCloud Solution Day 2016: Service Mesh for Kubernetes
Cloud Solution Day 2016: Service Mesh for Kubernetes
AWS Vietnam Community
 
Meetup#6: AWS-AI & Lambda Serverless
Meetup#6: AWS-AI & Lambda Serverless Meetup#6: AWS-AI & Lambda Serverless
Meetup#6: AWS-AI & Lambda Serverless
AWS Vietnam Community
 
Cloudsolutionday 2016: Opening Remarks
Cloudsolutionday 2016: Opening RemarksCloudsolutionday 2016: Opening Remarks
Cloudsolutionday 2016: Opening Remarks
AWS Vietnam Community
 
Cloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.comCloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.com
AWS Vietnam Community
 
Cloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureCloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless Architecture
AWS Vietnam Community
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
AWS Vietnam Community
 
Cloudsolutionday 2016: Compliance and cost controlling on AWS
Cloudsolutionday 2016: Compliance and cost controlling on AWSCloudsolutionday 2016: Compliance and cost controlling on AWS
Cloudsolutionday 2016: Compliance and cost controlling on AWS
AWS Vietnam Community
 
MicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleMicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scale
Sudhir Tonse
 
Cloudsolutionday 2016: How to build a "zero-downtime" web application
Cloudsolutionday 2016: How to build a "zero-downtime" web application Cloudsolutionday 2016: How to build a "zero-downtime" web application
Cloudsolutionday 2016: How to build a "zero-downtime" web application
AWS Vietnam Community
 
Arquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionArquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo Session
Amazon Web Services LATAM
 
Meetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWSMeetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWS
AWS Vietnam Community
 
Meetup #5: Architecting for High Availability
Meetup #5: Architecting for High Availability Meetup #5: Architecting for High Availability
Meetup #5: Architecting for High Availability
AWS Vietnam Community
 
Seamless Migration
Seamless MigrationSeamless Migration
Seamless Migration
jasnow
 
Arc305 how netflix leverages multiple regions to increase availability an i...
Arc305 how netflix leverages multiple regions to increase availability   an i...Arc305 how netflix leverages multiple regions to increase availability   an i...
Arc305 how netflix leverages multiple regions to increase availability an i...
Ruslan Meshenberg
 
#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture
Chris Richardson
 
Svc 202-netflix-open-source
Svc 202-netflix-open-sourceSvc 202-netflix-open-source
Svc 202-netflix-open-source
Ruslan Meshenberg
 
Pre-Con Ed: CA API Gateway: Developing Custom Policies to Secure Your Enterpr...
Pre-Con Ed: CA API Gateway: Developing Custom Policies to Secure Your Enterpr...Pre-Con Ed: CA API Gateway: Developing Custom Policies to Secure Your Enterpr...
Pre-Con Ed: CA API Gateway: Developing Custom Policies to Secure Your Enterpr...
CA Technologies
 
Recsys 2014 Keynote: The Value of Better Recommendations - For Businesses, Co...
Recsys 2014 Keynote: The Value of Better Recommendations - For Businesses, Co...Recsys 2014 Keynote: The Value of Better Recommendations - For Businesses, Co...
Recsys 2014 Keynote: The Value of Better Recommendations - For Businesses, Co...
Neil Hunt
 
Making Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch Fix
Diana Tkachenko
 
Multi-node ZUUL OpenStack gate for bare metal and Docker
Multi-node ZUUL OpenStack gate for bare metal and DockerMulti-node ZUUL OpenStack gate for bare metal and Docker
Multi-node ZUUL OpenStack gate for bare metal and Docker
Vikram G Hosakote
 

Viewers also liked (20)

Cloud Solution Day 2016: Service Mesh for Kubernetes
Cloud Solution Day 2016: Service Mesh for KubernetesCloud Solution Day 2016: Service Mesh for Kubernetes
Cloud Solution Day 2016: Service Mesh for Kubernetes
 
Meetup#6: AWS-AI & Lambda Serverless
Meetup#6: AWS-AI & Lambda Serverless Meetup#6: AWS-AI & Lambda Serverless
Meetup#6: AWS-AI & Lambda Serverless
 
Cloudsolutionday 2016: Opening Remarks
Cloudsolutionday 2016: Opening RemarksCloudsolutionday 2016: Opening Remarks
Cloudsolutionday 2016: Opening Remarks
 
Cloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.comCloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.com
 
Cloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureCloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless Architecture
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
 
Cloudsolutionday 2016: Compliance and cost controlling on AWS
Cloudsolutionday 2016: Compliance and cost controlling on AWSCloudsolutionday 2016: Compliance and cost controlling on AWS
Cloudsolutionday 2016: Compliance and cost controlling on AWS
 
MicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleMicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scale
 
Cloudsolutionday 2016: How to build a "zero-downtime" web application
Cloudsolutionday 2016: How to build a "zero-downtime" web application Cloudsolutionday 2016: How to build a "zero-downtime" web application
Cloudsolutionday 2016: How to build a "zero-downtime" web application
 
Arquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionArquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo Session
 
Meetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWSMeetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWS
 
Meetup #5: Architecting for High Availability
Meetup #5: Architecting for High Availability Meetup #5: Architecting for High Availability
Meetup #5: Architecting for High Availability
 
Seamless Migration
Seamless MigrationSeamless Migration
Seamless Migration
 
Arc305 how netflix leverages multiple regions to increase availability an i...
Arc305 how netflix leverages multiple regions to increase availability   an i...Arc305 how netflix leverages multiple regions to increase availability   an i...
Arc305 how netflix leverages multiple regions to increase availability an i...
 
#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture
 
Svc 202-netflix-open-source
Svc 202-netflix-open-sourceSvc 202-netflix-open-source
Svc 202-netflix-open-source
 
Pre-Con Ed: CA API Gateway: Developing Custom Policies to Secure Your Enterpr...
Pre-Con Ed: CA API Gateway: Developing Custom Policies to Secure Your Enterpr...Pre-Con Ed: CA API Gateway: Developing Custom Policies to Secure Your Enterpr...
Pre-Con Ed: CA API Gateway: Developing Custom Policies to Secure Your Enterpr...
 
Recsys 2014 Keynote: The Value of Better Recommendations - For Businesses, Co...
Recsys 2014 Keynote: The Value of Better Recommendations - For Businesses, Co...Recsys 2014 Keynote: The Value of Better Recommendations - For Businesses, Co...
Recsys 2014 Keynote: The Value of Better Recommendations - For Businesses, Co...
 
Making Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch Fix
 
Multi-node ZUUL OpenStack gate for bare metal and Docker
Multi-node ZUUL OpenStack gate for bare metal and DockerMulti-node ZUUL OpenStack gate for bare metal and Docker
Multi-node ZUUL OpenStack gate for bare metal and Docker
 

Similar to Cloud Solution Day 2016: Microservices on Mesos & Netflix OSS

"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy
Fwdays
 
Application Monitoring using Open Source: VictoriaMetrics - ClickHouse
Application Monitoring using Open Source: VictoriaMetrics - ClickHouseApplication Monitoring using Open Source: VictoriaMetrics - ClickHouse
Application Monitoring using Open Source: VictoriaMetrics - ClickHouse
VictoriaMetrics
 
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
Altinity Ltd
 
Approaches to application request throttling
Approaches to application request throttlingApproaches to application request throttling
Approaches to application request throttling
Maarten Balliauw
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
Maarten Balliauw
 
MySQL HA Orchestrator Proxysql Consul.pdf
MySQL HA Orchestrator Proxysql Consul.pdfMySQL HA Orchestrator Proxysql Consul.pdf
MySQL HA Orchestrator Proxysql Consul.pdf
YunusShaikh49
 
Observability with HAProxy
Observability with HAProxyObservability with HAProxy
Observability with HAProxy
HAProxy Technologies
 
202107 - Orion introduction - COSCUP
202107 - Orion introduction - COSCUP202107 - Orion introduction - COSCUP
202107 - Orion introduction - COSCUP
Ronald Hsu
 
HBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon
 
Protocol handler in Gecko
Protocol handler in GeckoProtocol handler in Gecko
Protocol handler in Gecko
Chih-Hsuan Kuo
 
Presto GeoSpatial @ Strata New York 2017
Presto GeoSpatial @ Strata New York 2017Presto GeoSpatial @ Strata New York 2017
Presto GeoSpatial @ Strata New York 2017
Zhenxiao Luo
 
DevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga #15: Agentless monitoring with icinga and prometheusDevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga
 
OS scheduling and The anatomy of a context switch
OS scheduling and The anatomy of a context switchOS scheduling and The anatomy of a context switch
OS scheduling and The anatomy of a context switch
Daniel Ben-Zvi
 
Network Automation with Salt and NAPALM: Introuction
Network Automation with Salt and NAPALM: IntrouctionNetwork Automation with Salt and NAPALM: Introuction
Network Automation with Salt and NAPALM: Introuction
Cloudflare
 
PyConUK 2018 - Journey from HTTP to gRPC
PyConUK 2018 - Journey from HTTP to gRPCPyConUK 2018 - Journey from HTTP to gRPC
PyConUK 2018 - Journey from HTTP to gRPC
Tatiana Al-Chueyr
 
How Yelp does Service Discovery
How Yelp does Service DiscoveryHow Yelp does Service Discovery
How Yelp does Service Discovery
John Billings
 
Consul administration at scale
Consul administration at scaleConsul administration at scale
Consul administration at scale
Pierre Souchay
 
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownDebugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Aspen Mesh
 
haproxy_Load_Balancer.pptx
haproxy_Load_Balancer.pptxhaproxy_Load_Balancer.pptx
haproxy_Load_Balancer.pptx
crezzcrezz
 

Similar to Cloud Solution Day 2016: Microservices on Mesos & Netflix OSS (20)

"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy
 
Application Monitoring using Open Source: VictoriaMetrics - ClickHouse
Application Monitoring using Open Source: VictoriaMetrics - ClickHouseApplication Monitoring using Open Source: VictoriaMetrics - ClickHouse
Application Monitoring using Open Source: VictoriaMetrics - ClickHouse
 
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
 
Approaches to application request throttling
Approaches to application request throttlingApproaches to application request throttling
Approaches to application request throttling
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
 
MySQL HA Orchestrator Proxysql Consul.pdf
MySQL HA Orchestrator Proxysql Consul.pdfMySQL HA Orchestrator Proxysql Consul.pdf
MySQL HA Orchestrator Proxysql Consul.pdf
 
Observability with HAProxy
Observability with HAProxyObservability with HAProxy
Observability with HAProxy
 
202107 - Orion introduction - COSCUP
202107 - Orion introduction - COSCUP202107 - Orion introduction - COSCUP
202107 - Orion introduction - COSCUP
 
HBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase Update
 
Protocol handler in Gecko
Protocol handler in GeckoProtocol handler in Gecko
Protocol handler in Gecko
 
Presto GeoSpatial @ Strata New York 2017
Presto GeoSpatial @ Strata New York 2017Presto GeoSpatial @ Strata New York 2017
Presto GeoSpatial @ Strata New York 2017
 
DevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga #15: Agentless monitoring with icinga and prometheusDevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga #15: Agentless monitoring with icinga and prometheus
 
Node.js
Node.jsNode.js
Node.js
 
OS scheduling and The anatomy of a context switch
OS scheduling and The anatomy of a context switchOS scheduling and The anatomy of a context switch
OS scheduling and The anatomy of a context switch
 
Network Automation with Salt and NAPALM: Introuction
Network Automation with Salt and NAPALM: IntrouctionNetwork Automation with Salt and NAPALM: Introuction
Network Automation with Salt and NAPALM: Introuction
 
PyConUK 2018 - Journey from HTTP to gRPC
PyConUK 2018 - Journey from HTTP to gRPCPyConUK 2018 - Journey from HTTP to gRPC
PyConUK 2018 - Journey from HTTP to gRPC
 
How Yelp does Service Discovery
How Yelp does Service DiscoveryHow Yelp does Service Discovery
How Yelp does Service Discovery
 
Consul administration at scale
Consul administration at scaleConsul administration at scale
Consul administration at scale
 
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes DownDebugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
Debugging Your Debugging Tools: What to do When Your Service Mesh Goes Down
 
haproxy_Load_Balancer.pptx
haproxy_Load_Balancer.pptxhaproxy_Load_Balancer.pptx
haproxy_Load_Balancer.pptx
 

More from AWS Vietnam Community

Data Exchange talk AWSVNUG
Data Exchange talk AWSVNUGData Exchange talk AWSVNUG
Data Exchange talk AWSVNUG
AWS Vietnam Community
 
Build multi region data warehouse on AWS - AWSVNUG
Build multi region data warehouse on AWS - AWSVNUGBuild multi region data warehouse on AWS - AWSVNUG
Build multi region data warehouse on AWS - AWSVNUG
AWS Vietnam Community
 
Growth journey 2018 AWSVN
Growth journey 2018 AWSVNGrowth journey 2018 AWSVN
Growth journey 2018 AWSVN
AWS Vietnam Community
 
Re invent 2018 top 15 launch announcements
Re invent 2018 top 15 launch announcementsRe invent 2018 top 15 launch announcements
Re invent 2018 top 15 launch announcements
AWS Vietnam Community
 
Vietnam AWS Community Day 2018
Vietnam AWS Community Day 2018Vietnam AWS Community Day 2018
Vietnam AWS Community Day 2018
AWS Vietnam Community
 
Series Meetup #1: Speech 2: Elastic beanstalk
Series Meetup #1: Speech 2: Elastic beanstalkSeries Meetup #1: Speech 2: Elastic beanstalk
Series Meetup #1: Speech 2: Elastic beanstalk
AWS Vietnam Community
 
Series Meetup #1: Speech 1: Computing
Series Meetup #1: Speech 1: Computing Series Meetup #1: Speech 1: Computing
Series Meetup #1: Speech 1: Computing
AWS Vietnam Community
 
Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)
AWS Vietnam Community
 
Vn introduction to cloud computing with amazon web services
Vn   introduction to cloud computing with amazon web servicesVn   introduction to cloud computing with amazon web services
Vn introduction to cloud computing with amazon web services
AWS Vietnam Community
 
Meetup#7: AWS LightSail - The Simplicity of VPS - The Power of AWS
Meetup#7: AWS LightSail - The Simplicity of VPS - The Power of AWSMeetup#7: AWS LightSail - The Simplicity of VPS - The Power of AWS
Meetup#7: AWS LightSail - The Simplicity of VPS - The Power of AWS
AWS Vietnam Community
 
Meetup #4: AWS ELB Deep dive & Best practices
Meetup #4: AWS ELB Deep dive & Best practicesMeetup #4: AWS ELB Deep dive & Best practices
Meetup #4: AWS ELB Deep dive & Best practices
AWS Vietnam Community
 
Meetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSMeetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWS
AWS Vietnam Community
 

More from AWS Vietnam Community (12)

Data Exchange talk AWSVNUG
Data Exchange talk AWSVNUGData Exchange talk AWSVNUG
Data Exchange talk AWSVNUG
 
Build multi region data warehouse on AWS - AWSVNUG
Build multi region data warehouse on AWS - AWSVNUGBuild multi region data warehouse on AWS - AWSVNUG
Build multi region data warehouse on AWS - AWSVNUG
 
Growth journey 2018 AWSVN
Growth journey 2018 AWSVNGrowth journey 2018 AWSVN
Growth journey 2018 AWSVN
 
Re invent 2018 top 15 launch announcements
Re invent 2018 top 15 launch announcementsRe invent 2018 top 15 launch announcements
Re invent 2018 top 15 launch announcements
 
Vietnam AWS Community Day 2018
Vietnam AWS Community Day 2018Vietnam AWS Community Day 2018
Vietnam AWS Community Day 2018
 
Series Meetup #1: Speech 2: Elastic beanstalk
Series Meetup #1: Speech 2: Elastic beanstalkSeries Meetup #1: Speech 2: Elastic beanstalk
Series Meetup #1: Speech 2: Elastic beanstalk
 
Series Meetup #1: Speech 1: Computing
Series Meetup #1: Speech 1: Computing Series Meetup #1: Speech 1: Computing
Series Meetup #1: Speech 1: Computing
 
Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)Build an app on aws for your first 10 million users (2)
Build an app on aws for your first 10 million users (2)
 
Vn introduction to cloud computing with amazon web services
Vn   introduction to cloud computing with amazon web servicesVn   introduction to cloud computing with amazon web services
Vn introduction to cloud computing with amazon web services
 
Meetup#7: AWS LightSail - The Simplicity of VPS - The Power of AWS
Meetup#7: AWS LightSail - The Simplicity of VPS - The Power of AWSMeetup#7: AWS LightSail - The Simplicity of VPS - The Power of AWS
Meetup#7: AWS LightSail - The Simplicity of VPS - The Power of AWS
 
Meetup #4: AWS ELB Deep dive & Best practices
Meetup #4: AWS ELB Deep dive & Best practicesMeetup #4: AWS ELB Deep dive & Best practices
Meetup #4: AWS ELB Deep dive & Best practices
 
Meetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSMeetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWS
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 

Cloud Solution Day 2016: Microservices on Mesos & Netflix OSS

  • 1. Microservices on Mesos & Netflix OSS By hieu@hoiio.com
  • 2. Before we start (or ground rules) ● Forgive my shaking voice ● Feel free to tell me I’m stupid ● Feel free to interrupt me for question
  • 3. Agenda ● About Hoiio Stack ● Phoenix Deployment ○ Mesos/Marathon ● Netflix OSS @ Hoiio ○ Service Discovery ■ Consul ■ Eureka ○ API Gateway ● (Monitoring)
  • 5. ● VoIP/SIP ● SMS/Email ● Connected Apps ● HR suite Services
  • 6. ● Distributed multi-service Micro-services ● RabbitMQ as message broker Peer-to-peer via HTTP ● Kafka as event-store ● JAVA/Python/... modules ● Entirely on AWS Platform zuul auth billingsip HTTP
  • 8. ● Abstract cluster of machines to a single “black-box” machine ● Master nodes, Slave/Agent nodes ● Tasks are submitted to master ● Master schedules job to one of the slaves Mesos
  • 10. ● Framework running on top of Mesos ● Manage tasks config, number of instance,... ● Healthcheck ● REST interface ● Mesos as OS, Marathon as Task Manager Marathon
  • 11. ● Framework running on top of Mesos ● Manage tasks config, number of instance,... ● Healthcheck ● REST interface ● Mesos as OS, Marathon as Task Manager Marathon Mesos Slave Mesos Master Marathon CPU/M emory Kernel Schedu ler Task Manager
  • 12.
  • 13. ● Docker as container ○ Supported by Mesos ○ Use AWS ECR as private repo/ Private repo running on Marathon ● Marathon performs healthcheck and replaces unhealthy instances ● Replacement takes seconds! Phoenix?
  • 15.
  • 17. ● Eureka Server & Client ● Server route are replicated ● Each Client hold a copy of route table ● Route table are updated in background https://github.com/Netflix/eureka/wiki/ Eureka-at-a-glance
  • 18. ● Eureka ○ Eureka server tracks which service is running where (which ip and port?) ○ All records are replicated to all eureka-clients ● Ribbon ○ Pick a server from records replica on local eureka-client ○ Make request to picked server ○ Retry if configured 10.0.12.16:1234 10.0.140.21:4321 10.0.140.26:6789 Eureka 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 10.0.12.16:1234 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 R 10.0.140.21:4321 10.0.140.21:4321
  • 19. Auth1 Routes ● Single-point-of-failure? Not really ○ Route table are replicated ○ Each client has a copy ○ Routes are queried from local copy ● When Eureka is down ○ New servers are not updated ○ Might call to a dead server -> retry on local server list with Ribbon SIP Auth2 HTTP Routes Eureka Server Routes Routes
  • 20. String moduleVipAddress = "call.hoiio.info" Observable<HttpResponse> response = HoiioRibbonRequest.getInstance().makeRequest( moduleVipAddress, UUID.randomUUID().toString(), httpRequest);
  • 21. ● Timeout and Retry ○ Defined in HoiioRibbonRequest ○ Default: ■ Timeout: 10s ■ Retry: ● Same server: 0 ● Next server: 3 ○ Can be re-configured 10.0.12.16:1234 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 R 10.0.140.21:4321 10.0.140.21:4321
  • 22. HttpClient httpClient; RetryPolicy retryPolicy; String moduleVipAddress = "call.hoiio.info" Integer sameServerRetry = 1 Integer nextServerRetry = 1 retryPolicy = new RetryPolicy( new DefaultLoadBalancerRetryHandler( sameServerRetry, nextServerRetry, true ) ) } Integer timeout = 60; httpClient = new HttpClient(500, 50, timeout*1000); Configuration config = new Configuration(moduleVipAddress, httpClient, retryPolicy); Observable<HttpResponse> httpResponse = HoiioRibbonRequest.getInstance().makeRequest( config, correlationId, httpRequest);
  • 24. ● Clustering with agent on each instance ● Service info is shared in cluster ● Agent has REST interface to register/deregister/checks/quer y/… ● Zuul-pronted as primary reversed proxy Implementation service.json service.json Zuul
  • 25.
  • 26. HoiioConsulLoadBalancer lb = new HoiioConsulLoadBalancer(appName, ConsulService.Info.environment(), tag); HttpResponse httpResponse; try { httpResponse = lb.execute(new HttpCmd(httpRequest)) } catch (NoServerException ignored) { ZuulLogger.logger.error("No server for " + appName) httpResponse = responseFactory.get().newHttpResponse( new BasicStatusLine(HttpVersion.HTTP_1_1, 503, "Service not available"), null); }
  • 27. API Gateway with Netflix Zuul and Archaius
  • 28. ● Single gateway for API ● API mapping for easy understanding ● Optimize number of request called ● Reject malformed request Problems sms auth billingsip HTTP
  • 29. ● Why Zuul? ○ Apps does not have Eureka Client ○ Cron jobs ○ Exposing API ● What Zuul does ○ Represent API caller (Apps, Cronjob, Partner,...) to talk to modules (act as a proxy) ■ Relay request ■ Retry ○ Authenticate request 10.0.12.16:1234 10.0.140.21:4321 10.0.140.26:6789 Eureka 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 10.0.12.16:1234 10.0.140.21:4321, 10.0.140.26:6789 Z Z /a/b/c 10.0.140.26:6789 10.0.12.16:1234 /a/b/c -> /a/c /a/c Microservice
  • 30. ● Pre, Route, Post Filter ○ Groovy filter ○ Has priority ● Integrate with Archaius for Dynamic configuration ● Integrate with Eureka/Consul for service discovery Netflix Zuul Reject malformed Authenticate Route using Eureka Ribbon/ Eureka Add header pre route post Archaius Route mapping /sms/send /sms/send -> {“module”:”sms”, “uri”:”sendOneSms”} /sendOneSms
  • 31. ● Timeout and Retry ○ Zuul represents API callers to talk to modules -> must tell Zuul timeout and retry for each API ○ Default values ■ Timeout: 10s ■ Retry: ● Same server: 0 ● Next server: 3 { "vipAddress": "auth.hoiio.info", "module": "auth", “apis”: [ { "from":"/v1/otp", "to": "/private/v1/otp", "type": "private", "timeout": 60, "retry": { "same": 1, "next": 2 } } ] }
  • 32.
  • 33.
  • 35. ● Remember Consul? ● Consul watch ○ Trigger action when a service status changes Service status service.json { "service": { "name": "MS-Apps-1-46", "tags": ["prod"], "address": "10.0.14.10", "port": 8080, "checks": [ { "script": "/opt/consul/bin/MS-Apps-1-46-healthcheck.sh", "interval": "60s" } ] } }
  • 36. ● Metric sources: ○ CollectD/cAdvisor ○ Cloudwatch ● Metric storage: ○ InfluxDB ● Visualization: ○ Grafana Instance stats Kapacitor Cloudwatch CAS slack /sms
  • 37.
  • 39. We are hiring! ● Fresh web engineer ● Senior web engineer ● Internship