SlideShare a Scribd company logo
Welcome to DevConnect 2016
Before we begin
Download our event application to plan your day, participate in on-site
activity and more: http://ibm.biz/dcmobile
Labs have been emailed in a GoogleDoc and can also be accessed by
the app. Please note the pre-reqs for the Build Your Own Cognitive App
this afternoon.
Morning Sessions
Registration + Breakfast
Welcome + Intro
The App Evolution Continues
Building Next Gen Applications and Microservices
DEMO LAB: Getting familiar with Cloud Foundry and
the Bluemix platform
BREAK
Practical DevOps in a Hybrid World
DEMO LAB: Using DevOps Services on Bluemix
LUNCH
IBM DeveloperConnect Workshop Agenda
Afternoon Sessions
BREAKOUT SESSIONS
Room #1 INSTRUCTOR LED LABL
Build your own Cognitive App
with Watson and Node.js
Room #2 Roadmap to optimize the app evolution
– IBM Design Thinking
BREAK
Horizon Watch: Swift
DEMO LAB: Write, build, and deploy using Containers
Open Q&A
CLOSING – THANK YOU FOR JOINING US!
The App Evolution Continues
Cloud Centric Design
What has changed?
Cloud not ready
Cloud light
Cloud centric
Cloud native
Cloud enabled
Intended for the cloud. Using
highly specific cloud features
Application moved to the
cloud but uses minimal
cloud features
Application with
increases utilization of
cloud features
Born on the cloud.
Maximizes features of the
cloud.
Applications tied to legacy
infrastructures, runtimes
and designs
Levels of apps
‘cloudification’
How well your application fits the cloud?
Bimodal IT
Understanding Bimodal IT
Brief review
Code
Data
Runtime
Middleware
OS
Compute
Code
Data
Runtime
Middleware
OS
Compute
Custom Managed
Platform Managed
Code
Data
Runtime
Middleware
OS
Compute
Bare metal
Code
Data
Runtime
Middleware
OS
Compute
Containers
On Premises / Cloud Enabled Cloud Native
Platform as
a Service
Infrastructure
as a Service
Code
Data
Runtime
Middleware
OS
Compute
Serverless
Architectural patterns Components, Platforms & Products Methods & Approaches
2.
 Standards
 Platforms
 Containers
 NoSQL DBs
 Languages
1.
 The 12 factor app
 Reactive frameworks
 Microservices
 APIs
3.
 Design Thinking
 Agile
 DevOps
 Hybrid Cloud
 Self service & Automation
12 factor app
manifesto
The Reactive
manifesto
http://12factor.net/ http://www.reactivemanifesto.org/
Microservices
Application architected as a suite of small services,
each running in its own process, and communicating with lightweight mechanisms
Monolithic Microservices
01010101110
10101010101
01010101010
10101010101
01101010110
1010101010
01010101110
10101010101
01010101010
10101010101
01101010110
1010101010
API
API
Microservices
Application architected as a suite of small services,
each running in its own process, and communicating with lightweight mechanisms
Monolithic Microservices
01010101110
10101010101
01010101010
10101010101
01101010110
1010101010
01010101110
10101010101
01010101010
10101010101
01101010110
1010101010
01010101110
10101010101
01010101010
10101010101
01101010110
1010101010
Scaling
01010101110
10101010101
01010101010
10101010101
01101010110
1010101010
01010101110
10101010101
01010101010
10101010101
01101010110
1010101010
01010101110
10101010101
01010101010
10101010101
01101010110
1010101010
API
API
Scaling
Why Microservices?
Agility
• Services evolve independently and at difference speeds
• Easier to adopt new technology and evolve architecture
• Enables continuous delivery
Resilience
• Use services boundaries for fault tolerance and isolation
• Design for failure
Runtime scalability
• Stateless services designed for horizontal scalability
• Services can be scaled independently
Dev organization scalability
• Easier to develop services in parallel
• Smaller working set for each developer
APIs
APIs allows for easy, quick and dynamic access to the business content of your application.
API is a glue between Microservices.
Attributes of an API
Consumer driven
Defined by Configuration
Self Service
Fast, Easy
Fine-grained, Does one thing
Focus on ease of consumption
Easy access to Tasks / Data
Business Asset Owner
Service Intent:
How can I effectively expose
data / functions of my Business
Asset
Application Designer
API Intent:
How can I quickly and
easily access specific data
APIConsumerAPIProvider
Applications
A Consuming Application uses one or more APIs
API’s
An API productizes specific tasks of a service
Multiple APIs can be “leveraged” from the same service
Services
A Service exposes a function of an Business Asset
Multiple Services can be “derived” from a Business Asset
Business Assets
Can provide multiple functions
Attributes of a Service
Provider driven
Defined by Coding
On-boarding
Managed Change, Stability
Medium-Grained, Does several things
Focus on connectivity, reuse
Expose Functions for broad use
Architectural patterns Components, Platforms & Products Methods & Approaches
2.
 Standards
 Platforms
 Containers
 NoSQL DBs
 Languages
1.
 The 12 factor app
 Reactive frameworks
 Microservices
 APIs
3.
 Design Thinking
 Agile
 DevOps
 Hybrid Cloud
 Self service & Automation
Standards: OpenStack & CloudFoundry
Cloud related standards allow for interoperability, portability, automation and
easier maintenace and development of the cloud applications.
Applications
Data
Runtime
Middleware
O/S
Virtualization
Servers
Storage
Networking
 Software to manage compute,
network, and storage for cloud
 The foundation of IBM’s IaaS
interoperability
 Over 20k participants, 400
companies: Larger than Linux
 Built on a highly scalable
distributed architecture
 The basis for IBM Bluemix
 De facto open PaaS platform
 Foundation established Dec. 2014; DEA Pools
Router
User Authentication &
Authorization
Cloud
Controller
Health
Manager
Service
Gateway Apps
Build Packs
Service
Connector
Messaging
Cloud Foundry BOSH
Nova
Compute node
KeyStone
Idenity service
Swift
Object Store
Neuron
Networking
Glance
Image Store
Cinder
Volume service
Horizon
Dashboard
https://www.openstack.org/
https://www.cloudfoundry.org
OAuth
Standards (continued)
Platforms: Bluemix & other PaaS
PaaS aims at make cloud developer life easier. It handles many requirements automatically
allowing developer to focus on coding business logic.
 An implementation of IBM's Open
Cloud Architecture based on
Cloud Foundry
 Delivers enterprise-level services
that can easily integrate with your
cloud applications without you
needing to know how to install or
configure them.
 Enables organizations and
developers to quickly and easily
create, deploy, and manage
applications on the cloud.
What is Bluemix? Bluemix features Bluemix services
 Containers
 Buildpacks
 Boilerplates
 Virtual Machines
 Monitoring
 Management Console
 API Management
 Auto scaling
 DevOps support
 Lots of services from IBM & 3rd parties
Watson
Mobile
DevOps
Web
Applications
IoT
Integration
Big
Data
Data
Management
Security
Business Analytics
Check the service catalog online:
https://console.ng.bluemix.net/?direct=classic/#/store/cloudOEPaneId=store
More information:
https://console.ng.bluemix.net/
Containers
Containers are relatively new concept allowing for
convenient packaging your developments and „shipping” them to any destination.
Run
Any App
Anywhere
What is a Container?
App
A
App
A’
App
B
Bins /
Libs
Bins /
Libs
Bins /
Libs
Guest
OS
Guest
OS
Guest
OS
Hypervisor (Type 2)
Host OS
Server
AppA
Bins /
Libs
Bins /
Libs
Host OS
Server
AppA’
AppB’’
AppB
AppB’
Docker
Containers are isolated but share OS and,
where appropriate, bins/libraries.
It results in significantly faster deployment, much less
overhead, easier migration & faster restart
Docker
VMs
 Image repository
 Image authoring
 Multi-container deployment
 Image signing
 Image Distribution
 Declarative model for deploy
 Container relationships
 Deploy/Manage containers
 Engine monitoring
 Image lifecycle management
 Business policy for deployment
https://www.docker.com/
NoSQL & Languages
New tools and programming languages increasing productivity,
responsiveness and easiness of development.
NoSQL Languages
NoSQL (also translated as Not Only SQL)
are the databases which allows you to
store other structures than
records/columns.
GeoSpacial data
010101011
101010101
010101010
101010101
010101010
110101011
Documents
Graphs
Key-Value
.swift
Architectural patterns Components, Platforms & Products Methods & Approaches
2.
 Standards
 Platforms
 Containers
 NoSQL DBs
 Languages
1.
 The 12 factor app
 Reactive frameworks
 Microservices
 APIs
3.
 Design Thinking
 Agile
 DevOps
 Hybrid Cloud
 Self service & Automation
Methods
Cloud development is about speed, agility and user experience.
Waterfall is not enough anymore…
Requirements Design Delivery OperationsGAP! GAP! GAP!
 How to „discover” & capture the real
users requirements?
 Is the list of a 1000+ functional
requirements useful?
„ 400 features? No human would be able to use
software with that level of complexity” - Dilbert
 How to assure that the developer’s
understanding of requirements is aligned
with the end user?
 How to include user feedback into
development process?
 How to make sure that bugs are fixed
almost instantly?
 How to make your solution „alive” and
responsive to the new requirements?
Design Thinking
It is a formal method for practical,
creative resolution of problems and
creation of solutions, with the intent of
an improved future result.
It focuses on user and the way how the
solution will be used rather then on
requirements.
Agile
It is a group of software development
methods in which requirements and
solutions evolve through collaboration
between self-organizing, cross-
functional teams. It allows for bringing
the user into the development process.
DevOps
It is a software development method
that stresses communication,
collaboration, integration, automation, &
measurement of cooperation between
development & operations team. It
brings together people who build with
people who run the solution.
https://design.ibm.com/thinking.html https://en.wikipedia.org/wiki/Agile_software_development http://www.ibm.com/ibm/devops/us/en/
Hybrid Cloud
Hybrid cloud demands portable architecture.
Cloud apps should be able to run everywhere.
Cloud is not a specific solution,
platform nor product.
Cloud is a new way in which IT solutions
are delivered & consumed by Business.
Private Cloud & IT
Pros:
• Full control
• Advanced management
• Strong security
IBM PoV: Hybrid Cloud
The best features from both worlds
Maximization of investment
Matching infrastructure with application
Balance between security and elasticity
Equalized investment (Capex vs. Opex)
Shorter innovation cycles
Pros:
• Low entry costs
• Pay-per-use,
• Elasticity
Off-premises / Public Cloud
Dynamic Hybrid
Hybrid Cloud+
Cloudbursting
Cloudmigration
Cloudintegration
While developing for
the cloud do consider:
Self service and Automation
Cloud heavily relays on automation. Now developers can use many tools
for automated provisioning, management and deployment of their code.
One of the most well-known cloud infrastructure
automation tools, Chef delivers configuration
management and continuous delivery. By turning
infrastructure into code, Chef helps cloud engineers
and IT professionals automate infrastructure build,
deployment, and management.
Puppet is the configuration management system that
enables cloud engineers and IT professionals to
define the state of their IT infrastructure and then
automatically enforces the correct state. Puppet
automates time-consuming manual tasks.
Some other tools are described here: https://blog.profitbricks.com/48-best-cloud-tools-for-infrastructure-automation/
Jenkins is an application that monitors executions of
repeated jobs, such as building a software project or
jobs run by cron. It helps with building/testing
software projects continuously and monitoring
executions of externally-run jobs.
UrbanCode is a tool for automating application
deployments through your environments. It is
designed to facilitate rapid feedback and continuous
delivery in agile development while providing the
audit trails, versioning and approvals needed in
production.
IBM Cloud Orchestrator provides cloud management
for your IT services, allowing you to accelerate the
delivery of software and infrastructure. Based on
open standards, it reduces the number of steps to
manage public, private and hybrid clouds by using
an easy-to-use interface.
Bluemix Delivery Pipeline service automates builds
and deployments, test execution, configure build
scripts, and automate execution of unit tests.
And many many more…
Is your application cloud centric/native/ready?
If you are not sure… use Chaos Monkey –
if your overall solution survives this encounter, you are good to go!
https://github.com/Netflix/SimianArmy/wiki/Chaos-Monkey
„Chaos Monkey is a service
which identifies groups of
systems and randomly
terminates one of the systems
in a group.”
Thank you!

More Related Content

PDF
WP_ModernAppArchitecture_07.18.2016
PDF
Droid con berlin_the_bb10_android_runtime
PDF
Ibm empresa movil
PDF
Codecentric At Ajax World Conference San Jose
PDF
Re-­Think Mobile… Beyond Mobile­‐First: Oracle Mobile Strategy and Overview
PPTX
Bluemix overview - UK WebSphere Integration User Group
PDF
webinos and Open Ecosystems Open Governance
PPTX
Multi channel advantage
WP_ModernAppArchitecture_07.18.2016
Droid con berlin_the_bb10_android_runtime
Ibm empresa movil
Codecentric At Ajax World Conference San Jose
Re-­Think Mobile… Beyond Mobile­‐First: Oracle Mobile Strategy and Overview
Bluemix overview - UK WebSphere Integration User Group
webinos and Open Ecosystems Open Governance
Multi channel advantage

What's hot (20)

PDF
Enterprise Mobile Development Best Practices for 2015
PPTX
Kony Development Cloud
PDF
BBM Social Platform and App Monetization
PDF
Kony-Cognizant Webinar: Finding the Silver Bullet in Retail Mobility
PPTX
Magic xpa total mobility experience
PDF
Android Deep Dive
PDF
IBM BlueMix Architecture and Deep Dive (Powered by CloudFoundry)
PDF
HTML5 Mobile Web Framework - High Level Design
PDF
Blackberry_runtime_for_android_apps
PPTX
Keynote at Home Automation/ IoT Telecom Council conference
PDF
Darron_Haworth_2016
PDF
Mobile Portal Enabler With Content Creation Distribution Capabilities
PDF
Oracle Mobile Cloud Service
PDF
When Mobile (Android) met Cloud
PDF
Cloud Foundry May 1 2014
PDF
Acquia Platform Update: New Features and Capabilities
PDF
V-mobile | Mobile App Development Company
PDF
Luis Martins
PPT
Cloud foundry meetup 12112013
PPTX
MWLUG Bluemix
Enterprise Mobile Development Best Practices for 2015
Kony Development Cloud
BBM Social Platform and App Monetization
Kony-Cognizant Webinar: Finding the Silver Bullet in Retail Mobility
Magic xpa total mobility experience
Android Deep Dive
IBM BlueMix Architecture and Deep Dive (Powered by CloudFoundry)
HTML5 Mobile Web Framework - High Level Design
Blackberry_runtime_for_android_apps
Keynote at Home Automation/ IoT Telecom Council conference
Darron_Haworth_2016
Mobile Portal Enabler With Content Creation Distribution Capabilities
Oracle Mobile Cloud Service
When Mobile (Android) met Cloud
Cloud Foundry May 1 2014
Acquia Platform Update: New Features and Capabilities
V-mobile | Mobile App Development Company
Luis Martins
Cloud foundry meetup 12112013
MWLUG Bluemix
Ad

Viewers also liked (9)

DOC
Sample outreach email
DOCX
Mpls trabajo final
PPTX
ELEC2 - Lecture 1
PPS
FW: A lesson to be learnt
PDF
Impact budgétaire de l'immigration en France, Xavier Chojnicki - 03/2011
PPTX
Nitesh estates
PDF
Weekly Reversal Levels for May 2, 2015
DOCX
Tutorial de server
PDF
Sample outreach email
Mpls trabajo final
ELEC2 - Lecture 1
FW: A lesson to be learnt
Impact budgétaire de l'immigration en France, Xavier Chojnicki - 03/2011
Nitesh estates
Weekly Reversal Levels for May 2, 2015
Tutorial de server
Ad

Similar to The App Evolution Continues (20)

PPTX
App Development Evolution: What has changed?
PPTX
App Development Evolution: What has changed?
PPTX
The App Evolution
PDF
The App Evolution
PDF
Cloud Native Patterns with Bluemix Developer Console
PDF
Build Event-Driven Microservices with Confluent Cloud Workshop #1
DOCX
Ibm bluemix
PDF
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
PDF
Soa12c launch 1 overview cr
PPTX
Introduction to micro-services @DevOps pune Meetup
DOCX
Mahesh_Dimble
PPTX
UGIdotNET App Modernisation Keynote
PDF
Red Hat Openshift on Microsoft Azure
PPTX
Chapter VI -CLOUD NATIVE AND EMERGENT TRENDS.pptx
PPTX
Cloud computing for microprocessor tools
PDF
IBM Bluemix
PDF
Microservices - How Microservices Have Changed and Why They Matter
PDF
Exploring Cloud Native Architecture: Its Benefits And Key Components
PDF
Building Cloud Native Applications with Oracle Autonomous Database.
PDF
Cloud Native Architecture: Its Benefits and Key Components
App Development Evolution: What has changed?
App Development Evolution: What has changed?
The App Evolution
The App Evolution
Cloud Native Patterns with Bluemix Developer Console
Build Event-Driven Microservices with Confluent Cloud Workshop #1
Ibm bluemix
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Soa12c launch 1 overview cr
Introduction to micro-services @DevOps pune Meetup
Mahesh_Dimble
UGIdotNET App Modernisation Keynote
Red Hat Openshift on Microsoft Azure
Chapter VI -CLOUD NATIVE AND EMERGENT TRENDS.pptx
Cloud computing for microprocessor tools
IBM Bluemix
Microservices - How Microservices Have Changed and Why They Matter
Exploring Cloud Native Architecture: Its Benefits And Key Components
Building Cloud Native Applications with Oracle Autonomous Database.
Cloud Native Architecture: Its Benefits and Key Components

More from Paula Peña (She, Her, Hers) (7)

PDF
Getting Started with Cloud Foundry on Bluemix
PPTX
Building Next Gen Applications and Microservices
PPTX
Bluemix DevOps Services
PPTX
Bluemix Garage Method
PPTX
Blockchain Explained for Devlopers
PDF
Building an IOT app using MQTT
PDF
Offline-First Apps with PouchDB
Getting Started with Cloud Foundry on Bluemix
Building Next Gen Applications and Microservices
Bluemix DevOps Services
Bluemix Garage Method
Blockchain Explained for Devlopers
Building an IOT app using MQTT
Offline-First Apps with PouchDB

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Cloud computing and distributed systems.
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
cuic standard and advanced reporting.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Approach and Philosophy of On baking technology
PPTX
Big Data Technologies - Introduction.pptx
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Cloud computing and distributed systems.
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Unlocking AI with Model Context Protocol (MCP)
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
cuic standard and advanced reporting.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
20250228 LYD VKU AI Blended-Learning.pptx
Electronic commerce courselecture one. Pdf
Approach and Philosophy of On baking technology
Big Data Technologies - Introduction.pptx

The App Evolution Continues

  • 1. Welcome to DevConnect 2016 Before we begin Download our event application to plan your day, participate in on-site activity and more: http://ibm.biz/dcmobile Labs have been emailed in a GoogleDoc and can also be accessed by the app. Please note the pre-reqs for the Build Your Own Cognitive App this afternoon.
  • 2. Morning Sessions Registration + Breakfast Welcome + Intro The App Evolution Continues Building Next Gen Applications and Microservices DEMO LAB: Getting familiar with Cloud Foundry and the Bluemix platform BREAK Practical DevOps in a Hybrid World DEMO LAB: Using DevOps Services on Bluemix LUNCH IBM DeveloperConnect Workshop Agenda Afternoon Sessions BREAKOUT SESSIONS Room #1 INSTRUCTOR LED LABL Build your own Cognitive App with Watson and Node.js Room #2 Roadmap to optimize the app evolution – IBM Design Thinking BREAK Horizon Watch: Swift DEMO LAB: Write, build, and deploy using Containers Open Q&A CLOSING – THANK YOU FOR JOINING US!
  • 3. The App Evolution Continues Cloud Centric Design What has changed?
  • 4. Cloud not ready Cloud light Cloud centric Cloud native Cloud enabled Intended for the cloud. Using highly specific cloud features Application moved to the cloud but uses minimal cloud features Application with increases utilization of cloud features Born on the cloud. Maximizes features of the cloud. Applications tied to legacy infrastructures, runtimes and designs Levels of apps ‘cloudification’ How well your application fits the cloud?
  • 7. Brief review Code Data Runtime Middleware OS Compute Code Data Runtime Middleware OS Compute Custom Managed Platform Managed Code Data Runtime Middleware OS Compute Bare metal Code Data Runtime Middleware OS Compute Containers On Premises / Cloud Enabled Cloud Native Platform as a Service Infrastructure as a Service Code Data Runtime Middleware OS Compute Serverless
  • 8. Architectural patterns Components, Platforms & Products Methods & Approaches 2.  Standards  Platforms  Containers  NoSQL DBs  Languages 1.  The 12 factor app  Reactive frameworks  Microservices  APIs 3.  Design Thinking  Agile  DevOps  Hybrid Cloud  Self service & Automation
  • 9. 12 factor app manifesto The Reactive manifesto http://12factor.net/ http://www.reactivemanifesto.org/
  • 10. Microservices Application architected as a suite of small services, each running in its own process, and communicating with lightweight mechanisms Monolithic Microservices 01010101110 10101010101 01010101010 10101010101 01101010110 1010101010 01010101110 10101010101 01010101010 10101010101 01101010110 1010101010 API API
  • 11. Microservices Application architected as a suite of small services, each running in its own process, and communicating with lightweight mechanisms Monolithic Microservices 01010101110 10101010101 01010101010 10101010101 01101010110 1010101010 01010101110 10101010101 01010101010 10101010101 01101010110 1010101010 01010101110 10101010101 01010101010 10101010101 01101010110 1010101010 Scaling 01010101110 10101010101 01010101010 10101010101 01101010110 1010101010 01010101110 10101010101 01010101010 10101010101 01101010110 1010101010 01010101110 10101010101 01010101010 10101010101 01101010110 1010101010 API API Scaling Why Microservices? Agility • Services evolve independently and at difference speeds • Easier to adopt new technology and evolve architecture • Enables continuous delivery Resilience • Use services boundaries for fault tolerance and isolation • Design for failure Runtime scalability • Stateless services designed for horizontal scalability • Services can be scaled independently Dev organization scalability • Easier to develop services in parallel • Smaller working set for each developer
  • 12. APIs APIs allows for easy, quick and dynamic access to the business content of your application. API is a glue between Microservices. Attributes of an API Consumer driven Defined by Configuration Self Service Fast, Easy Fine-grained, Does one thing Focus on ease of consumption Easy access to Tasks / Data Business Asset Owner Service Intent: How can I effectively expose data / functions of my Business Asset Application Designer API Intent: How can I quickly and easily access specific data APIConsumerAPIProvider Applications A Consuming Application uses one or more APIs API’s An API productizes specific tasks of a service Multiple APIs can be “leveraged” from the same service Services A Service exposes a function of an Business Asset Multiple Services can be “derived” from a Business Asset Business Assets Can provide multiple functions Attributes of a Service Provider driven Defined by Coding On-boarding Managed Change, Stability Medium-Grained, Does several things Focus on connectivity, reuse Expose Functions for broad use
  • 13. Architectural patterns Components, Platforms & Products Methods & Approaches 2.  Standards  Platforms  Containers  NoSQL DBs  Languages 1.  The 12 factor app  Reactive frameworks  Microservices  APIs 3.  Design Thinking  Agile  DevOps  Hybrid Cloud  Self service & Automation
  • 14. Standards: OpenStack & CloudFoundry Cloud related standards allow for interoperability, portability, automation and easier maintenace and development of the cloud applications. Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking  Software to manage compute, network, and storage for cloud  The foundation of IBM’s IaaS interoperability  Over 20k participants, 400 companies: Larger than Linux  Built on a highly scalable distributed architecture  The basis for IBM Bluemix  De facto open PaaS platform  Foundation established Dec. 2014; DEA Pools Router User Authentication & Authorization Cloud Controller Health Manager Service Gateway Apps Build Packs Service Connector Messaging Cloud Foundry BOSH Nova Compute node KeyStone Idenity service Swift Object Store Neuron Networking Glance Image Store Cinder Volume service Horizon Dashboard https://www.openstack.org/ https://www.cloudfoundry.org
  • 16. Platforms: Bluemix & other PaaS PaaS aims at make cloud developer life easier. It handles many requirements automatically allowing developer to focus on coding business logic.  An implementation of IBM's Open Cloud Architecture based on Cloud Foundry  Delivers enterprise-level services that can easily integrate with your cloud applications without you needing to know how to install or configure them.  Enables organizations and developers to quickly and easily create, deploy, and manage applications on the cloud. What is Bluemix? Bluemix features Bluemix services  Containers  Buildpacks  Boilerplates  Virtual Machines  Monitoring  Management Console  API Management  Auto scaling  DevOps support  Lots of services from IBM & 3rd parties Watson Mobile DevOps Web Applications IoT Integration Big Data Data Management Security Business Analytics Check the service catalog online: https://console.ng.bluemix.net/?direct=classic/#/store/cloudOEPaneId=store More information: https://console.ng.bluemix.net/
  • 17. Containers Containers are relatively new concept allowing for convenient packaging your developments and „shipping” them to any destination. Run Any App Anywhere What is a Container? App A App A’ App B Bins / Libs Bins / Libs Bins / Libs Guest OS Guest OS Guest OS Hypervisor (Type 2) Host OS Server AppA Bins / Libs Bins / Libs Host OS Server AppA’ AppB’’ AppB AppB’ Docker Containers are isolated but share OS and, where appropriate, bins/libraries. It results in significantly faster deployment, much less overhead, easier migration & faster restart Docker VMs  Image repository  Image authoring  Multi-container deployment  Image signing  Image Distribution  Declarative model for deploy  Container relationships  Deploy/Manage containers  Engine monitoring  Image lifecycle management  Business policy for deployment https://www.docker.com/
  • 18. NoSQL & Languages New tools and programming languages increasing productivity, responsiveness and easiness of development. NoSQL Languages NoSQL (also translated as Not Only SQL) are the databases which allows you to store other structures than records/columns. GeoSpacial data 010101011 101010101 010101010 101010101 010101010 110101011 Documents Graphs Key-Value .swift
  • 19. Architectural patterns Components, Platforms & Products Methods & Approaches 2.  Standards  Platforms  Containers  NoSQL DBs  Languages 1.  The 12 factor app  Reactive frameworks  Microservices  APIs 3.  Design Thinking  Agile  DevOps  Hybrid Cloud  Self service & Automation
  • 20. Methods Cloud development is about speed, agility and user experience. Waterfall is not enough anymore… Requirements Design Delivery OperationsGAP! GAP! GAP!  How to „discover” & capture the real users requirements?  Is the list of a 1000+ functional requirements useful? „ 400 features? No human would be able to use software with that level of complexity” - Dilbert  How to assure that the developer’s understanding of requirements is aligned with the end user?  How to include user feedback into development process?  How to make sure that bugs are fixed almost instantly?  How to make your solution „alive” and responsive to the new requirements? Design Thinking It is a formal method for practical, creative resolution of problems and creation of solutions, with the intent of an improved future result. It focuses on user and the way how the solution will be used rather then on requirements. Agile It is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross- functional teams. It allows for bringing the user into the development process. DevOps It is a software development method that stresses communication, collaboration, integration, automation, & measurement of cooperation between development & operations team. It brings together people who build with people who run the solution. https://design.ibm.com/thinking.html https://en.wikipedia.org/wiki/Agile_software_development http://www.ibm.com/ibm/devops/us/en/
  • 21. Hybrid Cloud Hybrid cloud demands portable architecture. Cloud apps should be able to run everywhere. Cloud is not a specific solution, platform nor product. Cloud is a new way in which IT solutions are delivered & consumed by Business. Private Cloud & IT Pros: • Full control • Advanced management • Strong security IBM PoV: Hybrid Cloud The best features from both worlds Maximization of investment Matching infrastructure with application Balance between security and elasticity Equalized investment (Capex vs. Opex) Shorter innovation cycles Pros: • Low entry costs • Pay-per-use, • Elasticity Off-premises / Public Cloud Dynamic Hybrid Hybrid Cloud+ Cloudbursting Cloudmigration Cloudintegration While developing for the cloud do consider:
  • 22. Self service and Automation Cloud heavily relays on automation. Now developers can use many tools for automated provisioning, management and deployment of their code. One of the most well-known cloud infrastructure automation tools, Chef delivers configuration management and continuous delivery. By turning infrastructure into code, Chef helps cloud engineers and IT professionals automate infrastructure build, deployment, and management. Puppet is the configuration management system that enables cloud engineers and IT professionals to define the state of their IT infrastructure and then automatically enforces the correct state. Puppet automates time-consuming manual tasks. Some other tools are described here: https://blog.profitbricks.com/48-best-cloud-tools-for-infrastructure-automation/ Jenkins is an application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. It helps with building/testing software projects continuously and monitoring executions of externally-run jobs. UrbanCode is a tool for automating application deployments through your environments. It is designed to facilitate rapid feedback and continuous delivery in agile development while providing the audit trails, versioning and approvals needed in production. IBM Cloud Orchestrator provides cloud management for your IT services, allowing you to accelerate the delivery of software and infrastructure. Based on open standards, it reduces the number of steps to manage public, private and hybrid clouds by using an easy-to-use interface. Bluemix Delivery Pipeline service automates builds and deployments, test execution, configure build scripts, and automate execution of unit tests. And many many more…
  • 23. Is your application cloud centric/native/ready? If you are not sure… use Chaos Monkey – if your overall solution survives this encounter, you are good to go! https://github.com/Netflix/SimianArmy/wiki/Chaos-Monkey „Chaos Monkey is a service which identifies groups of systems and randomly terminates one of the systems in a group.”

Editor's Notes

  • #10: I. Codebase :: One codebase tracked in revision control, many deploys II. Dependencies :: Explicitly declare and isolate dependencies III. Config :: Store config in the environment IV. Backing services :: Treat backing services as attached resources V. Build, release, run :: Strictly separate build and run stages VI. Processes :: Execute the app as one or more stateless processes VII. Port binding :: Export services via port binding VIII. Concurrency :: Scale out via the process model IX. Disposability :: Maximize robustness with fast startup and graceful shutdown X. Dev/prod parity :: Keep development, staging, and production as similar as possible XI. Logs :: Treat logs as event streams XII. Admin processes :: Run admin/management tasks as one-off processes