Pushing Enterprise Software to the Next Level Self-contained Web - - PowerPoint PPT Presentation

pushing enterprise software to the next level
SMART_READER_LITE
LIVE PREVIEW

Pushing Enterprise Software to the Next Level Self-contained Web - - PowerPoint PPT Presentation

Pushing Enterprise Software to the Next Level Self-contained Web Applications on In-Memory Platforms Micha Nosek Starcounter AB Who am I? Micha Nosek Software Engineer, Technical Sales Engineer Starcounter


slide-1
SLIDE 1

Pushing Enterprise Software to the Next Level


Self-contained Web Applications on In-Memory Platforms

Michał Nosek
 Starcounter AB

slide-2
SLIDE 2

Who am I?

▪ Michał Nosek
 Software Engineer, Technical Sales Engineer – Starcounter
 http://starcounter.com
 
 ▪ Github: mmnosek
 LinkedIn: https://www.linkedin.com/in/mmnosek
 E-mail: michal@starcounter.com
 Twitter: @mmnosek

slide-3
SLIDE 3

01

Setting the Stage RAM Memory Modern WEB SCS Architecture

02

In-Memory Application Platform Architecture Single App Integration Demo Future

On Today’s Agenda

slide-4
SLIDE 4

Enterprise Software of Today

Monolith ▪ Bad maintainability ▪ Long builds ▪ Technology lock-in ▪ Long TTM ▪ Poor scalability Micro-Services ▪ Orchestration ▪ Eventual consistency ▪ Communication problems ▪ Complexity

slide-5
SLIDE 5

Wirth’s law

“What Intel giveth, Microsoft taketh away.” “What Andy giveth, Bill taketh away”

slide-6
SLIDE 6

01

Setting the Stage RAM Memory Modern WEB SCS Architecture

02

In-Memory Application Platform Architecture Single App Integration Demo Future

On Today’s Agenda

slide-7
SLIDE 7

RAM Prices

Price of 1MB in USD over time USD 0,00001 0,00010 0,00100 0,01000 0,10000 1,00000 10,00000 100,00000 1000,00000 Year 1980 1990 2000 2010 2020

https://jcmit.net/memoryprice.htm

slide-8
SLIDE 8

Conventional In-Memory

slide-9
SLIDE 9

Conventional In-Memory

slide-10
SLIDE 10

Pros and Cons

Pros ▪ Getting faster ▪ Better utilised by modern CPUs Cons ▪ Communication isn’t faster ▪ It’s not durable ▪ Not getting cheaper anymore?

slide-11
SLIDE 11

01

Setting the Stage RAM Memory Modern WEB SCS Architecture

02

In-Memory Application Platform Architecture Single App Integration Demo Future

On Today’s Agenda

slide-12
SLIDE 12

Pros and Cons

Pros ▪ Ubiquitous (no native, separate process) ▪ Semantics (content) vs Presentation ▪ Modularity as priority (reusability) Cons ▪ Still not implemented everywhere ▪ Global scope (one app can break something in another) ▪ Online requirement

slide-13
SLIDE 13

01

Setting the Stage RAM Memory Modern WEB SCS Architecture

02

In-Memory Application Platform Architecture Single App Integration Demo Future

On Today’s Agenda

source: 
 scs-architecture.org

slide-14
SLIDE 14

SCS Architecture

slide-15
SLIDE 15

SCS Architecture

slide-16
SLIDE 16

SCS Architecture

slide-17
SLIDE 17

SCS Architecture

System 1 System 2

slide-18
SLIDE 18

Pros and Cons

Pros ▪ Modularisation ▪ Maintainability ▪ Loose coupling Cons ▪ Integration ▪ Common look and feel ▪ Inconsistency

slide-19
SLIDE 19

01

Setting the Stage RAM Memory Modern WEB SCS Architecture

02

In-Memory Application Platform Architecture Single App Integration Demo Future

On Today’s Agenda

slide-20
SLIDE 20

In-Memory Application Platform
 


For Building Self-Contained Systems

slide-21
SLIDE 21

General Platform Architecture

Starcounter Communication
 Palindrom - REST, Web Sockets Front-end Framework
 React, Polymer Application
 View Models, Entities, App Logic In Memory App Platform Mapping, Persistence, Queries

slide-22
SLIDE 22

Traditional Stack vs Starcounter Stack

slide-23
SLIDE 23

Data Storage

  • In-Memory database
  • ACID compliant
  • Snapshot isolation
  • Flexible
slide-24
SLIDE 24

VMDBMS

U.S. Patent No. 8,266,125

slide-25
SLIDE 25

Business Logic

  • Polyglot
  • Simplified
  • Platform-agnostic
  • Real-time
slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28

User Interface

  • Web native
  • Web socket communication
  • Design agnostic
  • Thin
slide-29
SLIDE 29

Demo: 
 Simple SCS app

slide-30
SLIDE 30

Integration: Data Level

slide-31
SLIDE 31
slide-32
SLIDE 32

Starcounter Model C App A App C App B UI A UI C UI B Model A Model B Mapper

slide-33
SLIDE 33

Integration: UI Level

slide-34
SLIDE 34

Starcounter Model C App A App C App B UI A UI C UI B Model A Model B UI A UI B UI C

slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39

Outcomes

Pros ▪ Modularisation ▪ Maintainability ▪ Loose coupling ▪ Full and easy integration ▪ Common look and feel ▪ Consistency Cons ▪ Integration ▪ Different look and feel ▪ Inconsistency ▪ Platform lock-in?

slide-40
SLIDE 40
slide-41
SLIDE 41

Storage Engine Benchmark ▪ YCSB load 5% writes, 95% reads. ▪ 1 x E5-2680v2, 1 machine (10/20 cores/ threads). ▪ 8 threads: 3.5 mln. Ops/sec. ▪ 16 threads: 5.4 mln. Ops/sec. ▪ c3.8xlarge – 60 GiB RAM, 32 vCPUs ▪ c3.2xlarge – 15 GiB RAM, 8 vCPUs ▪ https://www.ec2instances.info/

Full-Stack Benchmark ▪ 1.5 mln. accounts, 500 K remote clients transfer. ▪ Money between accounts (5%) and read totals (95%). ▪ Transfer and read operations are mixed randomly. ▪ Starcounter on .NET (1 x EC2 c3.8xlarge): 1 M OPS. ▪ MariaDB Galera Cluster 5 nodes with Node.js app server (5 x EC2 c3.2xlarge, EBS root volume and high network throughput, stored procedures): 55 K OPS. ▪ Ratio suffers for MariaDB doing more writes.

slide-42
SLIDE 42

01

Setting the Stage RAM Memory Modern WEB SCS Architecture

02

In-Memory Application Platform Architecture Single App Integration Demo Future

On Today’s Agenda

slide-43
SLIDE 43

Currently vs Future

Current Main Memory Cache Solid State Disk Registers Magnetic Disk Future Main Memory Cache Non Volatile Memory Registers Solid State Disk Magnetic Disk

slide-44
SLIDE 44

Starcounter in the Future

slide-45
SLIDE 45

Enterprise Software of Tomorrow

▪ Simplified ▪ Near real-time ▪ Easy to maintain ▪ Reusable/modularised ▪ Fully web-based ▪ Fast data ▪ HTAP or HOAP

slide-46
SLIDE 46

THANK YOU! Questions?