SlideShare una empresa de Scribd logo
1 de 98
Scrum breakfast Jan, 2018
Elasticsearch in actions
www.axon.vnfb.com/AxonActiveVietNam
Who we are?
Lương Văn Thắng
www.axon.vnfb.com/AxonActiveVietNam
Who we are?
Vũ Hiển Khang
www.axon.vnfb.com/AxonActiveVietNam
Who we are?
Đỗ Việt Trung
www.axon.vnfb.com/AxonActiveVietNam
Theme: Learning mindset
www.axon.vnfb.com/AxonActiveVietNam
1. OVERVIEW
2. Searching
3. SCALE
4. SECURITY
5. MIGRATION
6. LIMITATION
7. DEMO
Agenda
www.axon.vnfb.com/AxonActiveVietNam
OVERVIEW
www.axon.vnfb.com/AxonActiveVietNam
What is Elasticsearch?
❖ Search engine based on Lucene
❖ Real-time distributed, full-text search engine
❖ RESTful API
❖ Schema-free
❖ First public release in Feb 2010
Wikipedia
www.axon.vnfb.com/AxonActiveVietNam
WHO are using ELASTICSEARCH?
www.axon.vnfb.com/AxonActiveVietNam
WhY Elasticsearch?
● NoSQL DB for indexing JSON contents
● Schema-free
● Distributed
● High performance
● REST semantics
● Graph capabilities
● Great documentation
● Open source!
www.axon.vnfb.com/AxonActiveVietNam
WhY Elasticsearch?
www.axon.vnfb.com/AxonActiveVietNam
WORK WITH Big data
www.axon.vnfb.com/AxonActiveVietNam
Searching – poor performance
www.axon.vnfb.com/AxonActiveVietNam
Schema changes frequently
www.axon.vnfb.com/AxonActiveVietNam
Scaling database
www.axon.vnfb.com/AxonActiveVietNam
Searching – faster and smarter
www.axon.vnfb.com/AxonActiveVietNam
Our solution
www.axon.vnfb.com/AxonActiveVietNam
Searching In Action
www.axon.vnfb.com/AxonActiveVietNam
Get started
www.axon.vnfb.com/AxonActiveVietNam
❖ Node – a started instance of Elasticsearch
❖ Cluster - collection of connected nodes of Elasticsearch
Cluster and Nodes
www.axon.vnfb.com/AxonActiveVietNam
❖ A collection of types
❖ Similar to database
Indexes
www.axon.vnfb.com/AxonActiveVietNam
❖ Collection of documents
❖ Has schema (implicit or explicit)
❖ Similar to table
Types
www.axon.vnfb.com/AxonActiveVietNam
❖ Self-contained data
❖ Have id
❖ Have schema
❖ Similar to record
Documents
www.axon.vnfb.com/AxonActiveVietNam
❖ Documents are structured in fields
❖ Special fields: _id, _uid, _index, _type, _all, _source, …
❖ Similar to column
Fields
www.axon.vnfb.com/AxonActiveVietNam
❖ text, keyword
❖ long, integer, short, double, float, byte
❖ date
❖ boolean
❖ binary
❖ geo
❖ object
❖ nested
❖ ip
❖ arrays
❖ …
Data types
www.axon.vnfb.com/AxonActiveVietNam
Mappings and settings
Mappings – schema of documents
+ dynamic mappings
+ explicit mappings
Settings – configured for each index
+ good enough when using default settings
+ index analysis – expert users
www.axon.vnfb.com/AxonActiveVietNam
Download and setup
https://www.elastic.co/guide/en/elasticsearch/reference/5.4/setup.html
www.axon.vnfb.com/AxonActiveVietNam
Setup Elasticsearch
www.axon.vnfb.com/AxonActiveVietNam
{
"from": 0,
"size": 20,
"min_score": 5,
"query": {
"bool": {
"should": [],
"must": [],
"must_not": [],
"filter": {}
}
},
"sort": [],
"aggs": {}
}
Query structure
www.axon.vnfb.com/AxonActiveVietNam
{
"from": 0,
"size": 20,
"min_score": 5,
"query": {
"bool": {
"should": [],
"must": [],
"must_not":
[],
"filter": {}
}
},
"sort": [],
"aggs": {}
}
Query structure
// do pagination
www.axon.vnfb.com/AxonActiveVietNam
{
"from": 0,
"size": 20,
"min_score": 5,
"query": {
"bool": {
"should": [],
"must": [],
"must_not": [],
"filter": {}
}
},
"sort": [],
"aggs": {}
}
Query structure
// limit hitlist return
www.axon.vnfb.com/AxonActiveVietNam
{
"from": 0,
"size": 20,
"min_score": 5,
"query": {
"bool": {
"should": [],
"must": [],
"must_not": [],
"filter": {}
}
},
"sort": [],
"aggs": {}
}
Query structure
// statistic
www.axon.vnfb.com/AxonActiveVietNam
{
"from": 0,
"size": 20,
"min_score": 5,
"query": {
"bool": {
"should": [{..}, {..},..],
"must": [{..}, {..},..],
"must_not": [{..}, {..},..],
"filter": {}
}
},
"sort": [],
"aggs": {}
}
Query structure
// and
// or
// not
www.axon.vnfb.com/AxonActiveVietNam
{
"bool": {
"must": [
{“strong”},
{“is man”}
]
}
}
Exercise 1
www.axon.vnfb.com/AxonActiveVietNam
{
"bool": {
"must": [
{“strong”},
{“is man”}]
}
}
Exercise 1
www.axon.vnfb.com/AxonActiveVietNam
{
"bool": {
"must":
[{“has red on suite”}],
“should“:
[{“strong”},{“is man”}]
}
}
Exercise 2
www.axon.vnfb.com/AxonActiveVietNam
{
"bool": {
"must": [{“has red on suite”}],
"should":[{“strong”},{“is man”}]
}
}
Exercise 2
www.axon.vnfb.com/AxonActiveVietNam
Exercise 3
{
"bool": {
"must":
[{“strong”},{“has
cape”}],
“must_not“:
[{“be seen the face”} ]
}
}
www.axon.vnfb.com/AxonActiveVietNam
{
"bool": {
"must":
[{“strong”},
{“has cape”}],
“must_not“:
[{“be seen the face”}]
}
}
Exercise 3
www.axon.vnfb.com/AxonActiveVietNam
❖ Mail-search server
❖ Dataset of >470,000 emails
❖ Legal copy from a dissolved
company - US
Workflow of building a query
www.axon.vnfb.com/AxonActiveVietNam
❖ Has ‘bomb’ in content
❖ Sent by steven.kean@enron.com
❖ Interested in receiver
bill.donovan@enron.com
Workflow of building a query
www.axon.vnfb.com/AxonActiveVietNam
Workflow of building a query
www.axon.vnfb.com/AxonActiveVietNam
Synonym
www.axon.vnfb.com/AxonActiveVietNam
Synonym token filter
www.axon.vnfb.com/AxonActiveVietNam
Synonym token filter
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
SCALE
www.axon.vnfb.com/AxonActiveVietNam
What – Why?
www.axon.vnfb.com/AxonActiveVietNam
How to Scale
www.axon.vnfb.com/AxonActiveVietNam
How to Scale
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
SECURITY
www.axon.vnfb.com/AxonActiveVietNam
WHY
Elasticsearch has no concept of a user.
Essentially, anyone that can send arbitrary requests to your
cluster is a “super user”.
www.axon.vnfb.com/AxonActiveVietNam
WHAT
❖ Authentication & authorization
❖ Access control
❖ Encryption
❖ Auditing
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
Authentication
& Authorization
Role-based
access control
Encryption
Auditing
License PaidPaid/UnpaidPaid/Unpaid Paid/Unpaid
www.axon.vnfb.com/AxonActiveVietNam
Prevent unauthorized access
Keep Data Integrity
what happen on system
www.axon.vnfb.com/AxonActiveVietNam
Installing….
www.axon.vnfb.com/AxonActiveVietNam
User Authentication
www.axon.vnfb.com/AxonActiveVietNam
Identify who send the request
www.axon.vnfb.com/AxonActiveVietNam
built-in users
elastic kibana logstash_system
www.axon.vnfb.com/AxonActiveVietNam
ADD More User
PUT localhost:9200/_xpack/security/user/trungdo
{
"full_name" : "Trung Do",
"email" : "trung.do@axonactive.com",
"password" : "axonvn",
"roles" : [ "admin", "superior", "kibana_user" ],
"metadata" : {
"workingYear" : 5
},
"enabled": true
}
www.axon.vnfb.com/AxonActiveVietNam
How authentication works
Native
(Basic Auth)
LDAP
file
(Basic Auth)
Active
Directory
PKI Custom
Realms
www.axon.vnfb.com/AxonActiveVietNam
Realms chain
Native file LDAP1 LDAP2
www.axon.vnfb.com/AxonActiveVietNam
xpack.security.authc:
realms:
file: //id of realm
type: file //type of realm
order: 0 //order in chain
native:
type: native
order: 1
ldap1:
type: ldap
order: 2
enabled: false
url: 'url_to_ldap1'
…
ldap2:
type: ldap
order: 3
enabled: false
url: 'url_to_ldap2'
Configure realms
chain
elasticsearch.yml
www.axon.vnfb.com/AxonActiveVietNam
Authorization
www.axon.vnfb.com/AxonActiveVietNam
❖ Identify permission to execute request
❖ Support by Role Based Access Control (RBAC)
www.axon.vnfb.com/AxonActiveVietNam
Secured Resource
RBAC
Role
Privilege
Permissions
User
www.axon.vnfb.com/AxonActiveVietNam
Secured Resource
Object need to be restricted accessity
Indices Document Field
User Cluster
www.axon.vnfb.com/AxonActiveVietNam
Privilege
❖ One or group of actions user can execute
❖ Two types: Cluster and Indice
all read create index delete
See full privileges: https://www.elastic.co/guide/en/x-pack/5.4/security-privileges.html
all monitor manage_watcher manage_security
Indice privilege
Cluster privilege
www.axon.vnfb.com/AxonActiveVietNam
Permission
Set of privileges on a secured resource
read on kibana
indices
monitor on cluster
write on kibana
indices
kibana system permission
www.axon.vnfb.com/AxonActiveVietNam
Built-in Role
superuser kibana_user kibana_system logstash_system
monitoring_user reporting_user watcher_admin watcher_user machine_learning_user
See more at: https://www.elastic.co/guide/en/x-pack/5.4/built-in-roles.html
www.axon.vnfb.com/AxonActiveVietNam
ADD ROLE
POST localhost:9200/_xpack/security/role/scrum_admin
{
"run_as": [ ... ],
"cluster": [ ... ],
"indices": [ ... ]
}
//submit request on behalf of other user
//privilege on cluster
//permission entry on indices
www.axon.vnfb.com/AxonActiveVietNam
ADD ROLE
POST localhost:9200/_xpack/security/role/scrum_admin
{
"run_as": [ "khangvu" ],
"cluster": [ "monitor" ],
"indices": [
{
"names": [ "scrum*" ],
"privileges": [ "read" ],
"field_security" : {
"grant" : [ "category", "@timestamp", "message" ]
},
"query": "{"match": {"event.type": "technical"}}"
}
]
//scrum_admin can submit request for khangvu user
//can monitor cluster
//name of targeted-indices: all indexes started with scrum
//privilege on targeted-indices
//allowed field to access
//list of targeted-document
www.axon.vnfb.com/AxonActiveVietNam
Auditing
❖ Audit activities/events that occur in the system
❖ Output to logfile or index
❖ Enable this feature by
xpack.security.audit.enabled to true in elasticsearch.yml.
See more at https://www.elastic.co/guide/en/x-pack/5.4/auditing.html
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
Encrypting communication
❖ Encrypt traffic to, from and within an ES cluster using
SSL/TLS certificate.
❖ Able to increase strength of encryption by Java
Cryptography Extension (JCE) plugin
❖ Separate port of node-to-node and transport client
See more at https://www.elastic.co/guide/en/x-pack/5.4/encrypting-communications.html
www.axon.vnfb.com/AxonActiveVietNam
How to Scale
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
migration with logstash
www.axon.vnfb.com/AxonActiveVietNam
missions
❖ Data migration tool
❖ Lightweight
❖ Scalabled
❖ Managabled
❖ Monitoring UI
www.axon.vnfb.com/AxonActiveVietNam
Logstash is data collector pipeline
www.axon.vnfb.com/AxonActiveVietNam
How ?
❖ Event processing pipeline
❖ Has three stages:
➢ Input
➢ Filter
➢ Output
❖ Has bunch of plugins for you to play with
www.axon.vnfb.com/AxonActiveVietNam
usecase - Collect rdbms to es server
Database Logstash filter ElasticSearch
Store Read
Kibana
www.axon.vnfb.com/AxonActiveVietNam
usecase - Collect rdbms to es server
www.axon.vnfb.com/AxonActiveVietNam
usecase - Collect rdbms to es server
Database Logstash ElasticSearch
StoreRead
www.axon.vnfb.com/AxonActiveVietNam
usecase - Collect rdbms to es server
ElasticSearch
Read
Kibana
www.axon.vnfb.com/AxonActiveVietNam
Input stage
❖ Plugins:
➢ jdbc
➢ file
➢ kafka
➢ redis
➢ beats
➢ …
See more at https://www.elastic.co/guide/en/logstash/current/input-plugins.html
www.axon.vnfb.com/AxonActiveVietNam
Filter stage
❖ Plugins:
➢ grok
➢ mutage
➢ geoip
➢ ...
See more at https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
www.axon.vnfb.com/AxonActiveVietNam
output stage
❖ Plugins:
➢ elasticsearch
➢ file
➢ redis
➢ kafka
➢ ...
See more at https://www.elastic.co/guide/en/logstash/current/output-plugins.html
www.axon.vnfb.com/AxonActiveVietNam
scaling
Server-01
Logstash filter ElasticSearch
Read
Kibana
shipper-1
Garther Store
shipper-2
shipper-3
Server-02
Server-03
your business, Your imagination
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
LIMITATION
www.axon.vnfb.com/AxonActiveVietNam
❖ ES has no transaction management, can’t rollback data.
❖ Problem with index when change data property
{
"firstname": "Trung" ,
"lastname": "Do",
"email": "trung.do@axonactive.com" ,
"phone": "0909999999" ,
"street": "39B Truong Son" ,
"city": "Ho Chi Minh"
}
{
"firstname": "Trung" ,
"lastname": "Do",
"contact": {
"email": "trung.do@axonactive.com" ,
"phone": "0909999999" ,
"street": "39B Truong Son" ,
"city": "Ho Chi Minh"
}
}
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam

Más contenido relacionado

Similar a [HCM Scrum Breakfast - January 2018] ElasticSearch In Action

[DevDay2018] PLAY & LEARN with Elasticsearch Workshop - By: Thang Luong and T...
[DevDay2018] PLAY & LEARN with Elasticsearch Workshop - By: Thang Luong and T...[DevDay2018] PLAY & LEARN with Elasticsearch Workshop - By: Thang Luong and T...
[DevDay2018] PLAY & LEARN with Elasticsearch Workshop - By: Thang Luong and T...DevDay.org
 
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIOScrum Breakfast Vietnam
 
Bulletproof Ajax
Bulletproof AjaxBulletproof Ajax
Bulletproof Ajax2tique
 
Bulletproof Ajax
Bulletproof AjaxBulletproof Ajax
Bulletproof Ajaxadactio
 
Использование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуИспользование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуOlga Lavrentieva
 
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...apidays
 
APIdays Zurich 2019 - Specification Driven Development for REST APIS Alexande...
APIdays Zurich 2019 - Specification Driven Development for REST APIS Alexande...APIdays Zurich 2019 - Specification Driven Development for REST APIS Alexande...
APIdays Zurich 2019 - Specification Driven Development for REST APIS Alexande...apidays
 
Node.js 與 google cloud storage
Node.js 與 google cloud storageNode.js 與 google cloud storage
Node.js 與 google cloud storageonlinemad
 
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...GITS Indonesia
 
Accessibility Testing using Axe
Accessibility Testing using AxeAccessibility Testing using Axe
Accessibility Testing using AxeRapidValue
 
Specification-Driven Development of REST APIs by Alexander Zinchuk
Specification-Driven Development of REST APIs by Alexander Zinchuk   Specification-Driven Development of REST APIs by Alexander Zinchuk
Specification-Driven Development of REST APIs by Alexander Zinchuk OdessaJS Conf
 
Rawnet Lightning Talk - Elasticsearch
Rawnet Lightning Talk -  ElasticsearchRawnet Lightning Talk -  Elasticsearch
Rawnet Lightning Talk - ElasticsearchRawnet
 
JSON Fuzzing: New approach to old problems
JSON Fuzzing: New  approach to old problemsJSON Fuzzing: New  approach to old problems
JSON Fuzzing: New approach to old problemstitanlambda
 
The Heron Mapping Client - Overview, Functions, Concepts
The Heron Mapping Client - Overview, Functions, Concepts The Heron Mapping Client - Overview, Functions, Concepts
The Heron Mapping Client - Overview, Functions, Concepts Just van den Broecke
 
SMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsSMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsAmazon Web Services
 
Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Chris Alfano
 
Web scraping using scrapy - zekeLabs
Web scraping using scrapy - zekeLabsWeb scraping using scrapy - zekeLabs
Web scraping using scrapy - zekeLabszekeLabs Technologies
 
Real-time search in Drupal. Meet Elasticsearch
Real-time search in Drupal. Meet ElasticsearchReal-time search in Drupal. Meet Elasticsearch
Real-time search in Drupal. Meet ElasticsearchAlexei Gorobets
 

Similar a [HCM Scrum Breakfast - January 2018] ElasticSearch In Action (20)

[DevDay2018] PLAY & LEARN with Elasticsearch Workshop - By: Thang Luong and T...
[DevDay2018] PLAY & LEARN with Elasticsearch Workshop - By: Thang Luong and T...[DevDay2018] PLAY & LEARN with Elasticsearch Workshop - By: Thang Luong and T...
[DevDay2018] PLAY & LEARN with Elasticsearch Workshop - By: Thang Luong and T...
 
Human programming
Human programmingHuman programming
Human programming
 
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
 
Bulletproof Ajax
Bulletproof AjaxBulletproof Ajax
Bulletproof Ajax
 
Bulletproof Ajax
Bulletproof AjaxBulletproof Ajax
Bulletproof Ajax
 
Использование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуИспользование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайту
 
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
APIdays Helsinki 2019 - Specification-Driven Development of REST APIs with Al...
 
APIdays Zurich 2019 - Specification Driven Development for REST APIS Alexande...
APIdays Zurich 2019 - Specification Driven Development for REST APIS Alexande...APIdays Zurich 2019 - Specification Driven Development for REST APIS Alexande...
APIdays Zurich 2019 - Specification Driven Development for REST APIS Alexande...
 
Node.js 與 google cloud storage
Node.js 與 google cloud storageNode.js 與 google cloud storage
Node.js 與 google cloud storage
 
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
 
Accessibility Testing using Axe
Accessibility Testing using AxeAccessibility Testing using Axe
Accessibility Testing using Axe
 
Specification-Driven Development of REST APIs by Alexander Zinchuk
Specification-Driven Development of REST APIs by Alexander Zinchuk   Specification-Driven Development of REST APIs by Alexander Zinchuk
Specification-Driven Development of REST APIs by Alexander Zinchuk
 
Serverless Java on Kubernetes
Serverless Java on KubernetesServerless Java on Kubernetes
Serverless Java on Kubernetes
 
Rawnet Lightning Talk - Elasticsearch
Rawnet Lightning Talk -  ElasticsearchRawnet Lightning Talk -  Elasticsearch
Rawnet Lightning Talk - Elasticsearch
 
JSON Fuzzing: New approach to old problems
JSON Fuzzing: New  approach to old problemsJSON Fuzzing: New  approach to old problems
JSON Fuzzing: New approach to old problems
 
The Heron Mapping Client - Overview, Functions, Concepts
The Heron Mapping Client - Overview, Functions, Concepts The Heron Mapping Client - Overview, Functions, Concepts
The Heron Mapping Client - Overview, Functions, Concepts
 
SMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsSMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step Functions
 
Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011
 
Web scraping using scrapy - zekeLabs
Web scraping using scrapy - zekeLabsWeb scraping using scrapy - zekeLabs
Web scraping using scrapy - zekeLabs
 
Real-time search in Drupal. Meet Elasticsearch
Real-time search in Drupal. Meet ElasticsearchReal-time search in Drupal. Meet Elasticsearch
Real-time search in Drupal. Meet Elasticsearch
 

Más de Scrum Breakfast Vietnam

[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...Scrum Breakfast Vietnam
 
Zero to hero in agile automation testing
Zero to hero in agile automation testingZero to hero in agile automation testing
Zero to hero in agile automation testingScrum Breakfast Vietnam
 
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019Scrum Breakfast Vietnam
 
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019Scrum Breakfast Vietnam
 
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019Scrum Breakfast Vietnam
 
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019Scrum Breakfast Vietnam
 
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019Scrum Breakfast Vietnam
 
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018Scrum Breakfast Vietnam
 
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...Scrum Breakfast Vietnam
 
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...Scrum Breakfast Vietnam
 
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018Scrum Breakfast Vietnam
 
[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber
[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber
[DN Scrum Breakfast] API Automation Testing Using Retrofit & CucumberScrum Breakfast Vietnam
 
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)Scrum Breakfast Vietnam
 
[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud ComputingScrum Breakfast Vietnam
 
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016Scrum Breakfast Vietnam
 
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)Scrum Breakfast Vietnam
 
[HCM Scrum Breakfast - June 2017] Distributed Team
[HCM Scrum Breakfast - June 2017] Distributed Team[HCM Scrum Breakfast - June 2017] Distributed Team
[HCM Scrum Breakfast - June 2017] Distributed TeamScrum Breakfast Vietnam
 

Más de Scrum Breakfast Vietnam (20)

[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
 
Zero to hero in agile automation testing
Zero to hero in agile automation testingZero to hero in agile automation testing
Zero to hero in agile automation testing
 
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
 
UI/UX Design in Agile process
UI/UX Design in Agile process  UI/UX Design in Agile process
UI/UX Design in Agile process
 
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
 
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
 
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
 
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
 
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
 
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
 
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
 
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
 
[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber
[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber
[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber
 
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
 
[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing
 
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
 
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
 
[Da Nang Scrum Breakfast] Angular Tour
[Da Nang Scrum Breakfast] Angular Tour[Da Nang Scrum Breakfast] Angular Tour
[Da Nang Scrum Breakfast] Angular Tour
 
[HCM Scrum Breakfast - June 2017] Distributed Team
[HCM Scrum Breakfast - June 2017] Distributed Team[HCM Scrum Breakfast - June 2017] Distributed Team
[HCM Scrum Breakfast - June 2017] Distributed Team
 
Agile BDD
Agile BDDAgile BDD
Agile BDD
 

Último

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 

Último (20)

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 

[HCM Scrum Breakfast - January 2018] ElasticSearch In Action