DevOps: Arquitectura, Estrategia y Modelo

47
DevOps Arquitectura, Estrategia y Modelo @SUSELinux_ESP #SUSEExpertDays

Transcript of DevOps: Arquitectura, Estrategia y Modelo

Page 1: DevOps: Arquitectura, Estrategia y Modelo

DevOpsArquitectura, Estrategia y Modelo

@SUSELinux_ESP

#SUSEExpertDays

Page 2: DevOps: Arquitectura, Estrategia y Modelo

3

Key

Components

for DevOps

Success

• Good habits and people

• Development done now

• Automate everything

• Continue delivery

• Closer to production

• Lean development

Page 3: DevOps: Arquitectura, Estrategia y Modelo

4

Re-define How You Bring Services

to Market with DevOps

Deliver New Services Faster

Increase Responsiveness

Improve Quality

Thinking DevOps?

Think SUSE

Page 4: DevOps: Arquitectura, Estrategia y Modelo

5

SUSE Solutions for DevOpsA suite of flexible, modular open source solutions

PLAN

SUSE Linux Enterprise

openSUSE

CODE

OBS, PackageHub, SUSE

Manager, Portus, GitHub

BUILD

OBS, SUSE

Studio, SUSE

Manager, KIWI,

docker open

source project

TEST & RELEASE

SUSE Manager

openQA, Jenkins

OPERATE & MONITOR

SUSE Manager, SUSE

Enterprise Storage, SUSE

OpenStack Cloud,

Kubernetes

DEPLOY

SUSE OpenStack Cloud, SUSE

Public Cloud, SUSE Manager,

Salt, Kubernetes

Page 5: DevOps: Arquitectura, Estrategia y Modelo

6

The SUSE Approach

Software

Und

System

Entwicklung

“Software and Systems Development”

Page 6: DevOps: Arquitectura, Estrategia y Modelo

7

The SUSE Approach

SUSE design principles:

• Open source and open

development

• APIs

• Standards based (protocols,

languages, etc.)

• Enterprise focus

Page 7: DevOps: Arquitectura, Estrategia y Modelo

8

SUSE Components– Open Build Service

• Supports all major Linux distributions and

software packaging formats (rpm, deb,

containers, installation media, images)

• Support multiple architectures (i586,

x86_64, aarch64, ppc64, ppc64le, s390x)

• Web client and a CLI (osc)

• Allows for simple package creation

• Add external software repositories

• Build packages locally or on source server

• Collaboration via

branching/merging/review/commit -

request tracking

Page 8: DevOps: Arquitectura, Estrategia y Modelo

9

Open Build Service (OBS)

Source Package Image

OBS user submits source

to OBS and gets a product

OB

S

Page 9: DevOps: Arquitectura, Estrategia y Modelo

10

Kiwi – Image creation

• Developed and hosted by openSUSE

• Portal page: http://en.opensuse.org/Portal:KIWI

• Can create for multiple architectures

• Can create for multiple distributions

• Can be deployed to physical, virtual and cloud

• vmdk, qcow2, vhd, ovf, raw, lxc, Docker

• Very flexible

• With flexibility comes complexity

Page 10: DevOps: Arquitectura, Estrategia y Modelo

11

OBS Usage

Support

Reviewer

DeveloperOBS

Product

Maintenance

Updates

PTF

Updates

Page 11: DevOps: Arquitectura, Estrategia y Modelo

12

Today’s OBS Users

Distribution development,

Maintenance Updates

Open Source Communities

Add-Ons: Driver Developer and ISVs

Researchers/Universities

Administration Teams

Page 12: DevOps: Arquitectura, Estrategia y Modelo

13

How Do I Build It?The Easy Way

SUSE Studio

Two ways to get it:

• SUSE Studio Onsite: https://www.suse.com/products/susestudio/

• SUSE Studio Online: http://www.susestudio.com

Provides a simplified, web-

based user interface for Kiwi

Page 13: DevOps: Arquitectura, Estrategia y Modelo

15

Advanced Systems Management ModuleMachinery

Page 14: DevOps: Arquitectura, Estrategia y Modelo

16

OpenQA

• Automated test

infrastructure

• Used by openSUSE and

SUSE Linux Enterprise

• Ability to test various code

paths / installation options

• Basic concepts: “jobs,”

“needles,” (png + json)

• Output: log files, pictures,

video

https://en.opensuse.org/openSUSE:OpenQA

Page 15: DevOps: Arquitectura, Estrategia y Modelo

17

• Yearly Release

• Deliver new compiler and toolchain

• GCC (GNU Compiler Collection) development tools via Toolchain Module

• GCC runtime libraries, binutils, gdb as updates for SUSE Linux Enterprise core

• 2016 update of Toolchain Module for SUSE Linux Enterprise 12

• GCC 6.2 with C, C++, Fortran support

• Binutils 2.26

• Gdb 7.11

• Package build compiler (GCC 4.8) stays as default

Toolchain Module for SUSE Linux Enterprise 12SUSE Linux Enterprise 12 SP2

Page 16: DevOps: Arquitectura, Estrategia y Modelo

18

Containers module

Enterprise Ready

• Pre-build and signed images from a trusted source

• Full control over your data: On-premise registry, authentication

• Application Runtime for SUSE Linux Enterprise 11 and 12

Integration and management of Containers

• Integration with SUSE Manager and SUSE OpenStack Cloud

• Unified tooling, independent of the “virtualization” mechanism

– YaST, sle2docker, zypper-docker

– Portus

Page 17: DevOps: Arquitectura, Estrategia y Modelo

19

Collaborate Securely with Portus

Created by SUSE

Open Source

Control Access to Your Images

Authenticate Authorize

Navigate Image Catalog

Easy to Use

Keep Everything Under Control

Audit

Page 18: DevOps: Arquitectura, Estrategia y Modelo

20

Manage Containers and Images

PatchAnalyze

Monitor

Page 19: DevOps: Arquitectura, Estrategia y Modelo

21

Surgically Patch Container Application

Check Containers and Images (both!)

Update

App

Identify Vulnerable Apps

Update Image

Shellshock vulnerability

Page 20: DevOps: Arquitectura, Estrategia y Modelo

22

Automated Deployment Model

System Inspection

“Machinery”Report

Develop DeployBuild Test

KIWI

YaST /

AutoYaST

Various Output Formats

Page 21: DevOps: Arquitectura, Estrategia y Modelo

2323

Container and Orchestration

Page 22: DevOps: Arquitectura, Estrategia y Modelo

24

SUSE CaaS Platform has 3 key components

OS for Containers

MicroOS

Orchestration

Kubernetes

Configuration

Salt, Container

Engines

Page 23: DevOps: Arquitectura, Estrategia y Modelo

25

SUSE CaaS Platform

SL

ES

Automation (Salt + cloud-init)

Configuration & Management of each node

Persistent Storage

(local disk, NFS,

SES)

Networking Registry Security Logging

Orchestration (Kubernetes) Services (e.g. Deployment Dashboard)

Container Container Container Container Container Container Container Container Container

Container Runtime & Packaging

SUSE Linux Enterprise MicroOS (Container Host OS)

(Physical) Infrastructure

Page 24: DevOps: Arquitectura, Estrategia y Modelo

26

Orchestration with Kubernetes

Complete solution for container based workloadsDeploy, Scale, Manage

Self-healing

Avoid vendor-lock-in

Dashboard + Command line capabilities

Page 25: DevOps: Arquitectura, Estrategia y Modelo

27

SUSE CaaS Platform Deployment Scenario

IT Operations

(Administrator)DevOps & Developer End User

Setup IT

Infrastructure for

Containers

Developer

Create Microservice Apps for

Containers

Access & Use Loan

ApplicationDevOps

Manages the cluster.

Run Loan App (High

Availability, Load Balancer,

Orchestrate nodes).

A Financial Services company wants to launch a new Loan application.

Page 26: DevOps: Arquitectura, Estrategia y Modelo

28

PXE / DHCP / SMT

Portus

External Logging System

Admin

node

IT Ops/

DevOps

Admin

Dashboard

node node node

node node node

node node node

Kubernetes

Master

SUSE CaaSP

SUSE Registry

SCC

SUSE CaaS Platform Deployment - Setup Infrastructure

1 Install Admin nodeMicroOS one step installation

Create AutoYaST profile

Set up Admin Dashboard

2 Connect to Admin Dashboard

3 Deploy NodesUses AutoYaST profile

4 Configure ClusterSet up kubernetes, etcd, flannel,...

Page 27: DevOps: Arquitectura, Estrategia y Modelo

29

SUSE CaaS Platform Deployment – Run Containers

Dev/

DevOps

node node node

node node node

node node node

Kubernetes

Master

Private RegistryCI

Git

Kubernetes

Dashboard /

kubectl

HA Proxy

1 Push code to git 2 Build container image(s) 3 Run app on kubernetes cluster

4 Ready for production

SUSE Registry

SCC

Page 28: DevOps: Arquitectura, Estrategia y Modelo

30

CaaS Platform Deployment Scenario – End User view

Loan App

node node node

node node node

node node node

Kubernetes

Master

End user accesses

application via HA-proxy

HA Proxy

Page 29: DevOps: Arquitectura, Estrategia y Modelo

31

Admin

node

IT Ops/

DevOps

Admin

Dashboard

node node node

node node node

node node node

Kubernetes

Master

SUSE CaaSP

SUSE CaaS Platform Deployment – Full Picture

Private Registry

CI

Git

HA Proxy

Loan App

Dev/

DevOps

SUSE Registry

SCC

Page 30: DevOps: Arquitectura, Estrategia y Modelo

32

What is SUSE Linux Enterprise MicroOS

SLE MicroOS is a modern Linux

Operating System, designed for

containers and optimized for large

deployments.

MicroOS inherits the SLE knowledge

while redefining the operating system

into a small, efficient and reliable

distribution.

SUSE OpenStack

Cloud

MicroOS

Page 31: DevOps: Arquitectura, Estrategia y Modelo

33

What problems are we trying to solve with MicroOS?

A small and easy to manage/upgrade OS

Organizations using containers need

Ability to quickly setup/manage a cluster of nodes

Always up-to-date Operating System

Transactional updates

Page 32: DevOps: Arquitectura, Estrategia y Modelo

34

Coming Soon!

Page 33: DevOps: Arquitectura, Estrategia y Modelo

3535

Continous Integration Architecture

Page 34: DevOps: Arquitectura, Estrategia y Modelo

36

Continuous Integration how it should be …

Code

Repository

Code

Repository

SUSE

Customer

Center

Code

Repository

Application Container

Open

Build

Service

Package

Hub

Container

Hub

Code

Repository

Page 35: DevOps: Arquitectura, Estrategia y Modelo

37

Code

Repository

Code

Repository

SUSE

Customer

Center

Code

Repository

Application Container

Open

Build

Service

Package

Hub

Container

Hub

Code

RepositoryISV

Page 36: DevOps: Arquitectura, Estrategia y Modelo

38

Code

Repository

Code

Repository

SUSE

Customer

Center

Code

Repository

Application Container

Open

Build

Service

Package

Hub

Container

Hub

Code

RepositoryISV

SUSE Manager

SUSE Manager

Page 37: DevOps: Arquitectura, Estrategia y Modelo

39

SUSE Developer Program

Mission: Develop a sustainable developer

strategy combining existing SUSE assets

with new technology and concepts.

Topics and Focus Areas

• Open Build Service, SUSE Package Hub and openQA

• IoT (SUSE Linux Enterprise Server on Raspberry Pi

and beyond)

• Looking beyond the frontier

– SUSE Linux Enterprise Server within WSL (Windows Subsystem for Linux)

– .NET on SUSE Linux Enterprise Server / openSUSE

• HowTo’s, demos, blogs and more

• Events (Hackweek, etc.)

Where can I find more information? https://developer.suse.com

Page 38: DevOps: Arquitectura, Estrategia y Modelo

4040

One more thing…

Page 39: DevOps: Arquitectura, Estrategia y Modelo

41

SUSE Linux Enterprise 12 for Raspberry Pi

• 64-bit SUSE Linux Enterprise Server 12 distribution for the Raspberry

Pi 3 Model B (Will not work on earlier, 32-bit Raspberry Pi models)

• Packaged as an image that is ready to copy to an SD Card

• Includes compilers and development tools

• Comes with a free one-year, self-service subscription

• Enabled for Wi-Fi, Bluetooth, HDMI, Ethernet, and GPIO

• Download from https://tinyurl.com/slespi

• Q&A support on https://forums.suse.com/forum.php

$35 computer with 64 bit ARM processorIs this your next development server?

Page 40: DevOps: Arquitectura, Estrategia y Modelo

42

SUSE Linux Enterprise for Raspberry PiDifferences Compared to Raspbian

Based on Upstream Kernel

While Raspbian uses a kernel with modifications especially for the Raspberry Pi, SUSE Linux

Enterprise Server for the Raspberry Pi uses the SUSE Linux Enterprise kernel for AArch64.

64-bit ARM AArch64 Instruction Set

SUSE Linux Enterprise Server for the Raspberry Pi is the first commercial distribution for the

Raspberry Pi using the ARM 64-bit AArch64 instruction set.

Boot Process

In Raspbian, the kernel is loaded directly. This is not supported by SUSE Linux Enterprise Server

for the Raspberry Pi, where the U-Boot boot loader is used to provide an EFI boot environment. A

GRUB2 EFI binary is chain loaded to provide a graphical boot screen.

Root Filesystem

SUSE Linux Enterprise Server for the Raspberry Pi uses btrfs as the file system for the root

partition. Compression is enabled by default for better SD-Card performance.

Page 41: DevOps: Arquitectura, Estrategia y Modelo

43

How To Get it?SUSE Linux Enterprise for Raspberry Pi

• Download the image from SUSE at http://tinyurl.com/slespi

• Comes with a free, one-year, self-service trial subscription!

• Start your development project today!

Page 42: DevOps: Arquitectura, Estrategia y Modelo

4444

Wrap-up

Page 43: DevOps: Arquitectura, Estrategia y Modelo

45

SUSE Software-Defined Infrastructure An Open, Flexible Infrastructure Approach

Application Delivery

Management

Operations, Monitor

and Patch

• SUSE Manager

• openATTIC

Cluster Deployment

• Crowbar

• Salt

Orchestration

• Heat

• Kubernetes

Custom Micro Service ApplicationsKubernetes / Magnum

Physical Infrastructure: Server, Switches, Storage

Public Cloud

SUSE Cloud Service Provider Program

ContainersSUSE CaaS Platform

Software Defined Everything

StorageSUSE Enterprise

Storage

NetworkingSDN and NFV

VirtualizationKVM, Xen, VMware,

Hyper-V, z/VM

Operating SystemSUSE Linux Enterprise Server

Platform as a ServiceCloud Foundry

Private Cloud / IaaSSUSE OpenStack Cloud

Page 44: DevOps: Arquitectura, Estrategia y Modelo

46

How Will You Define Your Future?

Agile

Open

Flexible

• Future proof today with a flexible

platform for tomorrow

• Optimize your data center and deliver

“as a Service" to your customers

• Improve agility using an open

DevOps approach

Page 45: DevOps: Arquitectura, Estrategia y Modelo

47

• Identify your top three

IT priorities

• Talk to the SUSE team to

see how they can help

• Visit suse.com for more

information

• Follow us on social media

What’s Next

Page 46: DevOps: Arquitectura, Estrategia y Modelo

Thank you for joining us today!

Page 47: DevOps: Arquitectura, Estrategia y Modelo

4949

Unpublished Work of SUSE LLC. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE LLC.

Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their

assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated,

abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE.

Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.

General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a

product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making

purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and

specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The

development, release, and timing of features or functionality described for SUSE products remains at the sole discretion

of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time,

without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this

presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-

party trademarks are the property of their respective owners.