Trends and
Cutting Edge
Technologies
3rd Platform Transformation
http://www.idc.com/prodserv/3rd-platform/
Cloud Big Data Mobile Social
4 Pillars
1st Platform
Mainframe, Mini-con & Terminal1951 UNIVAC
1964 IBM System/360
Millions of Users
1965 DEC PDP-8
1969 UNIX
2nd Platform
Hundreds of Millions of User
1983 TCP/IP
1984 PC/AT 5170
Mainframe, Mini-con & Terminal1951 UNIVAC
1964 IBM System/360
Millions of Users
1965 DEC PDP-8
1969 UNIX
LAN/Internet,
Client/Server & PC
3rd Platform
LAN/Internet,
Client/Server & PC
Mobile, Cloud, Big Data,
Social & Mobile Devices
Millions of Apps
Billions of Users
Trillions of Things
1991 Web
1998 Google
1994 Amazon
2004 Facebook
2014 HTML5
2015 HTTP/2
1983 TCP/IP
1984 PC/AT 5170
Mainframe, Mini-con & Terminal1951 UNIVAC
1964 IBM System/360
Millions of Users
1965 DEC PDP-8
1969 UNIX
Hundreds of Millions of User
Keywords
Modern
Web
Big data
Cloud
IoT
DevOps
Modern-Web
Web 1.0
Web 2.0
Modern Web
Web 1.0 (1989-2003)
Simple HTTP & HTML
Web 2.0 (2004-2010)
Web 1.0 + Ajax & Web Services
Modern-Web (2011-)
Web 2.0 + HTML5, Mobile and Cloud
May 2011
How Web and Cloud Computing
Will Drive Your IT Strategies?
Tim O'Reilly
Web 2.0 is
the Design Patterns
and Business Models
for the Next
Generation
of Software
HTML5+CSS3+JavaScript
JavaScript
History
Netscape Navigator 2.0
Brendan Eich
1997
ECMAScript (Ecma-262)
was published
http://www.ecma-international.org/publications/standards/Ecma-
262.htm
European Computer Manufacturers Association
The trend of
JavaScript
is on the rise
Rank of Top Languages
2008-2015
http://venturebeat.com/2015/08/19/here-are-the-top-10-programming-languages-used-on-github/
RedMonk
Programming Languages Ranking
http://redmonk.com/sogrady/2016/02/19/language-rankings-1-16/
The 9 Most In-Demand Programming
Languages of 2016
http://www.codingdojo.com/blog/9-most-in-demand-programming-languages-of-2016/
Developer Survey Results 2016
http://stackoverflow.com/research/developer-survey-2016
The Problems
of Traditional Web Applications
Server-push
Client-pull Architecture
Polling with Ajax
Asynchronous
UPDATE
JavaScript
XMLHttpRequest
Long Polling with Comet
UPDATE
Keep open
HTML5 WebSocket
RFC 6455
The WebSocket Protocol
The C10K Problem
10,000・・・
Thread Model
スレッド
スレッド
スレッド
リクエスト
リクエスト
リクエスト
Webサーバー
Multi Thread & Blocking I/O
Event Loop Model
Single Thread & Non-blocking I/O
イベント・キュー
リクエスト
リクエスト
リクエスト
Webサーバー
イベント・ループ
スレッド
SPA
Single Page Application
Traditional Web Application SPA Web Application
• CRUD
• View
• CRUD
• View
Package Manager
MyProject
Internet
dependency
NPM
https://www.npmjs.com/
Bower
http://bower.io/
made by
Server-sideClient-side
Bower
Package Manager
Task Runner
App
Task Runner
Plugin
• Transpile
• Checking code quality
• Compiling templates
• Combine / Concatenate
• Minify / Compression
• Running tests
• etc…
Automating
Repetitive tasks
Configuration
Plugin
Plugin
http://gruntjs.com/ http://gulpjs.com/
Gulp
Task Runner
Unit Testing
https://karma-runner.github.io/0.13/index.html
http://jasmine.github.io/
https://qunitjs.com/
LAMP to MEAN
Linux
Apache
MySQL
PHP/Perl
MongDB
Express.js
Angular.js
Node.js
Cloud
History
1982 Stanford University
"The Network is the Computer"
Eric Schmidt, Google
2006
"The network will
truly be the computer"
Today we live in the clouds.
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
What is Cloud?
Three Service Models
IaaS (Infrastructure as a Service)
Server & OS
PaaS (Platform as a Service)
Middleware (DB, AP Server, …)
SaaS (Software as a Service)
Application
IaaS Platforms
• Amazon Web Services
• Microsoft Azure
• Salesforce1 Platform
• IBM Softlayer
• Google Cloud Platform
• etc…
PaaS Platforms
• Google App Engine
• Heroku
• RedHat OpenShift
• IBM Bluemix
• Oracle Java Cloud Services
Deployment Models
Public
Cloud
Private
Cloud
Community
Cloud
Hybrid Cloud
2015: State of the Cloud Report
93% of respondents are using clouds
Public Cloud
Only
Private Cloud
Only
30% 5%58%
Public & Private
Cloud Infrastructure
Revenue Growth
1,500
1,000
500
AWS
IBM
Google
AWS
Google
IBM
Microsoft
Salesforce
Q1 2014 Q1 2015
Microsoft
Salesforce
($m)
The Case Example (1)
EC2
Kinesis
DWHStream data
Redshift
BI Tools
Visualization
Filtering
The Case Example (2)
Kinesis
DynamoDB
Redshift
API
LINE
Open Cloud Platform
https://cloudstack.apache.org/
https://www.openstack.org/
Virtualization
PhysicalVirtual
ClusteringVirtualization
VM (Virtual Machine)
Type A: Host OS
Physical Machine
Host OS
H/W
Application
Virtual Machine
VMM (Virtual Machine Monitor)
Virtual HW
Guest OS
Application
Virtual Machine
Application
Virtual HW
Guest OS
Application Application
Type B: Hypervisor
Physical Machine
H/W
Virtual Machine
Hypervisor
Virtual HW
Guest OS
Application
Virtual Machine
Application
Virtual HW
Guest OS
Application Application
Micro Kernel
Virtual
Machine
Type B: Hypervisor
Physical Machine
H/W
Virtual Machine
Hypervisor
Virtual HW
Guest OS
Application
Virtual Machine
Application
Virtual HW
Guest OS
Application Application
Monolithic Kernel
Hypervisor Products
Monolithic Kernel Micro Kernel
Big data
Trends
Oct, 2012
Big data Expo 2012
The 4 V's of Big Data
Growth of the Digital Universe
Zeta byte
How big is the Volume?
2.5EB/day
1,000, 000, 000, 000, 000, 000, 000
KMGTPEZ
Blue-ray
1 Billion
1TB
10,000
250,000
What is Variety?
100TB/day
30PB/day
30TB/day
500TB/day
3 billion
3 billion
“Big data really is about having
insights and making an impact on
your business. If you aren't taking
advantage of the data you're
collecting, then you just have a pile
of data, you don't have big data.”
Big data is
Facebook
The Problems
1TB
2-3 hours
read
Scale Up
The simplest solution
but…
Performance
Cost
Scale Out
・・・
The Best Solution
Apache Hadoop
A framework for the
Distributed processing
http://hadoop.apache.org/
MapReduce
X1
Y1
Z1
X2
Y2
Z2
X3
Y3
Z3
X1
X2
X3
Y1
Y2
Y3
Z1
Z2
Z3
X
Y
Z
Map Reduce
Hadoop MapReduce
Map Phase Reduce PhaseInput Output
Shuffle & Sort
Key Value
Key-Value & MapReduce
Map Phase Reduce Phase
K1 V1 K2
LIST K2 V2
LIST V2
LIST K3 V3
Shuffle & Sort
Ex: Word Count
To
Be
Or
Not
To
Be
1
1
1
1
1
1
Be
Or
To
To
Be
Not
1
1
1
1
1
1
Be
Or
Not
To
1
1
1
1
Map ReduceShuffle & Sort
Input text
To Be Or Not To Be
Be
Or
Not
To
2
1
1
2
1
1
Output
Apache Spark
On Memory Stream Computing
Spark SQL
Spark
Streaming
MLib GraphX
Spark Core
Spark
http://spark.apache.org/
Data
NoSQL
NoSQL Meetup Group (San Francisco : 2009-06) NoSQL EAST (Atlanta : 2009-10)
http://www.meetup.com/SFNoSQL
/
https://nosqleast.com/2009/
Trends
https://blogs.the451group.com/information_management/?s=nosql
https://www.javacodegeeks.com/2014/09/nosql-job-trends-august-
2014.html
IoT
What is IoT?
The Growth of IoT
2020
Raspberry PI
Intel Edison
Intel Curie
Facebook's 10-year Roadmap
https://developers.facebook.com/videos
F8 2016 12 Apr.
Drone, AI, VR/AR
DevOps
What is DevOps?
Dev Ops
Developer & Operations
a culture, movement or practice
emphasizes
the collaboration and
communication
automating the process of software delivery and changes
10+ Deploys Per Day:
Dev and Ops Cooperation at Flickr
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
John Allspaw and Paul Hammond
https://www.youtube.com/watch?v=LdOe18KhtT4
Traditional Thinking
To add new features
To keep the site
stable and fast
Dev Ops
Traditional Thinking
To enable the business
Dev Ops
Tools and Cultures
Dev Ops
Culture
Five Tools
1. Automated infrastructure
2. Shared version control
3. One step build and deploy
4. Feature flags
5. Shared metrics
6. IRC and IM robots
Four Cultures
1. Respect
2. Trust
3. Healthy attitude about failure
4. Avoiding blame
CI Tools
Source code
Repository
Container
Images
User
Test
Infrastructure as a Code
(Immutable Infrastructure
Commit
Detect
Deploy
Pull Test Environment
Production Environment
Development
Trends of DevOps Tools
18% 19%
35%
10%
10% 11%
28% 24%
13% 10% 6% 3%
RightScale 2015 State of the Cloud Report
Use today
Plan to use

Tech