go cloud native with ibm bluemix developer console - gids17

26
Go Cloud Native with Bluemix Developer Console - Mobile Pattern Vidyasagar Machupalli, Offering Manager for Dev Productivity, IBM

Upload: vidyasagar-machupalli

Post on 21-Jan-2018

356 views

Category:

Technology


0 download

TRANSCRIPT

Go Cloud Native with BluemixDeveloper Console - Mobile PatternVidyasagar Machupalli, Offering Manager for Dev Productivity, IBM

VidyasagarMSC.com

@VidyasagarMSC

Agenda• What is Cloud Native• Pattern Overview• Use Case Example• How to deliver it today• Summary

WHAT IS CLOUD NATIVE&

PATTERN OVERVIEW

IBM Bluemix

Agility, Speed Time to Market, Fault Tolerant Apps

Developer Productivity, Using the Right Tool for the Job, Retain and

Hire Talent

Cost Efficiency, Productivity, Apps that Infinitely ScaleInnovation with Cognitive

Embrace Polyglot Programming and Open

Adopt Microservices Architecture & DevOps

Leverage a Cloud Platform Designed for Cloud Native

The Cloud Native Approach

Domain Services Mobile Watson IoT Block

Chain Health Video

Secu

rity

and

Com

plia

nce

Met

hods

& S

ervi

ces

Developer Services

Data & Analytics Integration App Services DevOps

Tooling

Containers Cloud Foundry Event-Driven

Infrastructure Services Compute Storage Network

Let talk about how Bluemix can support Cloud Native

IBM Bluemix, and it's set of domain services, developer services, infrastructure services, partnered with IBM Bluemix Garage services and expertise are the key offerings to help our clients succeed.

7 4/20/17

What are Patterns ?

In software engineering,a software design patternisageneralreusablesolutiontoacommonlyoccurringproblemwithinagivencontextin software design.

Designpatterns areformalizedbestpracticesthattheprogrammercanusetosolvecommonproblemswhendesigninganapplicationorsystem.

https://en.wikipedia.org/wiki/Software_design_pattern

8

Some of the common patterns used in a Cloud Native solution

There are lots more , depending on your adoption of Cloud Native• The following is a summary of the common app patterns for Bluemix this is not a complete list but

a starting point to level set on some basic architecture patterns that you build cloud native solutions with.

– #1 Mobile to Service• Entry level pattern where the Mobile device either Native or Hybrid mobile directly communicates with a High Value

Service.– #2 Mobile or Web to Backend for Frontend

• Entry level pattern when a developer or project needs common logic or multi channel capabilities and abstracts with REST

– #3 Server less Events• The developer is now extending the features of their application and needs to use server less features for async

processing of integration of services.– #4 API Connectivity with Micro Services

• The developer organization is moving to a Micro Service design and needs to manage the API releases and delivery of the services.

– #5 Cognitive• The organization is starting to integrate Cognitive features and APIs

– #6 Internet of Things• The organization is starting to consume data in flight and analyze it with data in store

– #7 Async processing of Cloud Services• The organization is and development teams are starting to apply enterprise patterns for cloud service management,

data offload and storage etc.– #8 Four Tier Forester Architectures

• The organization is using mixed Public, Hybrid and Local and delivering complex Systems of Engagement and Systems of Record

New Developers

Web DevelopersMutli Channel

New Patterns early adopters

Extending new business models

Traditional IBM Customers

Enterprise Cloud Behavior

StartupsMulti Team

A mobile app is a software application developed specifically for use on small, wireless computing devices, such as smartphones and tablets, rather than desktop or laptop computers.• Apple and Google have the

largest market for Mobile Operating Systems

• Often built using Native programming toolset with iOS and Android

What is a Mobile App ?

A BFF is tightly coupled to a specific user experience, and will typically be maintained by the same team as the user interface, thereby making it easier to define and adapt the API to the user interface requirements.• More flexibility for continuous delivery, no

centrally controlled API

• Enables digital channels to evolve quickly and to business needs

• Contains transformational logic, integration logic, app facing API, possibly RPC in nature

What is a Backend for Frontend

Example: Order Management Use Case

Generated SDK System SDK

PushNotifications

IOS, tvOS, Mac (Swift)Android (Java)Cordova HybridHTML5 (JavaScript)

Digital ChannelsUser Layer

Example Omni Channel application service different use end points and requirements , using Cloud Native Micro Services architecture

iOSApp

WebApp

VoiceApp

PublicAPI

iOSBFF

Edge Layer

WebBFF

ChatBFF

APIConnect

IBM Cloud

ProductHandling

(ms)

Business LogicLayer

FoundationalLayer

Orders(ms)

Stock(ms)

Products(ms)

NotificationAction(event)

OrderHandling

(ms)

Cloud NativeService

Cloudant

Elastic Search

Watson Conversation

Storage

REST API

Node.js, Swift, JavaOther polyglot languages

Node.js, Swift, JavaOther polyglot languages

App

IDA

uthentication

App

IDA

uthentication

INTRODUCING THE BLUEMIX DEVELOPER

CONSOLE

A fast way to start your journey towards cloud native application, enabling fast creation of common patterns and integrating with local

dev/test and deploy through dev ops pipelines

13

4/20/17

Project Generation

Bluemix Developer ConsoleValue for Bluemix developers

Blue

mix

Dev

CLI

Bluemix Developer Console

1. Starts with…

Bluemix

Codes …

Check in to…

App

DevOpsOpen Toolchains

Github

Kicks off…

Builds & Deploys…

Developer

Calls …

Generates …

Source Code

IDEOrion, VSCode, Atom, Xcode…

Autoscale Logmet BAM

Integrates with …

Provisions …

Local ContainerLocal container generation and managementLocal build and debug

Project scaffoldingSDK generationService provisioningAPI Model generationSwagger generation

Developerpushcodeintogit

Microservicebuildpipeline

Gatherfeedback

Hourly

Hourly

Release

HourlyDailyWeekly

DeploytoContainers,Clusters,CloudFoundryorServerless

SelectPattern,StarterandLanguage,scaffoldyourstartingpointfast

CIBuild

TestingMonitor

AutomatedTestingusingvariousframeworksandtools

BluemixDeveloperConsole

Developer Lifecycle

Configurepipeline

NPS

LocalDev/Text

Artefactstorage

Codeanalysis

CloudNativePatterns

Testtoolsandframeworks

LETS WALK YOU THROUGH THE EXPERIENCE

IBM has integrated a set of tools and capabilities directly in the IBM Bluemix console and delivered a comprehensive CLI tool to enable you to start your

cloud native story with IBM Cloud

16

Select Web and Mobile from Bluemix Menu

SelectWebandMobile

SelectCreateProject

Create a Project by selecting a patternSelectaStarter,helptogetyougetaproductionreadystartingpoint

16+Starters

Selectyourpattern

SelectyourStarter

Complete Creating your Project

SelectyourLanguage

Bluemix Development Experience + Services + Runtimes + Code Generators = ❤

SDKs

SDKs

APIs

Associate

ServiceCapabilities

withyourproject

21 4/20/17

Scaffold your working code , and run locally in minutes

ClicktoGenerateCode

InstalllocalCLI

Runcodeinalocalcontainer

22 4/20/17

Manage you associated capabilities directly in your project view

Create and Run with Dev CLI

bx dev createx

bx dev runx

Runcodeinalocalcontainer

RunningBFFinminutes

CreateProjectQuicklyusing

CLI

Client SDK ecosystem, automation and quality control

Demo

25

4/20/17

Thankyou