trivadis techevent 2016 cloud-development - starting out with paas - a developers report by martin...

27
BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH Cloud-Development - Starting out with PaaS A Developers Report - Compare PaaS-Providers Martin Zingg Developer @Tri-BE

Upload: trivadis

Post on 12-Apr-2017

143 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA

HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH

Cloud-Development - Starting out with PaaS A Developers Report - Compare PaaS-Providers

Martin Zingg – Developer @Tri-BE

Page 2: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Agenda

Cloud-Development - Starting out with PaaS 2 03/10/2016

1. Introduction & Project BDS-Project Task

Cloud Computing – Intro & Technical View

Cloud Provider Market & Project Focus

2. The PaaS-Providers Keyfacts on Providers

Provider Comparison

3. PoC-Application for BDS-Project Developing the App with OpenShift – a Look into

What‘s with Amazon AWS?

4. Conclusion

Page 3: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud-Development - Starting out with PaaS 3 03/10/2016

Introduction & Project

Page 4: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

BDS-Project Task

Cloud-Development - Starting out with PaaS 4 03/10/2016

Goals

> Untersuche gängige Anbieter

(z.B. OpenStack, Azure, OracleCloud, Google Cloud)

hinsichtlich folgender Faktoren: Tooling, Preisgestaltung, Umfang

> Bewerte welche der genannten Anbieter für den Einstieg

in die (Java) Cloud Entwicklung geeignet sind

> Vergleiche welche Leistungen dabei kostenfrei

für Test zur Verfügung stehen

> Entwickle einen PoC der bei den genannten Anbietern lauffähig ist

Output

> Techevent Vortrag (oder WhitePaper) mit folgenden Inhalten:

> Vergleich der Anbieter nach oben genannte Kriterien

> PoC Applikation

> Empfehlung und Guide für Java Entwickler

Page 5: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud Computing – Intro & Technical View

Cloud-Development - Starting out with PaaS 5 03/10/2016

Overview

Definition

Wikipedia Cloud computing, also on-demand computing,

is a kind of Internet-based computing that

provides shared processing resources and

data to computers and other devices on

demand. It is a model for enabling highly

available , on-demand access to a shared

pool of configurable computing resources,

which can be rapidly provisioned and

released with minimal management effort.

Gartner

Cloud computing is a style of computing

where scalable and elastic IT-enabled

capabilities are provided as a service to

external customers using Internet

technologies

CC BY-SA 3.0

Page 6: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud Computing – Intro II

Cloud-Development - Starting out with PaaS 6 03/10/2016

Cloud Stack

Layering

1. Infrastructure (IaaS)

The infrastructure or "Cloud Foundation" is the lowest

layer in cloud computing. Here the user accesses to

existing services within the system, but manages its

computing entities largely himself.

2. Platform (PaaS)

The developer creates the application and loads it into

the cloud. Unlike IaaS, the user has no direct access

to the computing entities here and he neither runs any

virtual server. ( Amazon AWS as “IaaS-Exception” )

3. Software (SaaS)

The application point of view, presents the most

abstract view on cloud services. The user neither brings

his application in the cloud, nor does he have to worry

about scalability or data management.

He uses an existing application offered by the cloud.

Cloud-Computing-Architecture

> typing Cloud Computing

> divides into technical cloud stack with 3 layers

Page 7: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud Computing – Intro III

Cloud-Development - Starting out with PaaS 7 03/10/2016

Cloud

Service

Models

1. Infrastructure-as-a-Service (IaaS)

most basic cloud-service model, IaaS-providers

offer computers (physical or virtual machines)

and other resources

2. Platform-as-a-Service (PaaS)

PaaS providers offer a development environment to

application developers, which includes toolkits and

standards for development and of course channels

for distribution and payment

3. Software-as-a-Service (SaaS)

users gain access to application software and

databases -- referred to as "on-demand software"

Page 8: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud Computing – Intro IV

Cloud-Development - Starting out with PaaS 8 03/10/2016

Cloud

Deployment

Model

3 types of deployment models

1. Public cloud

services are rendered over a network that is open for public use.

Public clouds may be free, security consideration may be

substantially different, due communication over non-trusted

network .

2. Private cloud

is cloud infrastructure operated solely for a single organization,

whether managed internally or by a third-party

3. Hybrid cloud

is a composition of two or more clouds (private, community or

public) that remain distinct entities but are bound together

> organization may store sensitive client data on a private cloud

> Cloud bursting, App "bursts" to a public cloud when the

demand for capacity increases, “pay-when-you-need” for

peaks.

Page 9: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud Provider Market & Project Focus

Cloud-Development - Starting out with PaaS 9 03/10/2016

Looking for your cloud-provider ?

cloud-computing.softwareinsider.com

www.cloudorado.com

www.tomsitpro.com

www.clouds360.com

Summarized:

finding the right cloud provider depends on the level of

flexibility, customization, security, and support you need.

Page 10: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Key Questions when searching for a (PaaS-) Cloud provider

Cloud-Development - Starting out with PaaS 10 03/10/2016

What kind of Service Model do i need, IaaS or PaaS?

Which Deployment Model should my Cloud provider

support?

Public, Private or even Hybrid.

What Framework support do i possibly need for my

application?

Do i need a specific Server Operation System offered by

the provider?

Some Provider have both, most of them have Linux

based servers, they know why ;).

Which Subscription Options do i like to use, considering

my maintenance budget?

there is everything from hourly rate (pay-as-you-go),

monthly/fixed rates, annual fee.

Free plan often have strong limitations on

infrastructure power (disk, memory) or lack of

availability (no guaranteed application uptime or

server around)

What kind of technical features do i need or do i premise for

my infrastructure base, or are a necessary restriction or

legacy? There might be a strong demand for reliability and

failover features too.

Do i have any restrictions (law, confidentiality) where

(continent/country) the Cloud Server hosting my application

are based?

Whats the type of support i premise to have from my

provider?

Is it 24x7, by phone/chat, is there a ticketing system in case

of issues.

Page 11: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud Provider Market & Project Focus

Cloud-Development - Starting out with PaaS 11 03/10/2016

Starting out with the Cloud-Project, we decided

> to focus only on PaaS Cloud-Provider in this project

> that the approach with a technical tutorial/guide won’t

fit, due to the individual&wide field of approaches to

develop, available with each provider

> and a default work-budget of 5days won’t do it

That and for other reasons the author had to find a PaaS-

Provider which

> a wide spread PaaS-offering that offers a Java platform

and a decent set of application server

> a cost free setup (free plan, or at least not expiring trial)

> does not require a creditcard available or charged at all

Of course that limitation also applies some restrictions on features and

power available when starting out

Page 12: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud-Development - Starting out with PaaS 12 03/10/2016

The PaaS-Providers

Page 13: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

PaaS-Provider 1 – OpenShift

Cloud-Development - Starting out with PaaS 13 03/10/2016

Red Hat is offering OpenShift in 3 different ways:

OpenShift Online: multi-tenant, cloud-based

container platform, managed by Red Hat

Project with Online v2 ,

from 2016 on v3 based on Docker ! Try it…

OpenShift Dedicated: single-tenant, cloud-based

container platform, managed by Red Hat

OpenShift Container Platform

(formerly OpenShift Enterprise):

for customer to deploy and manage on their own in

an infrastructure of choice.

PaaS

Provider 1

Overview

The OpenShift Plans available..

The OpenShift Soluctions…

Page 14: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

PaaS-Provider 1 – OpenShift Online

Cloud-Development - Starting out with PaaS 14 03/10/2016

https://www.openshift.com/

“Develop, Host, and Scale Your Apps in the Cloud”

OpenShift is Red Hat's Platform-as-a-Service (PaaS) that

allows developers to quickly develop, host, and scale

applications in a cloud environment.

OpenShift Online

Cloud Service Model: Platform as a Service

Deployment Model: Public Cloud

Host up to 3 web applications in the cloud for free, having

On-Demand Access.

No expiring trial, contract, or credit card required.

<<Code and Push>>

Simply perform a "git push" to deploy your code to your

application.

Reason for choice:

> PaaS-Provider with free plan (not expiring trial), no

contract

> No project budget for operational costs, no credit-

card required when starting project

> Wide JBoss AS/EAP support and WildFly AS

available

> Various control interfaces, such as: Web-Console,

Cmd-Line Client (RHC), Eclipse IDE integration

> GIT as a known source-control tool

integrated/invoked in the development and

deployment workflow

PaaS

Provider 1

Page 15: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

PaaS-Provider 1 – OpenShift Online

Cloud-Development - Starting out with PaaS 15 03/10/2016

Main Features

> Languages: Java, Ruby, Node.js, Scala, Python, PHP and

more

> Databases: MySQL, PostgreSQL, MongoDB, and SQLite

> Extensible Cartridge System: developers can add other

language, database, or middleware components that they

need via the OpenShift Cartridge API

> Available Addons: for any kind of concerns like:App-

Monitoring, DB, AMQP, Performance/Load Testing,

Build&Deployment (CI), Analytics.

> QuickStart Templates: pre-created code repositories that

allow you to instantly boot your favorite application

framework

Benefit / Drawbacks

No expiring trial, contract, nor credit card required. A real free

plan, of course with its limits given.

Wide JBoss AS/EAP support and WildFly AS

Rich developer resources: Developer Portal, OpenShift Hub

providing app templates, how2-docs; good blog &

documentation

Well integrated GIT as programming interface and

communication/deploy channel

Educational initiative and OpenSource projects options

available

--------------

powerful application management options are only available

with OpenShift premium Bronze and Silver plans

OpenShift Free-Plan applications idle due to inactivity,

If you want to ensure uptime for your app, use paid gears.

since free OpenShift gears are handled by unused

processing/bandwidth power, you might end up getting a “503

Service Unavailable” error, from time to time.

No own custom Domain when working with Free Plan, just the

one given by RedHat rhcloud.com

PaaS

Provider 1

Details

Page 16: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

PaaS-Provider 2 – Amazon AWS

Cloud-Development - Starting out with PaaS 16 03/10/2016

https://aws.amazon.com/

“Provide trusted, cloud-based solutions to help

you meet your business needs.” Amazon Web Services (AWS) is a secure cloud services

platform, offering compute power, database storage,

content delivery and other functionality to help business-es

scale and grow.

AWS Elastic Beanstalk

Cloud Service Model: Platform as a Service

Deployment Model: Public Cloud

Sign up with Amazon Web Services and receive 12

months of access to the AWS Free Usage Tier.

<<Easy to begin, Impossible to outgrow>>

Reason for choice:

> PaaS-Provider with free plan (well, more a 12Mt trial),

watch the limitations when using AWS Free Tier.

> Provider choice by BDS PL

> Kept small project budget for operational costs, at

least 1st year

> Wide infrastructure and services (Addons) available

through AWS-Marktplace

> Various control interfaces, such as: AWS

Management-Console, AWS Commandline Tool, IDE-

Toolkits for Eclipse (they would have Visual Studio

too)

PaaS

Provider 2

Page 17: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

PaaS-Provider 2 – Amazon AWS

Cloud-Development - Starting out with PaaS 17 03/10/2016

PaaS

Provider 2

Details

Main Features

> Languages: .NET, Java, JavaScript, Node.js, PHP, Python,

Ruby, Mobile-Apps (iOS, Android and Fire OS apps)

> Databases: Oracle, MySQL, SQL Server (and meanwhile

Maria-DB and PostgreSQL or Aurora

and AWS-IaaS: Amazon Relational Database Service (RDS),

Amazon DynamoDB (NoSQL), Amazon Redshift (Data-Warehouse)

> Supports web containers (Tomcat, Passenger, Puma) and

Docker containers, with multiple configurations of each.

> Available Addons: for any kind of concerns from the AWS

marketplace, providing plenty of solutions /services to extend

an application

> QuickStarts: automated standard deployments provided for

AWS, more and more coming up

Benefit / Drawbacks

with AWS's Free Usage Tier new users can get 750 hours,

30GB storage and 15GB bandwidth for free!

New AWS accounts receive 12 months of AWS Free Tier

access. Gain free, hands-on experience with AWS for 12

months

Rich developer ressources: Developer Portal, AWS

CloudFormation for providing own templates, articles and

tutorials; good documentation

help, learn and benefit from big AWS Community

AWS Activate: a program for startup companies is available

--------------

for account startup, even with “AWS Free Usage Tier” plan

(free for 12Mt), we need a CreditCard, or nothing goes…

AWS Free Tier plan expires after 12Mth with all its free options,

after that you pay their usage, appears a bit like a lock-in.

Lots of AWS services can be challenging to figure out which

services to use and how to provision them.

Not easy price calculations due to complex mixture based on

instances, storage, application services and data egress

charges requires cost-estimation tools like AWS TCO.

Page 18: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

PaaS-Provider 3 – IBM Bluemix

Cloud-Development - Starting out with PaaS 18 03/10/2016

https://console.ng.bluemix.net/

“The Digital Innovation Platform” Use a combination of the most prominent open-source

compute technologies to power your apps. Then, let Bluemix

handle the rest.

IBM Bluemix

Cloud Service Model: Platform as a Service

Deployment Model: Public Cloud, Hybrid Cloud, Private Cloud

Your 30-day trial is free, with NO credit card required. You get access to 2 GB of runtime and container memory to run

apps, unlimited IBM services and APIs, and complimentary support.

<< Build your apps, your way. >>

Reason for not completing Provider:

> IBM Bluemix is not in focus for now for BDS

> PaaS-Provider 1 and 2 research took more time

than expected

> Bringing a PoC-App from one Cloud to another

was a bit underestimated

> Running out of project budget

PaaS

Provider 3

Page 19: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

PaaS-Provider 3 – IBM Bluemix

Cloud-Development - Starting out with PaaS 19 03/10/2016

PaaS

Provider 3

Details

Page 20: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Provider Comparison

Cloud-Development - Starting out with PaaS 20 03/10/2016

Provider

Comparison

OpenShift

> OpenShift Free Plan is a REAL FREE one ( No trial, no

contract nor credit card) product, while other PaaS

Providers as Amazon AWS require a credit-card even to

start on free 12Mt plans

> OpenShift Free Plan Account and Features do Not expire

after a Trial periode of 12month, but Amazon AWS does

> OpenShift Online users only get 1GB of Disk-Space For Free plan users, each small gear has 1GB of storage, which

is not expandable. Silver Plan users can expand all gears

> with OpenShift the developer can focus more on the

application implementation, the infrastructure is taken care

of by the provider.

Amazon AWS

> With Amazon AWS you as a developer/administrator have to

invest more time & knowhow build on Infrastructure concerns

than when working with OpenShift Online.

> Amazon AWS (Free Tier) get 5GB Amazon S3 Storage ,

which gives “a bit more air” (less quota issues than on

OpenShift), despite the fact that AWS free resources expire

after the 12month Free Tier plan!

> Getting an (existing) application up&running in the Amazon

AWS Cloud can take much more time, than with the

straightforward approach using RedHat OpenShift Online.

> Amazon AWS does need an Addon or Extra Service for most

things, common Application-Servers like WildFly are not

included (only with Addon, which might costs $)

no Source-Control system available right after App-Setup

but when start with OpenShift its out-of-the-box.

So you end up adding an AWS-Service, a Service,...

Page 21: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud-Development - Starting out with PaaS 21 03/10/2016

PoC-Application for BDS-Project

Page 22: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Developing the App with OpenShift – a Look into

Cloud-Development - Starting out with PaaS 22 03/10/2016

Whats the PoC-App on?

a little Bookstore application to administer and query

books in the store

The PoC-Application Stack

Spring Webapplication, based on Spring-Boot

(Spring-Web, Spring-Data, Spring-Actuator),

having a RESTful-Service for data-queries and admin

on the Bookstore,

the backend is a PostgreSQL-DB and the application

runs on a WildFly AS in the Cloud.

Page 23: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

What‘s with Amazon AWS?

Cloud-Development - Starting out with PaaS 23 03/10/2016

Page 24: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Having a look at the PoC-App in the Clouds…

Cloud-Development - Starting out with PaaS 24 03/10/2016

Page 25: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Conclusion

Cloud-Development - Starting out with PaaS 25 03/10/2016

No Big Environment to setup?

In case you don't look into setting up a BIG

enterprise environment and common infrastructure

is sufficient and don't want to mind infrastructure

setup (and as a developer focus on building your

application), prefer OpenShift to Amazon AWS.

In if there is a complex Environment?

You might wanna try out the Amazon Services

Universe…

Focus on App-Development ?

OpenShift Online provides straightforward and easy

approaches to start out with Cloud-Development in the

PaaS area, the infrastructure aspect is taken care of

by the provider.

Using JBoss or going for PoC-App ?

Use OpenShift, it‘s quicker to start out.

Common Application-Server like WildFly are included

(no need for Marketplace Addons, which costs $) and

after Application Setup your GIT Source-Control Repo

is out-of-the-box right at hand from the start,

and your ready to go...

Starting out

with PaaS

Page 26: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Cloud-Development - Starting out with PaaS 26 03/10/2016

Further information…

The PaaS-Providers on this BDS-Project:

OpenShift Online

> Comparing OpenShift Online 2 and 3

AWS Elastic Beanstalk

IBM Bluemix

The Developer report on this project for more

and detailed insight.

Cloud PoC-Application developed in this BDS-project is available in

the Clouds here:

With Red Hat OpenShift: http://springrest-tri4cloud.rhcloud.com/

With Amazon AWS: http://springrest-aws-tom.eu-central-

1.elasticbeanstalk.com/

Page 27: Trivadis TechEvent 2016 Cloud-Development - Starting out with PaaS - a developers report by Martin Zingg

Thanks for your attention. Martin Zingg

Consultant

Tel. +41 58 459 57 98

[email protected]

03/10/2016 Cloud-Development - Starting out with PaaS 27