SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Mjolnirr
The private cloud platform
22.11.13

Outline

●

Overview

●

Architecture

●

Implementation

●

Getting started

●

Distributed analytics with Mjolnirr

●

Experiments

●

Further research

Mjolnirr

2
22.11.13

Overview

Mjolnirr

3
22.11.13

What is Mjolnirr?
●

Private PaaS cloud distributed platform

●

Developer-friendly API

●

Store

●

Built-in async messaging

●

JavaFX-based browser

●

Third-party application support

Mjolnirr

4
22.11.13

How can I use it?
●

You can create:
–

Your own private DropBox

–

Enterprise Service Desk application

–

Distributed analytics application

–

etc

Mjolnirr

5
22.11.13

Private PaaS
●

Storing enterprise data in a public cloud is a
definitely bad idea
–
–

...or stolen...

–
●

It can be lost...
...and you even cannot control it!

Want some privacy? DIY!

Mjolnirr

6
22.11.13

Features
●

JavaFX FXML layouts

●

Jade language support

●

CSS + ZUSS (like LESS/SASS but ZUSS)

●

Can work on any computer (including PC)

●

Built-in async requests system
–

Direct component request (by name)

–

Broadcat interface request (any implentation of target
interface in current Mjolnirr installation)

Mjolnirr

7
22.11.13

Developer API
●

Different types of components
–

Application

–

Module

●

Maven plugins

●

SDK

●

IDE integration
–

Intellij IDEA

Mjolnirr

8
22.11.13

Mjolnirr and MVC

Mjolnirr

9
22.11.13

Store
●

●

Store is the third-party components onlineshop
For business
–

●

Setup your IT infrastructure fast & cheap

For software companies
–

Expand your market share

Mjolnirr

10
22.11.13

For developers
●

You can use Mjolnirr as infrastructure solution
–

●

If you have no enterprise clients
–

●

Write once — sell to anyone
Use the Store to enter B2B market

Feel free to fork Mjolnirr — it's open source

Mjolnirr

11
22.11.13

For business
●

Easy-to-deploy infrastructure solution

●

Lots of components in Store

●

●

Extensible architecture — add components
when you need it
Integration — Mjolnirr will be integrated with
SAP, PSI, Oracle, MS Dynamics etc.

Mjolnirr

12
22.11.13

Competitors
●

Yandex Cocaine

●

OpenStack

●

VMWare Private Cloud

Mjolnirr

13
22.11.13

Yandex Cocaine
●

Heroku-like PaaS

●

Supports lots of languages

●

●

Doesn't support application migration and
container autodeployment
Doesn't provide message subsystem

Mjolnirr

14
22.11.13

OpenStack
●

IaaS

●

Requires several servers to deploy on

●

●

Works with virtual machines and, therefore,
requires some software for hosting etc
Doesn't provide message subsystem

Mjolnirr

15
22.11.13

VMWare Private Cloud
●

●

●

Commercial IaaS
Works with virtual machines and, therefore,
requires some software for hosting etc
Doesn't provide message subsystem

Mjolnirr

16
22.11.13

Architecture

Mjolnirr

17
22.11.13

System structure

Mjolnirr

18
22.11.13

Component types
●

Application
–
–

●

Provides interface, static files and some logic
[MVC] Controller + views

Module
–

Encapsulates one entity logic

–

[MVC] Model

Mjolnirr

19
22.11.13

Message passing

Mjolnirr

20
22.11.13

Message passing

Mjolnirr

21
22.11.13

Message passing

Mjolnirr

22
22.11.13

Implementation

Mjolnirr

23
22.11.13

Technologies
●

JavaFX

●

GSON

●

Guice

●

HornetQ & Netty

●

Maven

●

Apache Commons

Mjolnirr

24
22.11.13

UNICORE integration

Mjolnirr

25
22.11.13

Getting started

Mjolnirr

26
22.11.13

Sample project creation
●

Mjolnirr maven archetype
mvn archetype:generate
-DarchetypeCatalog=http://mjolnirr.com/
archiva/repository/mjolnirr

Mjolnirr

27
22.11.13

Component POM.xml
<pluginRepositories>
<pluginRepository>
<id>mjolnirr</id>
<name>Maven Plugin Repository</name>
<url>
http://mjolnirr.com/archiva/repository/mjolnirr
</url>
</pluginRepository>
</pluginRepositories>

Mjolnirr

28
22.11.13

Component POM.xml
<plugin>
<groupId>com.mjolnirr</groupId>
<artifactId>
mjolnirr-maven-plugin
</artifactId>
<version>0.2</version>
<configuration>
<mainClass>org.example.Main</mainClass>
</configuration>
</plugin>

Mjolnirr

29
22.11.13

Main component class
public class Calculator extends AbstractApplication
{
@Override
public void initialize(ComponentContext c) {
this.context = c;
}
public String calculate(String exp) {
return magic(exp);
}
}

Mjolnirr

30
22.11.13

Message passing
Communicator communicator = new
HornetCommunicator();
communicator.sendSync(context,
«component», «method», args,
String.class);
communicator.send(context, «component»,
«method», args, new CallbackA());

Mjolnirr

31
22.11.13

Deployment: physical level

Mjolnirr

32
22.11.13

Deployment: logical level

Mjolnirr

33
22.11.13

Distributed analytics
with Mjolnirr

Mjolnirr

34
22.11.13

Analytics application
●

Web pages crawling and analytics
–

N crawler nodes

–

M analytics nodes

–

1 portal to represent the data

Mjolnirr

35
22.11.13

Traditional approach

Mjolnirr

36
22.11.13

Traditional approach
●

Self-written protocol or external library

●

Self-written scheduling or external library

●

Stand-alone applications

●

Reference storage for all of the modules

Mjolnirr

37
22.11.13

Mjolnirr approach

Mjolnirr

38
22.11.13

Mjolnirr approach
●

Automatic serialization, predefined
communication protocol

●

Built-in Quartz scheduling

●

Automatic components management

●

Automatic load balancing

Mjolnirr

39
22.11.13

Experiments

Mjolnirr

40
22.11.13

Serial execution
●

●

Request passed through the chain of N proxy
nodes
N = 10..100

Mjolnirr

41
22.11.13

Serial execution
Time in milliseconds

3000
2500
2000
1500
1000
500
0

10

25

50

100

Nodes count
Mjolnirr

42
22.11.13

Parallel execution
●

N requests sent simultaneously

●

Each module does some work for 10 seconds

Mjolnirr

43
22.11.13

Parallel execution
1800

Time in milliseconds

1600
1400
1200
1000
800
600
400
200
0

1

10

25

50

100

Request count
Mjolnirr

44
22.11.13

Further research

Mjolnirr

45
22.11.13

Further directions
●

Application-level migration
–

●

Fault tolerance
–

●

Moving the running component instance from one
container to another
Automatic component distribution, state saving and
resuming

Better integration
–

Eclipse, Visual Studio

Mjolnirr

46
22.11.13

Currently implemented
●

Current version is 0.2
–

FXML browser

–

Container without application moving feature

–

Proxy and static file hosting

–

Sync and async messaging

–

Jade and ZUSS support

Mjolnirr

47
22.11.13

Roadmap
●

0.3
–

Administrator interface

–

Nodes monitoring and container autodeployment

–

Template support

–

Custom classes in browser JavaScript

–

Netty + Protobuf

–

Database unified access module

Mjolnirr

48
22.11.13

Roadmap
●

0.4
–

Browser plugins support

–

Custom FXML elements

–

Controller state saving

Mjolnirr

49
22.11.13

Thanks!
Dmitry Savchenko, cofounder
dmitry@mjolnirr.com
Prokhor Mihailov, cofounder
prokhor@mjolnirr.com
Support:
support@mjolnirr.com
Project homepage:
http://mjolnirr.com
Mjolnirr

50

Más contenido relacionado

Similar a Private Cloud Platform Mjolnirr Distributed Analytics Guide

Lagom : Reactive microservice framework
Lagom : Reactive microservice frameworkLagom : Reactive microservice framework
Lagom : Reactive microservice frameworkFabrice Sznajderman
 
Choosing Mikrotik Platform x86 vs chr
Choosing Mikrotik Platform x86 vs chrChoosing Mikrotik Platform x86 vs chr
Choosing Mikrotik Platform x86 vs chrGLC Networks
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide ServicesGLC Networks
 
How to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersHow to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersWSO2
 
Mobile app development using Android SDK
Mobile app development using Android SDKMobile app development using Android SDK
Mobile app development using Android SDKJosh Clemm
 
GIT as Mikrotik Configuration Management
GIT as Mikrotik Configuration ManagementGIT as Mikrotik Configuration Management
GIT as Mikrotik Configuration ManagementGLC Networks
 
Introduction to WPF and MVVM
Introduction to WPF and MVVMIntroduction to WPF and MVVM
Introduction to WPF and MVVMSirar Salih
 
Microservice Approach for Web Development with Micro Frontends
Microservice Approach for Web Development with Micro FrontendsMicroservice Approach for Web Development with Micro Frontends
Microservice Approach for Web Development with Micro Frontendsandrejusb
 
Platform without vendor lock-in
Platform without vendor lock-inPlatform without vendor lock-in
Platform without vendor lock-inSakari Hoisko
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring FrameworkHùng Nguyễn Huy
 
NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!Lalit Shandilya
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesMender.io
 
An Introduction To Docker
An Introduction To DockerAn Introduction To Docker
An Introduction To DockerJames fraser
 
platform without vendor lock-in
platform without vendor lock-inplatform without vendor lock-in
platform without vendor lock-inKai Jokiniemi
 
Containerization using docker
Containerization using dockerContainerization using docker
Containerization using dockerVinod Doshi
 
Client side modularization for modern web applications
Client side modularization for modern web applicationsClient side modularization for modern web applications
Client side modularization for modern web applicationsRemus Langu
 

Similar a Private Cloud Platform Mjolnirr Distributed Analytics Guide (20)

Lagom : Reactive microservice framework
Lagom : Reactive microservice frameworkLagom : Reactive microservice framework
Lagom : Reactive microservice framework
 
Choosing Mikrotik Platform x86 vs chr
Choosing Mikrotik Platform x86 vs chrChoosing Mikrotik Platform x86 vs chr
Choosing Mikrotik Platform x86 vs chr
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide Services
 
OpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and JenkinsOpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and Jenkins
 
How to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in ContainersHow to Deploy WSO2 Enterprise Integrator in Containers
How to Deploy WSO2 Enterprise Integrator in Containers
 
Mobile app development using Android SDK
Mobile app development using Android SDKMobile app development using Android SDK
Mobile app development using Android SDK
 
GIT as Mikrotik Configuration Management
GIT as Mikrotik Configuration ManagementGIT as Mikrotik Configuration Management
GIT as Mikrotik Configuration Management
 
Introduction to WPF and MVVM
Introduction to WPF and MVVMIntroduction to WPF and MVVM
Introduction to WPF and MVVM
 
Microservice Approach for Web Development with Micro Frontends
Microservice Approach for Web Development with Micro FrontendsMicroservice Approach for Web Development with Micro Frontends
Microservice Approach for Web Development with Micro Frontends
 
Platform without vendor lock-in
Platform without vendor lock-inPlatform without vendor lock-in
Platform without vendor lock-in
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 
An Introduction To Docker
An Introduction To DockerAn Introduction To Docker
An Introduction To Docker
 
platform without vendor lock-in
platform without vendor lock-inplatform without vendor lock-in
platform without vendor lock-in
 
Containerization using docker
Containerization using dockerContainerization using docker
Containerization using docker
 
Migrating from MFC to Qt
Migrating from MFC to QtMigrating from MFC to Qt
Migrating from MFC to Qt
 
codeigniter
codeignitercodeigniter
codeigniter
 
Client side modularization for modern web applications
Client side modularization for modern web applicationsClient side modularization for modern web applications
Client side modularization for modern web applications
 
Dockerizing react app
Dockerizing react appDockerizing react app
Dockerizing react app
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Private Cloud Platform Mjolnirr Distributed Analytics Guide