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

Post on 24-May-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform

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

jstakun@redhat.com

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

Agenda

● Containers, Microservices and DevOps● Openshift v3 overview

● DevOps● Management● Cloud infrastructure

● Commercial offering

Containers, Microservices and DevOps

Why should you care?

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

Increase agility and enable DevOps

Containerize traditional applications

Move to microservices & hybrid cloud architectures

Why enterprise IT is looking at containers3 Common Conversations

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

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!

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

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

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

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

Standalone Docker is not enough

Enterprise needs container runtime and delivery platform

Modern Application Design with DevOps, Microservices and Linux Containers

Monolithic to Microservices

MONOLITHIC/LAYERED MICROSERVICES

MicroProfile

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

Application/Microservice Lifecycle Management

Openshift Container Platform overview

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

Open Community Powered Innovation

12+INDUSTRY AWARDS

2.8MAPPS

4B+REQUESTS / DAY

15K+NEW USERS

EVERY MONTH

1,000’sNEW APPS EVERY

DAY

OVER

50STARTUPS

Proven operational experience

Read more at: openshift.com/customers

OpenShift Container Platform

Awards and Product Reviews

2 years running!

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

Architecture

Openshift Container Platform DevOps

From Red Hat

● JBoss Middleware● Software Collections

From ISV Partners

From the Community

OpenShift Application Services

● 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)

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

*

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

CI/CD Flow

DevOps pipelines

Openshift Container Platform Management

OpenShift Web Console and CLI

● 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

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

...

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

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

Advanced cloud patterns

● Auto scaling

● Self-Healing

● Load balancing

● Rolling upgrades & rollback

● Service discovery

● A/B, blue/green deployments

● Circuit Breaker

● Bulkhead

Openshift Container Platform cloud infrastructure

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

Choose your IaaS

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

Cloud Infrastructures

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

Openshift Container Platform commercial offering

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

RED HAT CLOUD SUITE FOR APPLICATIONS

Red Hat University Training

● Containerizing Software Applications DO276

● OpenShift Enterprise Administration DO280

● OpenShift Enterprise Development DO290

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

top related