SlideShare a Scribd company logo
1 of 21
Download to read offline
App Development Evolution
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
The practice of managing two separate but coherent styles of work,
one focused on predictability and the other on exploration
Source: Gartner (April 2015)
System of
Engagement
System of
Record
3
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
Hirizon
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
.java
.js
.go
.php
.rb
.py
.net
.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

What's hot

Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Darryl Nelson
 
Re Inventing Enterprise IT around APIs and Apps
Re Inventing Enterprise IT around APIs and AppsRe Inventing Enterprise IT around APIs and Apps
Re Inventing Enterprise IT around APIs and Apps
WSO2
 

What's hot (20)

Convergence of Integration and Application Development
Convergence of Integration and Application DevelopmentConvergence of Integration and Application Development
Convergence of Integration and Application Development
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServices
 
Cloud native integration
Cloud native integrationCloud native integration
Cloud native integration
 
VMware Developer Center --One Pager
VMware Developer Center --One PagerVMware Developer Center --One Pager
VMware Developer Center --One Pager
 
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
 
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
 
Re Inventing Enterprise IT around APIs and Apps
Re Inventing Enterprise IT around APIs and AppsRe Inventing Enterprise IT around APIs and Apps
Re Inventing Enterprise IT around APIs and Apps
 
Ibm empresa movil
Ibm empresa movilIbm empresa movil
Ibm empresa movil
 
Agile integration architecture in relation to APIs and messaging
Agile integration architecture in relation to APIs and messagingAgile integration architecture in relation to APIs and messaging
Agile integration architecture in relation to APIs and messaging
 
Automating agile integration
Automating agile integrationAutomating agile integration
Automating agile integration
 
Agile Integration eBook from 2018
Agile Integration eBook from 2018Agile Integration eBook from 2018
Agile Integration eBook from 2018
 
Hybrid integration reference architecture
Hybrid integration reference architectureHybrid integration reference architecture
Hybrid integration reference architecture
 
ConnectED2015: IBM Domino Applications in Bluemix
ConnectED2015: 	IBM Domino Applications in BluemixConnectED2015: 	IBM Domino Applications in Bluemix
ConnectED2015: IBM Domino Applications in Bluemix
 
Microservices = Death of the Enterprise Service Bus (ESB)?
Microservices = Death of the Enterprise Service Bus (ESB)?Microservices = Death of the Enterprise Service Bus (ESB)?
Microservices = Death of the Enterprise Service Bus (ESB)?
 
From Legacy to a Microservices Architecture
From Legacy to a Microservices ArchitectureFrom Legacy to a Microservices Architecture
From Legacy to a Microservices Architecture
 
Power Platform Leeds - November 2019 - Microsoft Ignite Announcements
Power Platform Leeds - November 2019 - Microsoft Ignite AnnouncementsPower Platform Leeds - November 2019 - Microsoft Ignite Announcements
Power Platform Leeds - November 2019 - Microsoft Ignite Announcements
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid Cloud
 
The resurgence of event driven architecture
The resurgence of event driven architectureThe resurgence of event driven architecture
The resurgence of event driven architecture
 
Bluemix DevOps Services
Bluemix DevOps Services Bluemix DevOps Services
Bluemix DevOps Services
 
For loop summit - cheating the developer experience
For loop summit - cheating the developer experienceFor loop summit - cheating the developer experience
For loop summit - cheating the developer experience
 

Viewers also liked

רועי רוב - אני,הוא, הם: קשר, הימורים ותקשורת חזותית
רועי רוב - אני,הוא, הם: קשר, הימורים ותקשורת חזותיתרועי רוב - אני,הוא, הם: קשר, הימורים ותקשורת חזותית
רועי רוב - אני,הוא, הם: קשר, הימורים ותקשורת חזותית
שתים עשרה דקות
 

Viewers also liked (13)

Hybrid Mobile App Development | Hire Application Developers | Application Dev...
Hybrid Mobile App Development | Hire Application Developers | Application Dev...Hybrid Mobile App Development | Hire Application Developers | Application Dev...
Hybrid Mobile App Development | Hire Application Developers | Application Dev...
 
1. Cover Page
1. Cover Page1. Cover Page
1. Cover Page
 
The Art of Social Content Distribution
The Art of Social Content DistributionThe Art of Social Content Distribution
The Art of Social Content Distribution
 
How to create a Facebook Group
How to create a Facebook GroupHow to create a Facebook Group
How to create a Facebook Group
 
Strategy Wars
Strategy WarsStrategy Wars
Strategy Wars
 
3. Body
3. Body3. Body
3. Body
 
Forching y protagonismo conductual
Forching y protagonismo conductualForching y protagonismo conductual
Forching y protagonismo conductual
 
Ipsos Global @dvisor 22: The Economic Pulse of the World - July 2011
Ipsos Global @dvisor 22: The Economic Pulse of the World - July 2011Ipsos Global @dvisor 22: The Economic Pulse of the World - July 2011
Ipsos Global @dvisor 22: The Economic Pulse of the World - July 2011
 
Architecting Your Content For the Unknown Consumer
Architecting Your Content For the Unknown ConsumerArchitecting Your Content For the Unknown Consumer
Architecting Your Content For the Unknown Consumer
 
Ipsos MORI Political Monitor: August 2016
Ipsos MORI Political Monitor: August 2016Ipsos MORI Political Monitor: August 2016
Ipsos MORI Political Monitor: August 2016
 
2. Ack,
2. Ack,2. Ack,
2. Ack,
 
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
 
רועי רוב - אני,הוא, הם: קשר, הימורים ותקשורת חזותית
רועי רוב - אני,הוא, הם: קשר, הימורים ותקשורת חזותיתרועי רוב - אני,הוא, הם: קשר, הימורים ותקשורת חזותית
רועי רוב - אני,הוא, הם: קשר, הימורים ותקשורת חזותית
 

Similar to The App Evolution

!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
GangTingFan
 

Similar to The App Evolution (20)

App Development Evolution: What has changed?
App Development Evolution: What has changed? App Development Evolution: What has changed?
App Development Evolution: What has changed?
 
IBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development StrategyIBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development Strategy
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
The new developer experience
The new developer experienceThe new developer experience
The new developer experience
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key Components
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key Components
 
The App Evolution Continues
The App Evolution ContinuesThe App Evolution Continues
The App Evolution Continues
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
 
Enter the World of PowerApps - Canvas vs. Model-Driven Apps
Enter the World of PowerApps - Canvas vs. Model-Driven AppsEnter the World of PowerApps - Canvas vs. Model-Driven Apps
Enter the World of PowerApps - Canvas vs. Model-Driven Apps
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation Keynote
 
App Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptxApp Modernization Pitch Deck.pptx
App Modernization Pitch Deck.pptx
 
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionA Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices Edition
 
A Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices EditionA Connector, A Container and an API Walk into a Bar… Microservices Edition
A Connector, A Container and an API Walk into a Bar… Microservices Edition
 
Openobject Intro
Openobject IntroOpenobject Intro
Openobject Intro
 
IBM Bluemix
IBM BluemixIBM Bluemix
IBM Bluemix
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and Watson
 

More from Dev_Events

More from Dev_Events (20)

Eclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimesEclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimes
 
Eclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java MicroservicesEclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java Microservices
 
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
 
Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger Lab
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
 
Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8
 
Lean and Easy IoT Applications with OSGi and Eclipse Concierge
Lean and Easy IoT Applications with OSGi and Eclipse ConciergeLean and Easy IoT Applications with OSGi and Eclipse Concierge
Lean and Easy IoT Applications with OSGi and Eclipse Concierge
 
Eclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s ViewEclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s View
 
Node.js – ask us anything!
Node.js – ask us anything! Node.js – ask us anything!
Node.js – ask us anything!
 
Swift on the Server
Swift on the Server Swift on the Server
Swift on the Server
 
Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed? Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed?
 
Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...
 
Tools in Action: Transforming everyday objects with the power of deeplearning...
Tools in Action: Transforming everyday objects with the power of deeplearning...Tools in Action: Transforming everyday objects with the power of deeplearning...
Tools in Action: Transforming everyday objects with the power of deeplearning...
 
Microservices without Servers
Microservices without ServersMicroservices without Servers
Microservices without Servers
 
Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and Bluemix
 
OpenWhisk - Serverless Architecture
OpenWhisk - Serverless Architecture OpenWhisk - Serverless Architecture
OpenWhisk - Serverless Architecture
 
Add Custom Model and ORM to Node.js
Add Custom Model and ORM to Node.jsAdd Custom Model and ORM to Node.js
Add Custom Model and ORM to Node.js
 
Adding User Management to Node.js
Adding User Management to Node.jsAdding User Management to Node.js
Adding User Management to Node.js
 
Creating Sentiment Line Chart with Watson
Creating Sentiment Line Chart with Watson Creating Sentiment Line Chart with Watson
Creating Sentiment Line Chart with Watson
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

The App Evolution

  • 2. 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?
  • 3. Bimodal IT The practice of managing two separate but coherent styles of work, one focused on predictability and the other on exploration Source: Gartner (April 2015) System of Engagement System of Record 3
  • 4. 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
  • 5. 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
  • 6. 12 factor app manifesto The Reactive manifesto http://12factor.net/ http://www.reactivemanifesto.org/
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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 Hirizon Dashboard https://www.openstack.org/ https://www.cloudfoundry.org
  • 13. 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/
  • 14. 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/
  • 15. 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 .java .js .go .php .rb .py .net .swift
  • 16. 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
  • 17. 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/
  • 18. 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:
  • 19. 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…
  • 20. 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

  1. Application Evolution to the Cloud
  2. Another component in the App Dev Evolution
  3. 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
  4. Messaging Rules Processing Database Analytics Logs
  5. API’s and Services are very Different API’s are single, fast and easy Services are larger, provider driven, for broad use
  6. Hadoop – Java based programming framework that supports the processing of large datasets in a distributed computing environment Open Power – Collaboration around Power architecture products initiated by IBM. Opening up the technology surrounding Power architecture Open Daylight – Software Defined Network allows admins to manage network services through abstraction of higher level functionality
  7. Private Cloud & IT – Internal Data Center Off-premises / Public Cloud
  8. Random failures to test infrastructure during defined times (test before the 3am crash)