Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)WSO2
To view webinar recording please use below URL:
http://wso2.com/library/webinars/2015/11/integrating-mq-protocols-with-wso2-esb-4.9-rabbitmq-mqtt-kafka/
With the release of WSO2 ESB 4.9.0, we introduced enhanced functionalities in message queuing protocols that are heavily used in modern enterprise integrations. It includes completely new transports such as MQTT (message queuing telemetry transport) and Kafka and improvements to the existing RabbitMQ transport.
In this webinar, we are going to discuss
Improvements to RabbitMQ transport with inbound endpoint support
An introduction to MQTT transport and its usage in WSO2 ESB
Kafka integration with inbound endpoints
A MQTT producer/consumer demo explaining the basic consuming case using MQTT inbound endpoints and basic producer case using MQTT Axis2 transport
In this tutorial/workshop slide deck we show how you can get started with WSO2 Microservices Server, we are covering:
- Introduction
- Running Kubernetes, Docker and Containers with MSS
- Analytics on MSS
Hope you can enjoy!
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Royekino
Vous êtes convaincus par l’architecture micro-services et vous souhaitez vous lancer dans l'aventure. Durant cette session, nous expliquons comment démarrer concrètement ; quelles sont les nouvelles problématiques que soulève cette architecture et comment les résoudre. Nous détaillons – à travers une application de démonstration qui implémente les concepts de Service Discovery, Circuit Breaker, Routing et Client Side Load Balancing – l'utilisation de la libraire Spring Cloud Netflix (Eureka, Hystrix, Ribbon , ...). Nous survolerons ensuite les différentes alternatives développées par les autres géants du Web tels que Twitter, Airbnb, ...
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)WSO2
To view webinar recording please use below URL:
http://wso2.com/library/webinars/2015/11/integrating-mq-protocols-with-wso2-esb-4.9-rabbitmq-mqtt-kafka/
With the release of WSO2 ESB 4.9.0, we introduced enhanced functionalities in message queuing protocols that are heavily used in modern enterprise integrations. It includes completely new transports such as MQTT (message queuing telemetry transport) and Kafka and improvements to the existing RabbitMQ transport.
In this webinar, we are going to discuss
Improvements to RabbitMQ transport with inbound endpoint support
An introduction to MQTT transport and its usage in WSO2 ESB
Kafka integration with inbound endpoints
A MQTT producer/consumer demo explaining the basic consuming case using MQTT inbound endpoints and basic producer case using MQTT Axis2 transport
In this tutorial/workshop slide deck we show how you can get started with WSO2 Microservices Server, we are covering:
- Introduction
- Running Kubernetes, Docker and Containers with MSS
- Analytics on MSS
Hope you can enjoy!
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Royekino
Vous êtes convaincus par l’architecture micro-services et vous souhaitez vous lancer dans l'aventure. Durant cette session, nous expliquons comment démarrer concrètement ; quelles sont les nouvelles problématiques que soulève cette architecture et comment les résoudre. Nous détaillons – à travers une application de démonstration qui implémente les concepts de Service Discovery, Circuit Breaker, Routing et Client Side Load Balancing – l'utilisation de la libraire Spring Cloud Netflix (Eureka, Hystrix, Ribbon , ...). Nous survolerons ensuite les différentes alternatives développées par les autres géants du Web tels que Twitter, Airbnb, ...
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...Luciano Mammino
Since we started to see JS on the server side, the dream of developers has been to reduce the gap and the cost of switch between frontend/backend technologies. Today with Node.js, React and a whole ecosystem of tools, this dream is becoming real! In this talk, I am going to discuss Universal (a.k.a. Isomorphic) JavaScript and present some practical example regarding the significant patterns related to routing, data retrieval and rendering. I will use Node, React, Webpack, Babel and React Router and give you a series of example to get you started easily with this new technology trend.
(interactive slides at http://slides.com/lucianomammino/universal-js-web-applications-with-react-codemotion-rome-2017 )
Da ormai qualche anno Node.js sta prendendo sempre più piede sia in ambito startup che in ambito enterprise, cerchiamo di capire insieme di cosa si tratta, quali sono le sue caratteristiche principali e dove questo tool può dare il meglio di sé. Inizieremo da una introduzione del JavaScript runtime, descrivendo il suo sistema di I/O non bloccante e le principali funzionalità che mette a disposizione. Passeremo poi all'enorme ecosistema di librerie (NPM), mostrando le più famose e il loro utilizzo.
Devoxx UK 2013: Sandboxing with the Vagrant-Binding APIHendrik Ebbers
Many developers are in need of complex test environments for different projects with customers. The ideal situation would be to have them running in a sandbox. With help of Vagrant and the vagrant-binding API it's possible to create VM based sandbox-environments "on the fly".
Anytime, anywhere and above all reproducible.
The Talk shows how fast you can create and configure a sandbox with the help of Vagrant and vagrant-binding even from within the Java runtime. Based on this different solutions for problems in QA and UnitTesting will be shown.
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Codemotion
Apache OpenWhisk provides a powerful and flexible environment for deploying cloud-native applications driven by data, message, and API call events. We will show how and why we integrated Apache OpenWhisk and GitHub to make deployment as easy and transparent as `git push`. We will also discuss the benefit of using an open source cloud platform and explain how serverless allows developers to focus on writing value-adding code.
Multiple django applications on a single server with nginxroskakori
This talk explains how to install and setup multiple Django applications on a single server.
The general principle is to setup a systend service for each application that runs in nginx and gunicorn on Ubunto 20 LTS. This results in a lightweight installation that requires only a few and small configuration files that is well integrated in the existing tool chain around systemd.
Understanding Non Blocking I/O with PythonVaidik Kapoor
Video recording of the talk: https://www.youtube.com/watch?v=t0VljE9kq1Q
As an engineer working on any web stack, you may have heard about Blocking and Non-Blocking IO. You may as well have used any framework or library that supports Non-Blocking IO. After all, they are very useful as you don’t want to block execution of other tasks while one task is waiting to complete a network call to another service (like HTTP call to an API or may be a TCP call to your database). Non-Blocking IO while doing tasks and not wait for IO. This also helps us handle a lot many connections than we possibly could with Blocking IO. Python supports Non-Blocking IO, but we always use some existing 3rd party library that hides all the gory details and makes it all look like black magic to the uninitiated. But there is nothing like black magic.
This presentation will be an introductory talk focused at explaining how Non-Blocking IO works, which is the basis of libraries like Gevent, Tornado and Twisted. We will learn about how Non-Blocking IO can be implemented using the most basic modules that form the base for the above mentioned libraries. Hopefully after this talk, Non-Blocking IO will not be an unsolved mystery for you anymore.
This is a slide deck is a step by step tutorial on how to use the all new WSO2 Microservices Server (WSO2 MSS).
This presentation will include
Basics of microservices
An introduction to WSO2 MSS
Running first samples
Understanding the role of containers and Kubernetes together with WSO2 MSS
Getting metrics and snalytics from microservices using JMX and WSO2 Data Analytics Server
Universal JS Web Applications with React - Luciano Mammino - Codemotion Rome ...Luciano Mammino
Since we started to see JS on the server side, the dream of developers has been to reduce the gap and the cost of switch between frontend/backend technologies. Today with Node.js, React and a whole ecosystem of tools, this dream is becoming real! In this talk, I am going to discuss Universal (a.k.a. Isomorphic) JavaScript and present some practical example regarding the significant patterns related to routing, data retrieval and rendering. I will use Node, React, Webpack, Babel and React Router and give you a series of example to get you started easily with this new technology trend.
(interactive slides at http://slides.com/lucianomammino/universal-js-web-applications-with-react-codemotion-rome-2017 )
Da ormai qualche anno Node.js sta prendendo sempre più piede sia in ambito startup che in ambito enterprise, cerchiamo di capire insieme di cosa si tratta, quali sono le sue caratteristiche principali e dove questo tool può dare il meglio di sé. Inizieremo da una introduzione del JavaScript runtime, descrivendo il suo sistema di I/O non bloccante e le principali funzionalità che mette a disposizione. Passeremo poi all'enorme ecosistema di librerie (NPM), mostrando le più famose e il loro utilizzo.
Devoxx UK 2013: Sandboxing with the Vagrant-Binding APIHendrik Ebbers
Many developers are in need of complex test environments for different projects with customers. The ideal situation would be to have them running in a sandbox. With help of Vagrant and the vagrant-binding API it's possible to create VM based sandbox-environments "on the fly".
Anytime, anywhere and above all reproducible.
The Talk shows how fast you can create and configure a sandbox with the help of Vagrant and vagrant-binding even from within the Java runtime. Based on this different solutions for problems in QA and UnitTesting will be shown.
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Codemotion
Apache OpenWhisk provides a powerful and flexible environment for deploying cloud-native applications driven by data, message, and API call events. We will show how and why we integrated Apache OpenWhisk and GitHub to make deployment as easy and transparent as `git push`. We will also discuss the benefit of using an open source cloud platform and explain how serverless allows developers to focus on writing value-adding code.
Multiple django applications on a single server with nginxroskakori
This talk explains how to install and setup multiple Django applications on a single server.
The general principle is to setup a systend service for each application that runs in nginx and gunicorn on Ubunto 20 LTS. This results in a lightweight installation that requires only a few and small configuration files that is well integrated in the existing tool chain around systemd.
Understanding Non Blocking I/O with PythonVaidik Kapoor
Video recording of the talk: https://www.youtube.com/watch?v=t0VljE9kq1Q
As an engineer working on any web stack, you may have heard about Blocking and Non-Blocking IO. You may as well have used any framework or library that supports Non-Blocking IO. After all, they are very useful as you don’t want to block execution of other tasks while one task is waiting to complete a network call to another service (like HTTP call to an API or may be a TCP call to your database). Non-Blocking IO while doing tasks and not wait for IO. This also helps us handle a lot many connections than we possibly could with Blocking IO. Python supports Non-Blocking IO, but we always use some existing 3rd party library that hides all the gory details and makes it all look like black magic to the uninitiated. But there is nothing like black magic.
This presentation will be an introductory talk focused at explaining how Non-Blocking IO works, which is the basis of libraries like Gevent, Tornado and Twisted. We will learn about how Non-Blocking IO can be implemented using the most basic modules that form the base for the above mentioned libraries. Hopefully after this talk, Non-Blocking IO will not be an unsolved mystery for you anymore.
This is a slide deck is a step by step tutorial on how to use the all new WSO2 Microservices Server (WSO2 MSS).
This presentation will include
Basics of microservices
An introduction to WSO2 MSS
Running first samples
Understanding the role of containers and Kubernetes together with WSO2 MSS
Getting metrics and snalytics from microservices using JMX and WSO2 Data Analytics Server
Come costruire una Platform As A Service con Docker, Kubernetes Go e JavaCodemotion
"Come costruire una Platform As A Service con Docker, Kubernetes Go e Java" by Massimiliano Dessì
Per automatizzare la CI e la CD, durante sviluppo, test, in preproduzione e in produzione si utilizzano le tecniche chiamate attualmente DevOps, in locale con Vagrant oppure su una PAAS su cloud, privati o pubblici. Possiamo costruire una PAAS scalabile utilizzando solo Docker, Docker e Kubernetes oppure soluzioni già pronte come Openshift 3 (che sta sopra Docker e Kubernetes). Nella presentazione vedremo come avere questi tre tipi di PAAS con in più uno strato di orchestrazione in GO/Java e Ansible per automatizzare il comportamento in base ad eventi monitorati
Bare Metal to OpenStack with Razor and ChefMatt Ray
Slides from the OpenStack Spring 2013 Summit workshop presented by Egle Sigler (@eglute) and Matt Ray (@mattray) from Rackspace and Opscode respectively. Please refer to http://anystacker.com/ for additional content.
At the moment, cloud CI systems are a highly-demanded service. In this article, we'll tell you how to integrate analysis of source code into a CI cloud platform with the tools that are already available in PVS-Studio. As an example we'll use the Travis CI service.
Kubernetes is exploding in popularity right now and has all the buzz and cargo-culting that Docker enjoyed just a few years ago. But what even is Kubernetes? How do I run my PHP apps in it? Should I run my PHP apps in it ?
A presentation on how applying Cloud Architecture Patterns using Docker Swarm as orchestrator is possible to create reliable, resilient and scalable FIWARE platforms.
Infrastructure-As-Code means that infrastructure should be treated as code – a really powerful concept. Server configuration, packages installed, relationships with other servers, etc. should be modeled with code to be automated and have a predictable outcome, removing manual steps prone to errors. That doesn’t sound bad, does it?
The goal is to automate all the infrastructure tasks programmatically. In an ideal world you should be able to start new servers, configure them, and, more importantly, be able to repeat it over and over again, in a reproducible way, automatically, by using tools and APIs.
Have you ever had to upgrade a server without knowing whether the upgrade was going to succeed or not for your application? Are the security updates going to affect your application? There are so many system factors that can indirectly cause a failure in your application, such as different kernel versions, distributions, or packages.
A step-by-step guide to deploying your first Hello World chaincode onto Hyperledger Fabric.
These slides were created by James Bowkett, Principal Consultant at Excelian.
This talk will focus on a brief overview of Kubernetes, with a brief demo, and then more of an in-depth focus on issues we've faced moving PHP projects into Docker and Kubernetes like signal propagation, init systems, and logging.
Talk from Cape Town PHP meetup on Feb. 7, 2016:
https://www.meetup.com/Cape-Town-PHP-Group/events/237226310/
Code: https://github.com/zoidbergwill/kubernetes-php-examples
Slides as markdown: http://www.zoidbergwill.com/presentations/2017/kubernetes-php/index.md
One-Man Ops with Puppet & Friends.
If you're getting started in Amazon AWS here's 7 tools that will help you be successful, a few tips to make your life easier and some common pitfalls to avoid.
Como ajudamos empresas e negócios financeiros a se transformarem de forma efetiva e pragmática focando em negócios e usando tecnologia como um catalisador de inovação
Etapas pragmáticas na adoção de DevOps, Ferramentas e Soluções. Apresentação realizada no Evento DevOps Tour SP, cobrindo algumas estratégias, ferramentas e dicas na adoção de cultura DevOps.
Conectando Turismo e Viagens - Plataforma WSO2Edgar Silva
Entenda como podemos apoiar na inovação da indústria de turismo, viagem, lazer e loyalty com alguns conceitos chave para seus negócios dos próximos 5 anos.
WSO2 Application Server como Alternativa ao TomcatEdgar Silva
Veja como podemos apoiar seu ambiente que está repleto de Tomcats que podem ser difíceis de gerenciar, monitorar etc. Breve visão do WSO2 AppServer em conjunto com o WSO2 BAM.
Essa é uma apresentação que reúne algumas iniciativas e soluções que podem ser aplicadas no Governo Brasileiro e claro, serve para outros países também, pois a grande idéia é implementar alguns pontos do Governo Eletrônico, ou como prefiro chamar: Governo Aberto.
Apresentação Básica sobre alguns fundamentos e conceitos chave do WSO2 ESB. Se você ler estes slides, quando for utilizar o WSO2 Studio, tudo ficará muito mais claro para você
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
2. o This workshop is intend to cover how to use the WSO2
Microservices Server for Java – msf4j, we will cover
some basic overview about some concepts, but we
strongly recommend you look for more detailed basics
about Microservices.
o Recommended reading:
o http://nginx.com/blog/introduction-to-microservices/
o https://www.nginx.com/blog/building-microservices-using-an-api-
gateway/
2
5. o Java 8
o Maven
o See the MSF4J releases page:
o https://github.com/wso2/msf4j
o Let’s work direct from the source:
o Git pull
o https://github.com/wso2/msf4j
o Or simply download from this url: (easier)
https://github.com/wso2/msf4j/archive/master.zip
5
10. o Go to the dir:
o <msf4j_HOME>/samples/hello_world
o Type:
mvn package
10
11. o After Maven process
o ( be pacient with downloading )
o What is happening:
o The pom.xml inside the sample, inherits the dependencies
from the root’s pom.xml, that’s why you don’t need to worry
with this process
o In a few (seconds) you will have a hello_service....jar into
your target folder.
11
12. 12
• Msf4j is booting in my case in about less than 300ms
• In the previous maven process, every dependency from other jars were
included into your helloworld-1.0.0-SNAPSHOT.jar, including the reference
to the Main Java Class.
• Everything you need is ready
13. 13
package org.wso2.carbon.msf4j.example;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
/**
* Hello service resource class.
*/
@Path("/hello")
public class HelloService {
@GET
@Path("/{name}")
public String hello(@PathParam("name") String name) {
return "Hello " + name;
}
}
}
JAX-RS
Simple class (REST Endpoint
REST Java Method
14. o The simplest Java Class startup
o See the main method:
14
public class Application {
public static void main(String[] args) {
new MicroservicesRunner()
.deploy(new HelloService())
.start();
}
16. o Take a look on this:
o http://www.confusedbycode.com/curl/
16
17. o Thanks @jpviragine for that great tip:
https://github.com/jkbrzt/httpie
o Really great tool, works like cURL, but much better and more user friendly
o Syntax: http <options> service or URL
o But if you prefer to be “roots”, ok, continue if cURL
17
18. 18
public class Application {
public static void main(String[] args) {
new MicroservicesRunner(7888, 8888)
.deploy(new HelloService())
.start();
}
Services exposed through different ports(*)
(*) Default port is 8080 when no ports are specified
20. 1. Enter in the
<msf4j_home>/samples/stockquote-service
2. mvn package
3. java -jar target/stockquote-service-1.0.0-
SNAPSHOT.jar
20
21. o In the console type: (Windows Users
o curl -v http://localhost:8080/stockquote/GOOG
21
22. o Now we will send a POST message to our Service:
o Please type (or copy and paste) the following command:
o curl -v -X POST -H "Content-Type:application/json" -d
'{"symbol":"BVMF","name":
"Bovespa","last":149.62,"low":150.78,"high":149.18,"createdByHost":"localh
ost"}' http://localhost:8080/stockquote
o This command will save a new Symbol into our Stock Quote Service
22
23. o You had used:
o Java 8 + maven for building our samples and
exercises
o Executed Microservices with basic jar –jar approach
o You saw how easy you can build REST Services
using Microservices approach
23
25. o Several approaches for a “decoupled SOA”
o In this tutorial we will use the “Container-based
approach”
o Microservices are about:
o Lighter
o Business Need Oriented
o Composable
25
28. 28
Product Service
get /products
post /products
get /products/{id}
get /products/offset/10/1
CustomerService
get /customers
post /customers
get /customers/{id}
get /customers/export
AddressService
get /address
post /address/{zip}
get /address/geo/{x}/{y}
3Examples
30. o Quick deployments
o You are deploying a loosely-coupled, modular
component only
o Not a huge EAR with dozens of Jars as you used to do in a
monolithic enterprise App
30
32. 32
Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/defining-microservices.html
Great definition, written by another Brazilian
From an architecture perspective, the microservice style belongs primarily to
the deployment view.
It dictates that the deployment unit should contain only one service or
just a few cohesive services.
The deployment constraint is the distinguishing factor. As a result,
microservices are easier to deploy, become more scalable, and can be
developed more independently by different teams using different
technologies.
“
33. o Benefits of using microservices:
o Deployability
o Availability
o Scalability
o Modifiability
o Management
33
Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/microservices-beyond-the-hype-what-you-gain-and-what-you-lose.html
( Great post )
34. o I would add:
o Deployability
o Availability (Auto-Scaling via Containers)
o Analytics
o Scalability
o Modifiability
o Management
34
Paulo Merson https://insights.sei.cmu.edu/saturn/2015/11/microservices-beyond-the-hype-what-you-gain-and-what-you-lose.html
36. o Part 2:
We ship in the distro
an example showing how to
run a whole deploy from several
different container machines managed
by Kubernetes.
36
37. o In your command line, go to your:
<msf4j_home>/samples/petstore
o Enter in deployment folder and execute: run.sh
o That’s all, time to get some juice, it will download everything you need:
o Vagrant
o CoreOS
o Kubernetes
o Docker
37
39. 39
This step will get a few minutes, according to your internet and machine,
So get relaxed while you can enjoy some “Matrix-like” in your console
http://thenextweb.com/wp-content/blogs.dir/1/files/2013/11/relax-at-work.jpg
40. Double check if your JAVA_HOME is Java 8
Please , if you are using MacOS, make sure you that you have wget
installed.
Recommend you use brew install wget
If you get errors communicating with Kubernetes nodes, please add this
variable before execute run.sh:
export KUBERNETES_MASTER=http://172.17.8.101:8080
That will be the default Kubernetes UI Console and API Address
40
41. 41
Our traditional Pet Store Sample
has the following Microservices …
fileserver frontend-admin frontend-user
Pet (store) transactionsecurity
42. o If you are using VirtualBox as the Hypervisor
(recommended), you will see the following 3
VMs started
42
43. o Please, execute the command:
o kubectl get pods
o The result must be like this:
43
All the pods, must be
Like this, keep repeating
This process until all get
ready
44. o Please, execute the command:
o kubectl get pods
o The result must be like this:
44
Troubleshooting:
If your pet-xxx appears
the READY info as 0/1
It might be not initialized
Syncronized with Redis.
To solve that, execute:
./clean.sh and later on
./petstore.sh
45. o Kubernetes UI
o Nodes
o Services
o Pods
o General Info
o Pet Store Admin (PHP App)
o Pet Store Site (PHP App)
45
51. 51
Viewing Replication Controllers
In Kubernetes, the base unit of deployment is a pod (intro to pods), which is a
group of containers that work together and therefore are logically grouped. The
replication controller stores a pod template in order to create new pods if
needed.
https://coreos.com/kubernetes/docs/latest/replication-controller.html
57. 57
Getting details about some pod, for instance
$ kubectl describe pods store-fe-r43hm
Please, note here which is the
Pod internal IP: 10.244.36.23
And in which Node this pod
Is actually running
Important: notice that the pod’s id
will change if you restart your
environment
In my actual case, my pod is
store-fe-<id>, id= r43m
68. o Executing the petstore sample
o Understanding the basics from Kubernetes and
its concepts, such as pods, services and
Replication Controller.
o Executing the Services and Apps
69. o Proposed Lab:
o Execute the previous samples from Part1 in
Kubernetes + Docker
69
71. o Please go to : http://wso2.com/products/data-analytics-server/
o Download the product
o Install the product:
1. Unzip
2. That’s all
3. Let’s call your installation destination folder as DAS_HOME from now
on
o MySQL for this sample is also required
71
72. o Step 1: Configure WSO2 DAS
1. Go to <msf4j_HOME>/analytics/das-setup and execute setup.sh :
1. /setup.sh -d <DAS_HOME> -u admin -p
2. Done, everything will be done by the script!
72
73. o Step 2: Execute DAS Server
1. Enter in DAS_HOME
2. Make sure that Java 8 is in the path
3. Type sh bin/wso2server.sh
4. Wait until to see a message in the console like this:
5. Open this browser URL, it will let you see the WSO2
Data Analytics Server Console (default user admin
and password admin)
73
75. o Step 3: (based on
https://github.com/wso2/product-
msf4j/tree/master/samples/metrics)
1. Go to <msf4j_HOME>/samples/metrics
2. Execute mvn clean install
3. Please, export the following system variables:
1. export METRICS_REPORTING_DAS_DATAAGENTCONFIGPATH="data-agent-conf.xml”
2. export HTTP_MONITORING_DAS_DATAAGENTCONFIGPATH="data-agent-conf.xml”
75
76. 4. Execute: $ java -jar target/metrics-*.jar
5. Invoke the following URLs via command line:
o curl -v http://localhost:8080/test/rand/500
o curl -v http://localhost:8080/test/total/10
o curl -v http://localhost:8080/test/echo/test
o curl -v http://localhost:8080/student/910760234V
o curl -v --data
"{'nic':'860766123V','firstName':'Jack','lastName':'Black','age':
29}" -H "Content-Type: application/json"
http://localhost:8080/student
o curl -v http://localhost:8080/student/860766123V
o curl -v http://localhost:8080/student
76
77. o What is happening:
o Now, after the invocation from cURLs, some
information were sent from WSO2 Microservices
Server to WSO2 Data Analytics Server.
o The Metrics are also present in the command line
where you are running the jar:
77
85. o http://wso2.com/products/microservices-server/
o Lightweight and fast runtime
o 6MB pack size
o Starts within 400ms
o Based on the new WSO2 Carbon 5.0 kernel
o ~25MB memory consumption for the WSO2 MSS framework
o Simple development, deployment, and monitoring
o WSO2 Developer Studio-based tooling for generating microservices projects starting from a Swagger API
definition
o Built-in metrics and analytics APIs via WSO2 Data Analytics Server
o Tracing of requests using a unique message ID
o High scalability and reliability
o Transport based on Netty 4.0
o JWT-based security
o Custom interceptors
o Streaming input and streaming output support
o Comprehensive samples demonstrating how to develop microservices applications
85
86. o Tutorial done!
o Next steps:
o Keep watching how WSO2 MSS will evolve
o Don’t miss our upcoming Webinars covering this and
even more
86
87. o Please, if you need to understand more, or want
to talk to one of our specialists to help you and
your company’s projects, please contact us
here:
o http://wso2.com/contact/
87