przyspiesz tworzenie aplikacji przy pomocy openshift ... · przyspiesz tworzenie aplikacji przy...

51
Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform Jarosław Stakuń Senior Solution Architect/Red Hat CEE [email protected]

Upload: others

Post on 24-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform

Jarosław StakuńSenior Solution Architect/Red Hat CEE

[email protected]

Page 2: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Monetize innovation

http://www.forbes.com/innovative-companies/list/

Morgan Stanley included Red Hat in secular growth stocks list which consists of 30 stocks that its analysts believe would thrive even if the global economy grows slower than they forecast

Page 3: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Agenda

● Containers, Microservices and DevOps● Openshift v3 overview

● DevOps● Management● Cloud infrastructure

● Commercial offering

Page 4: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Containers, Microservices and DevOps

Page 5: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Why should you care?

http://www.techrepublic.com/article/gartners-10-big-trends-that-will-change-how-it-operates/

Page 6: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Increase agility and enable DevOps

Containerize traditional applications

Move to microservices & hybrid cloud architectures

Why enterprise IT is looking at containers3 Common Conversations

Page 7: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

What are Linux Containers?Software packaging concept that typically includes an application and all of its runtime dependencies

● Easy to deploy and portable across host systems

● Isolates applications on a host operating system

● In RHEL, this is done through:● Control Groups (cgroups)● Kernel namespaces● SELinux, sVirt, iptables● … Docker

HOST OS

SERVER

CONTAINER

LIBS

APP

Page 8: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

public class HelloWorld {

public static void main(String[] args) { System.out.println ("Hello, World"); }}

#include<stdio.h>

main(){ printf("Hello World");}

var http = require('http');var server = http.createServer( function (request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("Hello World\n");});server.listen(8000);

$_ = "hello world";$_ =~ s/^(\b\w)(\B\w+)\s(\D)(\D+)$/ \U$1\E$2 \U$3\E$4\!\n/;print $_;

PHYSICAL VIRTUAL PRIVATE CLOUD PUBLIC CLOUD

<?php Print "Hello, World!"; ?>

bash glibc

...

bash glibc

jre

libssl libv8

...

bash glibc

nodejs perl php

...

bash glibc

Consistent Packaging Format

Docker provides a language agnostic packaging format and runtime API. Packaged dependencies ensure consistency and portability*

* The one thing not packaged is the Linux Kernel!

Page 9: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Images are layered

● Images are based on a parent

● The layers stack on top

● Filesystems are merged

● Each commit creates a layer

● Base image has no parent

● Images are stored in the Registry

Page 10: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Application deployment options

Hardware

Host OS

LIBS A LIBS B LIBS..

APP A APP B

Hardware

Guest OS

LIBS A

APP A

Hypervisor

Guest OS

LIBS B

APP B

Guest OS

LIBS C

APP C

Hardware

Container

LIBS A

APP A

Host Minimal OS

Container

LIBS B

APP B

Container

LIBS C

APP C

Traditional Virtual Container

Packaged dependencies = faster boot times + greater portability

Page 11: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

public class HelloWorld {

public static void main(String[] args) { System.out.println ("Hello, World"); }}

#include<stdio.h>

main(){ printf("Hello World");}

var http = require('http');var server = http.createServer( function (request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("Hello World\n");});server.listen(8000);

$_ = "hello world";$_ =~ s/^(\b\w)(\B\w+)\s(\D)(\D+)$/ \U$1\E$2 \U$3\E$4\!\n/;print $_;

PHYSICAL VIRTUAL PRIVATE CLOUD PUBLIC CLOUD

<?php Print "Hello, World!"; ?>

bash glibc

...

bash glibc

jre

libssl libv8

...

bash glibc

nodejs perl php

...

bash glibc

4

?

66

4 6

5

5

64

29

29

4 6

# of critical, important and moderate vulnerabilities identified and fixed by Red Hat in RHEL 7 since GA

Security is definied within containers

What's inside the container and where it comes from matters

6

Page 12: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Red Hat Container Certification

UNTRUSTED● Will what’s inside the containers

compromise your infrastructure?● How and when will apps and libraries

be updated?● Will it work from host to host?

RED HAT CERTIFIED ● Trusted source for the host and the

containers● Trusted content inside the container with

security fixes available as part of an enterprise lifecycle

● Portability across hosts

Page 13: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Standalone Docker is not enough

Page 14: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Enterprise needs container runtime and delivery platform

Page 15: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Modern Application Design with DevOps, Microservices and Linux Containers

Page 16: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Monolithic to Microservices

MONOLITHIC/LAYERED MICROSERVICES

Page 17: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

MicroProfile

Page 18: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

RHEL ATOMIC HOST

MicroService

MicroService

MicroService

RHEL ATOMIC HOST

MicroService

MicroService

RHEL ATOMIC HOST

MicroService

Microservices and Containers

Modular microservices architecture based on JBoss Middleware and OpenShift

KUBERNETESContainer Orchestration

MicroService

MicroService

MicroService

Page 19: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Application/Microservice Lifecycle Management

Page 20: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Openshift Container Platform overview

Page 21: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

OpenShift is Red Hat’s Container Application Platform

● Built for both traditional and cloud-native applications.

● An integrated hybrid cloud application platform for application development and deployment

● Develop, build, and manage container based applications

● Easily turn source code into running applications with source-to-image capabilities

Page 22: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Open Community Powered Innovation

Page 23: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

12+INDUSTRY AWARDS

2.8MAPPS

4B+REQUESTS / DAY

15K+NEW USERS

EVERY MONTH

1,000’sNEW APPS EVERY

DAY

OVER

50STARTUPS

Proven operational experience

Page 24: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Read more at: openshift.com/customers

OpenShift Container Platform

Page 25: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Awards and Product Reviews

2 years running!

Page 26: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

An interactive community for all OpenShift PaaS Users, Customers, Contributors,

Partners, Service Providers and Developers to share ideas, code, best practices, and

experiences.

More at http://commons.openshift.org/

OpenShift Commons

Page 27: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Architecture

Page 28: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Openshift Container Platform DevOps

Page 29: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

From Red Hat

● JBoss Middleware● Software Collections

From ISV Partners

From the Community

OpenShift Application Services

Page 30: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

● Business Process Management

● Business Rules Management System

BusinessProcess Services

● JBoss Enterprise Application Platform

● JBoss Web Server / Tomcat

● Red Hat SSO

● Red Hat Mobile Application Platform

MobileServices

● Fuse

● Data Grid

● A-MQ

● 3scale API Management

● Data Virtualization

IntegrationServices

Application Container Services

JBoss Middleware Services for OpenShift (xPaas)

Page 31: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

OpenShift and native .Net

https://blog.openshift.com/open-source-power-microsoft-dotnet-openshift

●OpenShift provides .NET runtime distributed and supported by Red Hat and Microsoft

●Starting with version 5 of the core framework

*

Page 32: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Code

Deploy

Build

Can configure different deployment strategies like A/B, Rolling upgrade, Automated base updates, and more.

Can configure triggers for automated deployments, builds, and more.

Source 2 Image Walk Through

Page 33: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

CI/CD Flow

Page 34: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

DevOps pipelines

Page 35: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Openshift Container Platform Management

Page 36: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

OpenShift Web Console and CLI

Page 37: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

● Cloud Forms functionality now included with OpenShift Container Platform to improve control over apps and infrastructure

● Monitor and manage resource consumption of containers running in OpenShift Container Platform

● Docker and Kubernetes aware (containers, pods, services…)

● Docker image Smart State Analysis and security policies

Infrastructure Management with CloudForms & OpenShift

Page 38: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

EFK Stack for Log Aggregation

“User”

ElasticSearch

ElasticSearch

ElasticSearch

“Ops”

ElasticSearch

ElasticSearch

ElasticSearchElasticSearch

“Ops”

Kibana

Kibana

Kibana

Kibana

“User”

Kibana

Kibana

Kibana

KibanaElasticSearch

Admin

User

Pod

Pod

...

Page 39: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Container Metrics Aggregation

Node

cadvisor (/stats)

Pod

Pod

Pod

Pod

Pod

Pod

Pod

Pod

Node

cadvisor (/stats)

Pod

Pod

Pod

Pod

Pod

Pod

Pod

Pod

User

Pod

Heapster

Pod

Hawkular

Web-UI

PodPod

Pod

Admin

3rd Party

Page 40: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

SDN: Network Isolation

Project A Project B

Default Namespace

Project C Project D

Default Namespace

merge

Case #1

Case #2

Node Node Node Node

Pod

Pod

Pod Pod Pod

Pod

Pod

Pod Pod

Pod Pod

Pod Pod

Page 41: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Advanced cloud patterns

● Auto scaling

● Self-Healing

● Load balancing

● Rolling upgrades & rollback

● Service discovery

● A/B, blue/green deployments

● Circuit Breaker

● Bulkhead

Page 42: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Openshift Container Platform cloud infrastructure

Page 43: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

RED HAT CLOUD SUITE FOR APPLICATIONS

From virtualization to PaaS

FULLY OPEN SOURCE SOLUTION FROM BARE METAL TO APPLICATIONS

Virtualization

Infrastructure-as-a-Service

HybridManagement

Platform-as-a-Service

Containers

Cloud EnabledVirtual Machines

Virtual Machines

8

Page 44: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Choose your IaaS

OpenShift will run anywhere RHEL can run giving you the ultimate portability for your mission critical workloads.

Cloud Infrastructures

Page 45: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

A True Open Hybrid Cloud

● Deploy OpenShift on OpenStack via Heat● Integrate Apps with OpenStack services ● Manage it all with CloudForms● Get it all at once with Red Hat Cloud Suite

OpenShift On OpenStack

Page 46: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Openshift Container Platform commercial offering

Page 47: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Seamlessly manage from infrastructure to applications based on OpenStack

Develop, build, and manage container-based applications

Run and orchestrate multi-container based applications at scale

Red Hat Container Solutions

Page 48: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

RED HAT CLOUD SUITE FOR APPLICATIONS

Page 49: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

Red Hat University Training

● Containerizing Software Applications DO276

● OpenShift Enterprise Administration DO280

● OpenShift Enterprise Development DO290

Page 50: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems

RED HAT BRINGS IT ALL TOGETHERConfluence of cloud-based platforms, containers, microservices technology and DevOps methodologies delivers significant value.

Page 51: Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform ... Easy to deploy and portable across host systems