infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.
Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy...
Transcript of Przyspiesz tworzenie aplikacji przy pomocy Openshift ... · Przyspiesz tworzenie aplikacji przy...
Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform
Jarosław StakuńSenior Solution Architect/Red Hat CEE
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.