Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service •...

33
1 2013-10-17 / Tech Talk / Bern OpenShift Puzzle Tech Talk 2013 Anselm Strauss System Engineer [email protected]

Transcript of Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service •...

Page 1: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

12013-10-17 / Tech Talk / Bern

OpenShift

Puzzle Tech Talk 2013

Anselm StraussSystem [email protected]

Page 2: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

22013-10-17 / Tech Talk / Bern

OpenShift

Overview• What is PaaS? What is OpenShift?• Local test installation• Create an application• Manage the application• Why would I want PaaS/OpenShift?• Questions?• Advanced topics• Resources

Page 3: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

32013-10-17 / Tech Talk / Bern

OpenShift

Platform as a Service• Provide tools and protocols to deploy and run your applications

• Easy to use• Automation• Scaling• Integration with other systems

Application

Platform

Infrastructure

Developer

User

Sysadmin

SaaS

PaaS

IaaS

Page 4: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

42013-10-17 / Tech Talk / Bern

OpenShift

Openshift PaaS• From Red Hat• Based on Red Hat Enterprise Linux• Based on popular technologies• Runs multiple software stacks• Open source• Upstream community

Page 5: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

52013-10-17 / Tech Talk / Bern

OpenShift

Architecture

Broker

DNSAuth

Node

User

Developer

Application

Gears

DB

request create

access

deploy

authenticatestore

manage

Page 6: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

62013-10-17 / Tech Talk / Bern

OpenShift

Technologies

Broker

DNSAuth

Node

User

Developer

Application

Gears

DB

CLI/Web/REST

MCollective

HTTP/...

SSH/Git

LDAP/Kerberos

MongoDB

DDNS

Page 7: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

72013-10-17 / Tech Talk / Bern

OpenShift

Cartridges

Node

Application

Gears

Cartridges(shared)

configure

use

RPMs

Page 8: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

82013-10-17 / Tech Talk / Bern

OpenShift

Cartridge Examples• Web: Ruby, Java, Python, PHP, Perl, …• Database: MySQL, PostgreSQL, MongoDB, …• Utility: phpMyAdmin, Cron, DIY (do it yourself)• Services … ?

Page 9: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

92013-10-17 / Tech Talk / Bern

OpenShift

Gears

Node

- UNIX user- Filesystem quota- Git repo, hooks- Processes- SSH, shell- Environment

Gear

SELinux, Cgroups

Network

Page 10: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

102013-10-17 / Tech Talk / Bern

OpenShift

Application• Name• Dependencies (cartridges)• Git repository• Set of distributed gears• http://<app>-<namespace>.<domain>

Page 11: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

112013-10-17 / Tech Talk / Bern

OpenShift

Try it• Online: limited resources, price plans• Private production system: Enterprise vs. Origin• Local test installation: download & run, single server

Page 12: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

122013-10-17 / Tech Talk / Bern

OpenShift

Local Test Installation• Preconditions: KVM, Browser, Git, rhc CLI• Create VM, download VM image, boot• Ensure/configure mDNS on client• Use Browser or rhc tool• Login, create token, upload SSH keys, create namespace

Page 13: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

132013-10-17 / Tech Talk / Bern

OpenShift

Create an Application• Choose name and main cartridge• Create application with console or CLI• Checkout Git repository• Basic commands

Page 14: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

142013-10-17 / Tech Talk / Bern

OpenShift

Add the Database• Addon cartridge• Check database• Database server per application

Page 15: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

152013-10-17 / Tech Talk / Bern

OpenShift

Connect to Database• Load rails example• Read database credentials from environment• Git push to redeploy• Verify database

Page 16: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

162013-10-17 / Tech Talk / Bern

OpenShift

New Instance• Create new applications at will within limits• Deploy same source to multiple instances

Git

branch: master

branch: stableapp: prod

app: test

Page 17: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

172013-10-17 / Tech Talk / Bern

OpenShift

Monitor / Analyze• Access logs• Get infos• Run any commands in shell

Page 18: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

182013-10-17 / Tech Talk / Bern

OpenShift

More• Set environment variables: keys, passwords, etc.• Install cartridge from URL• Set DNS aliases and SSL certificates• Set authorizations• Snapshot, restore• Forward ports• Run SSH command on all gears• ...

Page 19: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

192013-10-17 / Tech Talk / Bern

OpenShift

Developer Tasks

rhc

Git

Broker

Node

setup, create/delete, start/stop,manage cartridges

deploy, update

Shellanalyze

Page 20: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

202013-10-17 / Tech Talk / Bern

OpenShift

Developer View

Code

Deploy Run

HistoryCollaboration

QuicklyUpdateFix

TestAnalyzeScale

Page 21: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

212013-10-17 / Tech Talk / Bern

OpenShift

Sysadmin View

Ticket

Phone Email

We need Xnew servers!

Set var X inconfig Y to

value Z!

Restart now!

We need 32bitlibrary of xyz

installed!

What does thelog say?

Is my applicationsecure?

Page 22: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

222013-10-17 / Tech Talk / Bern

OpenShift

Developer vs. Operator• Better interface between Developer and Operator• Developer gains access• Access is controlled and limited• Less communication overhead• Continuous deployment

Page 23: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

232013-10-17 / Tech Talk / Bern

OpenShift

The Private Cloud• Public PaaS are closed• Build your own, customize, know how it works

• Own the data• Provide PaaS/SaaS• No provider lock-in• Minimal technology lock-in

Page 24: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

242013-10-17 / Tech Talk / Bern

OpenShift

Common Questions ...

Page 25: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

252013-10-17 / Tech Talk / Bern

OpenShift

Scaling

Ruby

HAProxy

Ruby Ruby

DB

Web requests

DB Access

Page 26: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

262013-10-17 / Tech Talk / Bern

OpenShift

High Availability• Platform vs. Applications• Nodes and broker are independent• Need redundant load balancer in front• Are DNS, LDAP/Kerberos already HA?• Mitigate node failure with virtualization• Database is the key• There is no magic that will make any application HA!• “HA Apps” is work in progress

Page 27: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

272013-10-17 / Tech Talk / Bern

OpenShift

Security

Node

Gear

Gear

Proxy

Application

Page 28: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

282013-10-17 / Tech Talk / Bern

OpenShift

Resources

• https://www.openshift.com/Docs, Mail, Forum, Blog, Twitter, G+, IRC, ...

• https://github.com/openshiftServer, Client tools, Cartridges, Examples, Puppet modules, Kickstarts, Scripts, ...

Page 29: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

292013-10-17 / Tech Talk / Bern

OpenShift

Thank you!

Page 30: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

302013-10-17 / Tech Talk / Bern

OpenShift

Community / Private / Public• OpenShift Origin: The Open Source Project• OpenShift Enterprise: Run your Private Cloud• OpenShift Online: Run in Public Cloud

• Try out everything on Origin• Get Enterprise Support• Start quickly Online

Page 31: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

312013-10-17 / Tech Talk / Bern

OpenShift

O p e n Shift• Complete source code on Github• Add your own functionality with cartridges• Collaborate with others• Run across multiple clouds• Lots of 3rd party cartridges and manuals• Build your own SaaS on top

Page 32: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

322013-10-17 / Tech Talk / Bern

OpenShift

rhc CLI

$ sudo gem install rhc

$ rhc setup(Couple of questions: Server, Username, Password)

$ rhc app create myapp php-5.3Password: (Enter your account password)

$ cd myapp$ vim php/index.php(Make a change... :x)$ git commit -a -m "My first change"$ git push

(Access myapp-mynamespace.example.com)

Page 33: Puzzle Tech Talk 2013 · 3 2013-10-17 / Tech Talk / Bern OpenShift Platform as a Service • Provide tools and protocols to deploy and run your applications • Easy to use • Automation

332013-10-17 / Tech Talk / Bern

OpenShift

OpenShift Console