going to the cloud containers & intersystems cloud manager · docker allow us to mirror...

27
Going to the Cloud Containers & InterSystems Cloud Manager Luca Ravazzolo Product Manager

Upload: others

Post on 26-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

Going to the CloudContainers &InterSystems Cloud ManagerLuca Ravazzolo

Product Manager

Page 2: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

2 | © InterSystems Corporation. All rights reserved. |

Speed

We Can’t Make the Horse Faster.

If I had asked people what they wanted,

they would have said faster horses.

—Henry Ford

Page 3: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

3 | © InterSystems Corporation. All rights reserved. |

Page 4: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

4 | © InterSystems Corporation. All rights reserved. |

What is a container?

It’s a Standardized, Portable & Runnable software bundle – the Image

that is Executed in Isolation & Resource Controlled – the Container

Page 5: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

5 | © InterSystems Corporation. All rights reserved. |

Docker Containers

A tool that can package and application and its runtime dependencies for deployment

into a Linux Container.

Docker builds on Linux Containers & adds

API

Image format

Runtime user-space

Registry

There is already a standard: OCI v1

Linux Kernel

cgroup namespace

Images Container

Docker

Page 6: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

6 | © InterSystems Corporation. All rights reserved. |

Docker run

Docker Client Docker Engine

holds Images

Docker Hub & Docker Store

Running Container

Page 7: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

7 | © InterSystems Corporation. All rights reserved. |

Docker build

Docker images

read only layers

built by hand or via Dockerfile

BYOContainer

Based on InterSystems image

Add App code

Add Key

Resolve dependencies

Configure

Dockerfile

Creation Build

Docker Layer

Docker Layer

Docker Layer

Container

Image

Pull Push

Run

Page 8: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

8 | © InterSystems Corporation. All rights reserved. |

The Focus is on the Application Portability

simplified App delivery

Standard Application Package

software runs always in the same way anywhere

Lightweight Operational Benefits

Minimal footprint; efficient run-time; fast start; fast shutdown; No OS worries

Efficient Isolation without Emulation

Dependencies Satisfied at Build time

Faster Iteration and Release Cycles

Better resource utilization / higher packing factor

Consistent & Repeatable Process

Page 9: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

9 | © InterSystems Corporation. All rights reserved. |

The Focus is on the Application Separation of Concerns between

Code &

Data

Separation of Concerns between Artefact Phases (12-factor app)

Build Phase &

Run Phase

Embrace immutability vs mutating systems (No System Drifts) BUILD RUN

CODE

DATA

Page 10: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

10 | © InterSystems Corporation. All rights reserved. |

It’s another virtualization…

OK for microservices architectures (MSA)

I do Monolith... it ain’t for me

I don’t buy it

Page 11: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

11 | © InterSystems Corporation. All rights reserved. |

Packaging Docker images

Distribution Docker Registry

Execution Docker Engine

Containers Solves a Lot of Problems

Page 12: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

12 | © InterSystems Corporation. All rights reserved. |

Product Delivery

1

Developer

pushes

commits

Source

Code

Repository

2

Continuous

Integration

??

3

Deployment

=

Build and Test

7

code.xml

code.rtn

data.gbl

script.sh

config.params

cache.cpfCACHE.DAT

Code

Bundle.rpm

.tar.gz

.msi

CACHE.DAT

Data

Build

??

4

Test

??

5

Testing the App

or

Testing the Assembly

of Components?

OS version

Patch Level

Lib dependencies

DB installation

App dependencies

Configuration

Import Code

Compile Code

Copy .DAT

Must do!

Page 13: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

13 | © InterSystems Corporation. All rights reserved. |

Product Delivery

1

Developer

pushes

commits

Source

Code

Repository

2

Continuous

Integration

??

3

Deployment

=

Build and Test

7

code.xml

code.rtn

data.gbl

script.sh

config.params

cache.cpf CACHE.DAT

Code

Bundle.rpm

.tar.gz

.msi

.jar

CACHE.DAT

Data

Build

??

4

Test

??

5

Testing the App

or

Testing the Assembly

of Components?

OS version, Patch Level, Lib

dependencies, DB installation,

App dependencies,

Configuration, Import Code,

Compile Code, Copy .DAT,

etc.

Must do!

Page 14: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

14 | © InterSystems Corporation. All rights reserved. |

Continuous Delivery

Produce valuable and robust software in short cycles

Optimizing for feedback & learning

Not (necessarily) continuous deployment

Page 15: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

15 | © InterSystems Corporation. All rights reserved. |

Creation of a build pipeline is mandatory for continuous delivery

Page 16: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

16 | © InterSystems Corporation. All rights reserved. |

CI/CD with containers: Making your Dev env like Production

1

Developer

pushes

commits

Source

Code

Repository

Continuous

Integration

Service

Image or

Artefact

Build

Run

Tests

Push to

Registry

Deploy

to

Production

Developers are notified

2 3 4 5 6 7

Containers become the build pipeline single-binary

Page 17: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

17 | © InterSystems Corporation. All rights reserved. |

Production Parity

The cost of fixing a bug exponentially increase the closer it gets to production

Docker allow us to mirror production environments by providing the same base-OS

layer, packages, libraries, dependencies & configuration options: all while giving users the flexibility to use their favorite platform to work on with their

favorite IDE and browser.

Works where you work Dev, Test, Pre-production, UAT, Production

Page 18: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

18 | © InterSystems Corporation. All rights reserved. |

Dockerfile

Docker provides the same

easy workflow regardless of your role as a developer, operator, or designer (DevOps)

It leverages a declarative configuration file which describes

all your application software requirements

packages & lib dependencies, users, and more.

Page 19: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

20 | © InterSystems Corporation. All rights reserved. |

2

0

Page 20: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

21 | © InterSystems Corporation. All rights reserved. |

InterSystems has the passport!

First-class citizens

isc-main

Durable %SYS

Page 21: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

22 | © InterSystems Corporation. All rights reserved. |

isc-main

Detachable container

Interrupts handling

Logs redirection

Powerful flags

before database startup

after database shutdown

key

instance name

routine

namespace

etc.

On

Startup

--key

--log

Before

IRIS

--before

--instance

--routine

After

IRIS--after

On

Exit--exit

Page 22: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

23 | © InterSystems Corporation. All rights reserved. |

InterSystems-libs

InterSystems Container

Durable %SYS

System configuration durability

cache.cpf

cconsole.log

%SYS database

User credentials

Security Settings

etc.

WIJ

JRNs

etc.

/dev/xvdb /fast-reliable-FS/conf1.d

%SYS

-e ISC_DATA_DIRECTORY=/IRIS/conf1.d

-v /fast-reliable-FS:/IRIS

/IRIS/conf1.d/

/usr/IRIS/InterSystems-libs

InterSystems Container

v.2/IRIS/conf1.d

Page 23: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

24 | © InterSystems Corporation. All rights reserved. |

$ docker run –d \

–e ISC_DATA_DIRECTORY=/IRIS/conf1.d \

–v /fast-reliable-FS:/IRIS \

-v /myAppDB:/DB \

-p 57772:57772

–p 1972:1972 \

myapp-container:v1

Typical Example

Durable %SYS

Linux Host

/boot /etc /usr /myAppDB

/dev /opt /fast-reliable-FS/conf1.d

/DB /IRIS/conf1.dmyapp-container:v1

Page 24: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

26 | © InterSystems Corporation. All rights reserved. |

InterSystems Cloud Manager• Enterprise Infrastructure & Solution Abstraction

• declarative self-contained & self-describing definition for

• a specific cloud provider

• Compute nodes

• Storage

• Network and

• Infrastructure services

• Provisioning and Deployment

• define,

• create,

• provision &

• run a configured InterSystems cluster solution

• via simple JSON definition template

• leveraging containers

Page 25: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

27 | © InterSystems Corporation. All rights reserved. |

Think out of the box

A g

il it

y

T i m e

Page 26: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

28 | © InterSystems Corporation. All rights reserved. |

Bedtime Reading

Page 27: Going to the Cloud Containers & InterSystems Cloud Manager · Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies

Thank you.