-
Disruptive Technology Trends
Cloud, Mobile, IoT and beyond
Dr Ganesh Neelakanta Iyer
http://ganeshniyer.com
GANESHNIYER
-
2015 Progress Software Corporation. All rights reserved. 2
About Me
B.Tech. in CSE from Mahatma Gandhi University in 2004 with University First Rank
Six years of Industry work experience
Masters and Ph.D. from National University of Singapore
Several talks/workshops in India and USA
Research interests: Cloud computing, Game theory,
Software Quality Analysis, IoT solutions
Personal Interests: Kathakali, Teaching, Traveling,
Photography, Cooking
Website: http://ganeshniyer.com
Currently
Principal Engineer at Progress Software, India
Visiting Faculty at IIIT-H
Adjunct Professor at BVRIT
-
2015 Progress Software Corporation. All rights reserved. 3
Established in 1981 in Boston US
Responsive Web & Data Visualization UX Toolbox I UI Widgets
Full-lifecycle
Mobile
Development
Platform
Contemporary
CMS for high-
fidelity Web
Sites
ALM & testing for
mobile, web and
desktop applications
Data connectivity and integration to any cloud or on-premise data source
Deployment
Platform for
code style
apps
Low-code RAD
for Cloud
Applications
Flexible deployment
on public, private,
hybrid or on-premise
FBI
http://www.progress.com/customers/perohttp://www.progress.com/customers/ebayhttp://www.progress.com/customers/core-computer-grouphttp://www.progress.com/customers/fresherphttp://www.progress.com/customers/t-mobile
-
2015 Progress Software Corporation. All rights reserved. 4
Technology (R)evolution
-
2015 Progress Software Corporation. All rights reserved. 6
Outline
Introduction Current day technology landscape
Cloud Computing
Mobile Clouds
Internet of Things
Future???
-
2015 Progress Software Corporation. All rights reserved. 7
Cloud demystified: IaaS, PaaS, aPaaS & SaaS models
-
2015 Progress Software Corporation. All rights reserved. 8
A quarter century ago, John Gage (Sun
Microsystems) made the prophetic statement that:
The network is the computer.
Twenty-five years later, the advent of Cloud
Computing has finally made this a reality.
http://www.tmforum.org/CloudServicesBrokerage/10617/home.html
http://cloudcomputingcompaniesnow.com
Cloud Computing - A vision to reality
http://www.tmforum.org/CloudServicesBrokerage/10617/home.htmlhttp://blog.industrysoftware.automation.siemens.com/blog/tag/john-gage/http://blog.industrysoftware.automation.siemens.com/blog/tag/john-gage/http://blog.industrysoftware.automation.siemens.com/blog/tag/john-gage/http://blog.industrysoftware.automation.siemens.com/blog/tag/john-gage/
-
2015 Progress Software Corporation. All rights reserved. 9 9
Definition of Cloud Computing
NIST defines Cloud Computing as1:
Cloud computing is a model for enabling ubiquitous, convenient, on-
demand network access to a shared pool of configurable computing
resources (e.g., networks, servers, storage, applications, and services)
that can be rapidly provisioned and released with minimal
management effort or service provider interaction.
[1] P. Mell and T. Grance. The NIST definition of cloud computing. NIST Special Publication 800-145, 2011.
http://cloudcomputingcompaniesnow.com/
efficiency productivity agility scalability
http://cloudcomputingcompaniesnow.com
-
2015 Progress Software Corporation. All rights reserved. 10
http://www.tmforum.org/CloudServicesBrokerage/10617/home.html
Business Model: Conventional vs Cloud
http://www.tmforum.org/CloudServicesBrokerage/10617/home.html
-
2015 Progress Software Corporation. All rights reserved. 11
Some examples from your daily life.
-
2015 Progress Software Corporation. All rights reserved. 12
Cloud Delivery Models....
Software as a Service
(SaaS)
Platform as a Service
(PaaS)
Infrastructure as a Service
(IaaS)
Clo
ud
Se
rvic
e M
od
els
A software distribution model in which applications are hosted
by a service provider and made available to customers over
Internet
A way to rent resources (e.g. hardware, operating systems etc)
over the Internet. The service delivery model allows the customer
to rent virtualized servers and associated services for running
existing applications or developing and testing new ones.
A provision model in which an organization outsources the
equipment used to support operations, including storage,
hardware, servers and networking components.
-
2015 Progress Software Corporation. All rights reserved. 13
SaaS: Starbucks
Starbucks wanted to know what
customers think about them
Wanted a quick customized CRM
application
Starbucks used Salesforce's
Force.com service to quickly build
out websites that tie into new
customer campaigns, as the
coffee giant attempts to transform
it business
-
2015 Progress Software Corporation. All rights reserved. 14
CHALLENGE
FreshERP, a Dutch business
software supplier in the fruit and
vegetable distribution industry,
needed to modernize its application
SOLUTION
Progress OpenEdge and Progress
Pacific were found to be faster to
implement, more complete and more
affordable than the existing Magic
platform
BENEFIT
A scalable solution that can be
implemented on any platform,
device and cloud
-
2015 Progress Software Corporation. All rights reserved. 15
IaaS: Progress Software
A suite of Cloud applications and a
powerful Cloud platform that let you
develop applications rapidly
Progress Software wanted to move away
from the infrastructure setup and
management and focus on their primary
business
-
2015 Progress Software Corporation. All rights reserved. 16
Some Challenges
Security
Data security
Penetration possibilities
Constant network connection
No internet No Cloud
Choosing the right Cloud service provider
My demand Whom should I choose???
Law and compliance rules
Governing rules
-
2015 Progress Software Corporation. All rights reserved. 17
Virtualization
-
2015 Progress Software Corporation. All rights reserved. 18
What is virtualization?
Virtualization is way to run multiple operating systems and user applications on the
same hardware
E.g., run both Windows and Linux on the same laptop
How is it different from dual-boot?
Both OSes run simultaneously
The OSes are completely isolated from each other
-
2015 Progress Software Corporation. All rights reserved. 19
Two types of hypervisors
Definitions
Hypervisor (or VMM Virtual Machine Monitor) is a software layer that allows several
virtual machines to run on a physical machine
The physical OS and hardware are called the Host
The virtual machine OS and applications are called the Guest
VMware ESX, Microsoft Hyper-V, Xen
Hardware
Hypervisor
VM1 VM2
Type 1 (bare-metal)
Host
Guest
Hardware
OS
Process Hypervisor
VM1 VM2
Type 2 (hosted)
VMware Workstation, Microsoft Virtual PC, Sun
VirtualBox, QEMU, KVM
Host
Guest
-
2015 Progress Software Corporation. All rights reserved. 20
Massively Virtualized Model - Cloud
-
2015 Progress Software Corporation. All rights reserved. 21
Dockerization
-
2015 Progress Software Corporation. All rights reserved. 22
Multip
licity o
f
Goods
Mu
ltip
ilicity o
f
me
thods f
or
transport
ing/s
toring
Do I w
orry
about
how
goods in
tera
ct
(e.g
. coffe
e b
eans
next to
spic
es)
Can I tra
nsport
quic
kly
and s
mooth
ly
(e.g
. from
boat to
train
to tru
ck)
Cargo Transport Pre-1960
-
2015 Progress Software Corporation. All rights reserved. 23
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Also an NxN Matrix
-
2015 Progress Software Corporation. All rights reserved. 24
Multip
licity o
f
Goods
Mu
ltip
licity o
f
meth
ods f
or
transport
ing/s
toring
Do I w
orry
about
how
goods in
tera
ct
(e.g
. coffe
e b
eans
next to
spic
es)
Can I tra
nsport
quic
kly
and
sm
ooth
ly
(e.g
. from
boat to
train
to tru
ck)
Solution: Intermodal Shipping Container
in between, can be loaded and
unloaded, stacked, transported
efficiently over long distances,
and transferred from one mode
of transport to another
A standard container that is
loaded with virtually any
goods, and stays sealed until
it reaches final delivery.
-
2015 Progress Software Corporation. All rights reserved. 25
This eliminated the NXN problem
-
2015 Progress Software Corporation. All rights reserved. 26
and spawned an Intermodal Shipping Container Ecosystem
90% of all cargo now shipped in a standard container
Order of magnitude reduction in cost and time to load and unload ships
Massive reduction in losses due to theft or damage
Huge reduction in freight cost as percent of final goods (from >25% to
-
2015 Progress Software Corporation. All rights reserved. 27
What is Docker?
Docker is an open-source project that
automates the deployment
of applications inside software
containers, by providing an additional
layer of abstraction and automation
of operating systemlevel
virtualization on Linux.
[Source: en.wikipedia.org]
Docker allows you to package an
application with all of its
dependencies into a standardized unit
for software development.
[www.docker.com]
http://altinvesthq.com/news/wp-content/uploads/2015/06/container-ship.jpg
http://altinvesthq.com/news/wp-content/uploads/2015/06/container-ship.jpghttp://altinvesthq.com/news/wp-content/uploads/2015/06/container-ship.jpghttp://altinvesthq.com/news/wp-content/uploads/2015/06/container-ship.jpghttp://altinvesthq.com/news/wp-content/uploads/2015/06/container-ship.jpghttp://altinvesthq.com/news/wp-content/uploads/2015/06/container-ship.jpg
-
2015 Progress Software Corporation. All rights reserved. 28
Static website
Web frontend
User DB
Queue Analytics DB
Background workers
API endpoint
nginx 1.5 + modsecurity + openssl + bootstrap 2
postgresql + pgv8 + v8
hadoop + hive + thrift + OpenJDK
Ruby + Rails + sass + Unicorn
Redis + redis-sentinel
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs +
phantomjs
Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
Development VM
QA server
Public Cloud
Disaster recovery
Contributors laptop
Production Servers
The Challenge M
ultip
licity o
f
Sta
cks
Multip
licity o
f
hard
ware
environ
ments
Production Cluster
Customer Data Center
Do s
erv
ices a
nd
apps in
tera
ct
appro
pria
tely
?
Can I m
igra
te
sm
ooth
ly a
nd
quic
kly
?
-
2015 Progress Software Corporation. All rights reserved. 29
Results in N X N compatibility nightmare
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM QA Server
Single Prod
Server
Onsite
Cluster Public Cloud
Contributors
laptop
Customer
Servers
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
-
2015 Progress Software Corporation. All rights reserved. 30
Static website Web frontend User DB Queue Analytics DB
Development
VM QA server Public Cloud Contributors
laptop
Docker is a shipping container system for code M
ultip
licity o
f
Sta
cks
Mu
ltip
licity o
f
hard
ware
environ
ments
Production
Cluster Customer Data
Center
Do s
erv
ices a
nd
apps in
tera
ct
appro
pria
tely
?
Can I m
igra
te
sm
ooth
ly a
nd
quic
kly
that can be manipulated using
standard operations and run
consistently on virtually any
hardware platform
An engine that enables any
payload to be encapsulated
as a lightweight, portable,
self-sufficient container
-
2015 Progress Software Corporation. All rights reserved. 31
Static website Web frontend User DB Queue Analytics DB
Development
VM QA server Public Cloud Contributors
laptop
Orput more simply M
ultip
licity o
f
Sta
cks
Mu
ltip
licity o
f
hard
ware
environ
ments
Production
Cluster Customer Data
Center
Do s
erv
ices a
nd
apps in
tera
ct
appro
pria
tely
?
Can I m
igra
te
sm
ooth
ly a
nd
quic
kly
Operator: Configure Once, Run
Anything
Developer: Build Once, Run
Anywhere (Finally)
-
2015 Progress Software Corporation. All rights reserved. 32
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM QA Server
Single Prod
Server
Onsite
Cluster Public Cloud
Contributors
laptop
Customer
Servers
Docker solves the NXN problem
-
2015 Progress Software Corporation. All rights reserved. 33
Docker containers
Wrap up a piece of software in a complete file system
that contains everything it needs to run:
Code, runtime, system tools, system libraries
Anything you can install on a server
This guarantees that it will always run the same,
regardless of the environment it is running in
-
2015 Progress Software Corporation. All rights reserved. 34
Why containers matter
Physical Containers Docker
Content Agnostic The same container can hold almost
any type of cargo
Can encapsulate any payload and its
dependencies
Hardware Agnostic Standard shape and interface allow
same container to move from ship to
train to semi-truck to warehouse to
crane without being modified or
opened
Using operating system primitives (e.g.
LXC) can run consistently on virtually
any hardwareVMs, bare metal,
openstack, public IAAS, etc.without
modification
Content Isolation and
Interaction
No worry about anvils crushing
bananas. Containers can be stacked
and shipped together
Resource, network, and content
isolation. Avoids dependency hell
Automation Standard interfaces make it easy to
automate loading, unloading, moving,
etc.
Standard operations to run, start, stop,
commit, search, etc. Perfect for devops:
CI, CD, autoscaling, hybrid clouds
Highly efficient No opening or modification, quick to
move between waypoints
Lightweight, virtually no perf or start-up
penalty, quick to move and manipulate
Separation of duties Shipper worries about inside of box,
carrier worries about outside of box
Developer worries about code. Ops
worries about infrastructure.
-
2015 Progress Software Corporation. All rights reserved. 35
Docker containers
Lightweight
Containers running on one machine all share the same OS kernel
They start instantly and make more efficient use of RAM
Images are constructed from layered file systems
They can share common files, making disk usage and image downloads much more efficient
Open
Based on open standards
Allowing containers to run on all major Linux distributions and Microsoft OS with support for every infrastructure
Secure
Containers isolate applications from each other and the underlying infrastructure while providing an added layer of protection for the application
-
2015 Progress Software Corporation. All rights reserved. 36
Docker / Containers vs. Virtual Machine
https://www.docker.com/whatisdocker/
Containers have similar resource isolation
and allocation benefits as VMs but a
different architectural approach allows them
to be much more portable and efficient
https://www.docker.com/whatisdocker/https://www.docker.com/whatisdocker/https://www.docker.com/whatisdocker/
-
2015 Progress Software Corporation. All rights reserved. 37
Docker / Containers vs. Virtual Machine
https://www.docker.com/whatisdocker/
Each virtual machine includes the application, the necessary binaries and libraries and an
entire guest operating system - all of which
may be tens of GBs in size
It includes the application and all of its dependencies, but share the kernel with other
containers.
They run as an isolated process in userspace on the host operating system.
Docker containers run on any computer, on any infrastructure and in any cloud
https://www.docker.com/whatisdocker/https://www.docker.com/whatisdocker/https://www.docker.com/whatisdocker/
-
2015 Progress Software Corporation. All rights reserved. 38
Why are Docker containers lightweight?
Bins/
Libs
App
A
Original App (No OS to take up space, resources, or require restart)
App
Bin
s
/
App
A
Bins/
Libs
App
A
Gues
t
OS
Bins/
Libs
Modified App Union file system allows us to only save the diffs Between container A and container A
VMs Every app, every copy of an app, and every slight modification of the app requires a new virtual server
App
A
Guest
OS
Bins/
Libs
Copy of App
No OS. Can Share bins/libs
App
A
Guest
OS
Guest
OS
VMs Containers
-
2015 Progress Software Corporation. All rights reserved. 39
What are the basics of the Docker system?
Source
Code
Repository
Dockerfile
For
A
Docker Engine
Docker
Container
Image
Registry
Build
Docker Engine
Host 2 OS 2 (Linux)
Conta
iner
A
Conta
iner
B
Conta
iner
C
Conta
iner A
Push
Search Pull
Run
Host 1 OS
(Linux)
-
2015 Progress Software Corporation. All rights reserved. 40
Changes and Updates
Docker Engine
Docker
Container
Image
Registry
Docker Engine
Push
Update
Bins/
Libs
App
A
App
Bin
s
/
Base Container
Image
Host is now running A
Container Mod A
App
Bin
s
/
Bins/
Libs
App
A
Bin
s
/
Bins/
Libs
App
A
Host running A wants to upgrade to A. Requests update. Gets only diffs
Container Mod A
-
2015 Progress Software Corporation. All rights reserved. 41
How does this help you build better software?
Stop wasting hours trying to setup developer environments
Spin up new instances and make copies of production code to run locally
With Docker, you can easily take copies of your live environment and run on any new endpoint running Docker.
Accelerate Developer Onboarding
The isolation capabilities of Docker containers free developers from the worries of using approved language stacks and tooling
Developers can use the best language and tools for their application service without worrying about causing conflict issues
Empower Developer Creativity
By packaging up the application with its configs and dependencies together and shipping as a container, the application will always work as designed locally, on another machine, in test or production
No more worries about having to install the same configs into a different environment
Eliminate Environment Inconsistencies
-
2015 Progress Software Corporation. All rights reserved. 42
Easily Share and Collaborate on Applications
Distribute and share content
Store, distribute and manage your Docker images in your Docker
Hub with your team
Image updates, changes and history are automatically shared
across your organization.
Simply share your application with others
Ship your containers to others without worrying about different
environment dependencies creating issues with your application.
Other teams can easily link to or test against your app without
having to learn or worry about how it works.
Docker creates a common framework for developers and sysadmins to work
together on distributed applications
-
2015 Progress Software Corporation. All rights reserved. 43
Get Started with Docker
install Docker
run a software image in a container
browse for an image on Docker Hub
create your own image and run it in a container
create a Docker Hub account and an image repository
create an image of your own
push your image to Docker Hub for others to use
http://docs.docker.com/windows/started/
http://docs.docker.com/windows/started/
-
2015 Progress Software Corporation. All rights reserved. 44
The Life of a Container
Conception
BUILD an Image from a Dockerfile
Birth
RUN (create+start) a container
Reproduction
COMMIT (persist) a container to a new image
RUN a new container from an image
Sleep
KILL a running container
Wake
START a stopped container
Death
RM (delete) a stopped container
Extinction
RMI a container image (delete image)
Docker Container Lifecycle
-
2015 Progress Software Corporation. All rights reserved. 45
How a command looks like
-
2015 Progress Software Corporation. All rights reserved. 46
Docker Compose
Compose is a tool for defining and running multi-container applications with Docker
With Compose, you define a multi-container application in a single file, then spin your
application up in a single command which does everything that needs to be done to get
it running
Compose is great for development environments, staging servers, and CI. We dont
recommend that you use it in production yet
Define your apps environment with a Dockerfile so it can be reproduced anywhere.
Define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment:
Lastly, run docker-compose up and Compose will start and run your entire app.
-
2015 Progress Software Corporation. All rights reserved. 47
Open Source Cloud Environments
-
2015 Progress Software Corporation. All rights reserved. 48
Introduction to Hadoop and MapReduce
-
2015 Progress Software Corporation. All rights reserved. 49
Data!
Facebook hosts approximately 10 billion photos, taking up one petabyte of storage
The New York Stock Exchange generates about one terabyte of new trade data per day
In last one week, I personally took 15 GB photos while I was travelling. So imagine the
memory requirements for all photos taken in a day all over the world!
-
2015 Progress Software Corporation. All rights reserved. 50
Hadoop
Open source Cloud supported by Apache
Reliable shared storage and analysis system
Uses distributed file system (Called as HDFS) like GFS
Can be used for a variety of applications
-
2015 Progress Software Corporation. All rights reserved. 51 mage from http://wiki.apache.org/hadoop-data/attachments/HadoopPresentations/attachments/aw-apachecon-eu-2009.pdf
-
2015 Progress Software Corporation. All rights reserved. 52
MapReduce
Simple data-parallel programming model designed for scalability and fault-tolerance
Framework for distributed processing of large data sets
Originally designed by Google
Pluggable user code runs in generic framework
Pioneered by Google - Processes 20 petabytes of data per day
-
2015 Progress Software Corporation. All rights reserved. 53
What is MapReduce used for?
At Google:
Index construction for Google Search
Article clustering for Google News
Statistical machine translation
At Yahoo!:
Web map powering Yahoo! Search
Spam detection for Yahoo! Mail
At Facebook:
Data mining
Ad optimization
Spam detection
-
2015 Progress Software Corporation. All rights reserved. 54
the quick
brown fox
the fox ate
the mouse
how now
brown cow
Map
Map
Map
Reduce
Reduce
brown, 2
fox, 2
how, 1
now, 1
the, 3
ate, 1
cow, 1
mouse, 1
quick, 1
the, 1
brown, 1
fox, 1
quick, 1
the, 1
fox, 1
the, 1
how, 1
now, 1
brown, 1
ate, 1
mouse, 1
cow, 1
Input Map Shuffle & Sort Reduce Output
Example: Word Count
-
2015 Progress Software Corporation. All rights reserved. 55
Example: Word Count
def mapper(line):
foreach word in line.split():
output(word, 1)
def reducer(key, values):
output(key, sum(values))
-
2015 Progress Software Corporation. All rights reserved. 56
MapReduce Execution Details
Single master controls job execution on multiple slaves
Mappers preferentially placed on same node or same rack as their input block
Minimizes network usage
Mappers save outputs to local disk before serving them to reducers
Allows recovery if a reducer crashes
Allows having more reducers than nodes
-
2015 Progress Software Corporation. All rights reserved. 57
1. Search
Input: (lineNumber, line) records
Output: lines matching a given pattern
Map:
if(line matches pattern): output(line)
Reduce: identify function
Alternative: no reducer (map-only job)
-
2015 Progress Software Corporation. All rights reserved. 58
2. Sort
Input: (key, value) records
Output: same records, sorted by key
Map: identity function
Reduce: identify function
Trick: Pick partitioning
function h such that
k1 h(k1)
-
2015 Progress Software Corporation. All rights reserved. 59
3. Most Popular Words
Input: (filename, text) records
Output: top 100 words occurring in the most files
Two-stage solution:
Job 1:
Create inverted index, giving (word, list(file)) records
Job 2:
Map each (word, list(file)) to (count, word)
Sort these records by count as in sort job
-
2015 Progress Software Corporation. All rights reserved. 60
Eucalyptus, OpenStack
-
2015 Progress Software Corporation. All rights reserved. 61
Open-source Cloud Infrastructure: Eucalyptus
Idea: Develop an open-source, freely available cloud platform for commodity hardware
and software environments
Elastic Utility Computing Architecture Linking Your Programs To Useful Systems
Web services based implementation of elastic/utility/cloud computing infrastructure
Build Amazon Web Services compatible private and hybrid Cloud environments
-
2015 Progress Software Corporation. All rights reserved. 62
Goals for Eucalyptus
Foster greater understanding and uptake of cloud computing
Provide a vehicle for extending what is known about the utility model of computing
Experimentation vehicle prior to buying commercial services
Provide development, debugging, and tech preview platform for Public Clouds
Homogenize local IT environment with Public Clouds
AWS functionality locally makes moving using Amazon AWS easier, cheaper, and more sustainable
Provide a basic software development platform for the open source community
E.g. the Linux Experience
-
2015 Progress Software Corporation. All rights reserved. 63
Eucalyptus Architecture
pc: wikipedia
-
2015 Progress Software Corporation. All rights reserved. 64
Eucalyptus Components
pc: wikipedia
-
2015 Progress Software Corporation. All rights reserved. 65
Eucalyptus Compatibility with Amazon Web Services
pc: wikipedia
-
2015 Progress Software Corporation. All rights reserved. 66
OpenStack
OpenStack is a collection of open source components to deliver public and private IaaS
clouds
Components: Nova, Swift, Glance, Keystone, and Quantum
IaaS Cloud Services allows users to manage:
VMs, Virtual networks, storage resources
-
2015 Progress Software Corporation. All rights reserved. 67
Openstack Architecture and Integration with VMWare
-
2015 Progress Software Corporation. All rights reserved. 68
Commercial Cloud Environments
-
2015 Progress Software Corporation. All rights reserved. 69
AWS Amazon Web Services A snapshot
Amazon EC2
router
Amazon
Route 53 Elastic Load Balancing
AWS Direct Connect Auto Scaling
elastic network
instance
Elastic IP
Amazon S3
Amazon EBS
Amazon Glacier
CloudFront
DynamoDB
Amazon RDS
Amazon SimpleDB
ElastiCache
CloudWatch
AWS CloudTrail
AWS Security
Token Service
Elastic Beanstalk
AWS CodeDeploy
AWS OpsWorks
Amazon SES
Amazon
CloudSearch
Amazon SQS
Amazon SWF
Amazon EMR
Amazon
Kinesis
Amazon Cognito
Amazon Mobile
Analytics
Amazon SNS
virtual private cloud
AWS Management
Console
Amazon
Lambda
AWS
Config IAM
-
Some Core AWS Concepts
-
2015 Progress Software Corporation. All rights reserved. 71
Region
Geographic area where
AWS services are
available
Customers choose
region(s) for their AWS
resources
Eleven regions worldwide
AZ
AZ
AZ AZ AZ
Transit
Transit
-
2015 Progress Software Corporation. All rights reserved. 72
Availability Zone (AZ)
Each region has multiple,
isolated locations known as
Availability Zones
Low-latency links between AZs
in a region
-
2015 Progress Software Corporation. All rights reserved. 73
Example AWS Availability Zone
AZ
AZ
AZ AZ AZ
Transit
Transit
-
2015 Progress Software Corporation. All rights reserved. 74
Example AWS Data Center
-
2015 Progress Software Corporation. All rights reserved. 75
Virtual Private Cloud (VPC)
Logically isolated section of
the AWS cloud, virtual
network defined by the
customer
When launching instances
and other resources,
customers place them in a
VPC
All new customers have a
default VPC
AVAILABILITY ZONE
1
REGIO
N
AVAILABILITY ZONE
2
AVAILABILITY ZONE
3
VPC
EC
2 EC
2 EC
2
EC
2
-
2015 Progress Software Corporation. All rights reserved. 76
The AWS storage portfolio
Amazon S3 Object storage: data presented as buckets of objects
Data access via APIs over the Internet
Amazon
EFS File storage (analogous to NAS): data presented as a file system
Shared low-latency access from multiple EC2 instances
Amazon
Elastic Block
Store
Block storage (analogous to SAN): data presented as disk volumes
Lowest-latency access from single Amazon EC2 instances
Amazon
Glacier Archival storage: data presented as vaults/archives of objects
Lowest-cost storage, infrequent access via APIs over the Internet
-
2015 Progress Software Corporation. All rights reserved. 77
Amazon Elastic File System
Fully managed file system for EC2 instances
Provides standard file system semantics
Works with standard operating system APIs
Sharable across thousands of instances
Elastically grows to petabyte scale
Delivers performance for a wide variety of workloads
Highly available and durable
NFS v4based
-
2015 Progress Software Corporation. All rights reserved. 78
EFS is designed for a broad range of use cases, such as
Content repositories
Development environments
Home directories
Big data
-
Amazon Elastic Container Service
+
-
2015 Progress Software Corporation. All rights reserved. 80
Key Components
Docker Daemon
Task Definitions
Containers
Clusters
Container Instances
-
2015 Progress Software Corporation. All rights reserved. 81
Typical User Workflow
I have a Docker
image, and I want to
run the image on a
cluster
-
2015 Progress Software Corporation. All rights reserved. 82
Typical User Workflow
Push Image(s)
-
2015 Progress Software Corporation. All rights reserved. 83
Typical User Workflow
Create Task Definition Amazon ECS
Declare resource
requirements
-
2015 Progress Software Corporation. All rights reserved. 84
Typical User Workflow
Run Instances EC2
Use custom AMI with
Docker support and
ECS Agent. Instances
will register with
default cluster.
-
2015 Progress Software Corporation. All rights reserved. 85
Typical User Workflow
Describe Cluster Amazon ECS
Get information about
cluster state and
available resources
-
2015 Progress Software Corporation. All rights reserved. 86
Typical User Workflow
Run Task Amazon ECS
Using the task definition
created above
-
2015 Progress Software Corporation. All rights reserved. 87
Typical User Workflow
Amazon ECS Describe Cluster
Get information about
cluster state and
running containers
-
Rapid Application Developmenton Any Device or Cloud
TURNING IDEAS INTO BUSINESS REALITY WITH
-
2015 Progress Software Corporation. All rights reserved. 89
Modern Demands of Application Development
Todays application
development
demands speed
Todays
applications need
to go anywhere
you do
Todays applications
are driven by
integrated data
-
2015 Progress Software Corporation. All rights reserved. 90
A cloud platform for building, deploying and managing multi-tenant
SaaS business applications that is
Solution
Open
Runs Anywhere
Cloud or On-premises
Fast
Minimal Coding
Model-driven
Easy
No Proprietary
Languages
-
2015 Progress Software Corporation. All rights reserved. 91
Gartners view of Cloud Computing: Position of aPaaS
Infrastructure-as-a-Service (IaaS)
Platform-as-a-Service (PaaS)
On-demand, virtualized
computing resources
Environment to build,
deploy scalable cloud
services; infrastructure
neutral
Highly productive,
easy to use, web-
based, cloud app
development and
deployment platform
Virtualization Abstraction of the hardware/servers
aPaaS (Application PaaS,
Subscription Service)
Software-as-a-Service (SaaS)
Solutions running
in the cloud
as services
-
2015 Progress Software Corporation. All rights reserved. 92
Accelerated App Development & Deployment
Responsive Web & Data Visualization UX Toolbox I UI Widgets
Full-lifecycle
Mobile
Development
Platform
Contemporary
CMS for high-
fidelity Web
Sites
ALM & testing for
mobile, web and
desktop applications
BEAUTIFUL USER EXPERIENCES
FOR ANY KIND OF APPLICATIONS
DEPLOYED & MANAGED ON YOUR
INFRASTRUCTURE OF CHOICE
Data connectivity and integration to any cloud or on-premise data source LEVERAGING ANY DATA
Deployment
Platform for
code style
apps
Low-code RAD
for Cloud
Applications
Flexible deployment
on public, private,
hybrid or on-premise
-
2015 Progress Software Corporation. All rights reserved. 93
What Is Rollbase?
Build
Drag & drop
development enables
business users to
create apps without
coding
Developers can go
much further with
JavaScript, APIs and
custom components
Manage
Central dashboard to
manage servers,
databases, tenants,
users, applications and
more
Monitor system
components and user
activity, access tenants
to provide support,
resource metering, etc.
Deploy
Publish and deploy
applications to one or
more tenants
Choose your hosting
environment public,
hybrid or private cloud
-
2015 Progress Software Corporation. All rights reserved. 94
Reduce Your Development Time and Resource Requirements
Point & click, drag & drop
development in a standard
browser
Business users can create
applications without coding
Developers can go much
further with JavaScript, APIs
and custom components
Build
-
2015 Progress Software Corporation. All rights reserved. 95
Progress Rollbase: Simplify Application Delivery and Deployment
Publish applications
and deploy them to
one or more tenants
Role and user-based
access control Deploy
Public, Private,
On-premise Tenant and user
provisioning
Plus many more tools
provide robust
deployment capabilities
-
2015 Progress Software Corporation. All rights reserved. 96
Provide a Proven Cloud Platform
Central dashboard to manage
servers, databases, tenants,
users, applications and more
Monitor system components and
user activity, access tenants to
provide support, resource
metering, etc.
Manage
-
2015 Progress Software Corporation. All rights reserved. 97
Data Model
Point & click wizards make setting up
a database easy, walking you
through the process of building
objects, fields, relationships, views.
Workflow & Logic Model
Use a powerful business logic
framework to customize workflow,
process automation, validation rules,
approvals.
User Interface Model
Define application pages and forms
with a real-time drag & drop page
editor. Use custom HTML, Scripts,
and third-party widgets to build your
UI. White label options for ISVs.
Permissions Model
Configure fine-grained permissions
specific to each role and user in your
organization from the application
down to the individual field level.
Organization Model
Define location, department and
function hierarchies along with user
groups to model your entire
organizational structure no matter
how large or small.
Integration Model
Create custom integrations with
external services and applications
using Progress Rollbase Web APIs.
SOAP, REST and AJAX APIs
available.
Application Directory
Pre-built applications can be installed
into your account on-demand and
customized to meet specific needs.
ISVs and resellers can have their
own private directory for white-
labeled apps.
Application Runtime Engine
A proprietary runtime engine
automatically orchestrates the
execution of all Progress Rollbase
services, including application
instantiation, serialization and
publishing to an application directory.
Functional Components
-
2015 Progress Software Corporation. All rights reserved. 98
Progress Rollbase: The Choice for ISVs and Enterprises
Allows creation of sophisticated user interfaces, custom business
logic, detailed permissions and access control
Provides a rich set of APIs for building bidirectional integrations to third
party systems
Allows you to develop in one browser-based environment with
standard JavaScript; no need to learn a proprietary languages
Allows you to deploy applications in our hosted environment, on-
premise, or in any cloud infrastructure
-
2015 Progress Software Corporation. All rights reserved. 99
Progress Rollbase Customers
-
2015 Progress Software Corporation. All rights reserved. 100
Build, Deploy, Brand and Sell Custom Cloud Business Applications
Business Users can:
Build powerful data-driven applications without coding
Build integrations between aPaaS applications without coding
Work with developers to ensure the right solution is built
Developers can go much further with:
APIs: REST, SOAP, AJAX, SQL, JDBC
Custom JSPs and Java-based business logic
Integrate third party libraries and product
ISVs and Resellers can:
Brand with your company or platform name and logo
Run the entire platform on your own domain
Publish applications in your App Store for other tenants to install, use and customize
-
2015 Progress Software Corporation. All rights reserved. 101
Mobile (R)evolution
-
2015 Progress Software Corporation. All rights reserved. 102
By 2020, 90% of worlds population aged over 6 will have a mobile phone
-
2015 Progress Software Corporation. All rights reserved. 103
-
2015 Progress Software Corporation. All rights reserved. 104
Mobile and India
http://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdf
http://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdfhttp://www.ericsson.com/res/docs/2015/ericsson-mobility-report-june-2015-rina-appendices.pdf
-
2015 Progress Software Corporation. All rights reserved. 105
Mobile First approach
When designing a project keep mobile in mind
Any project you do should have a mobile front-end
Developing mobile apps
Option 1:Build Android, iOS, Windows mobile separately
-
2015 Progress Software Corporation. All rights reserved. 106
Eclipse
Java
Mac OS X Windows
Visual
Studio
XAML, C#
Xcode
Objective-
C
Platform complexity
WWW
Multiple
HTML,
CSS, JS
Multiple
-
2015 Progress Software Corporation. All rights reserved. 107
Mobile Options
Native
Mobile Web
Hybrid Mobile
-
2015 Progress Software Corporation. All rights reserved. 108
Native
Single platform
Objective C, Java, C#
High Dev. Cost
Native APIs
Advanced graphics
App Store Distribution
Hybrid
Multiple platforms
HTML, JS, CSS
Reasonable Dev. Cost
Native APIs*
Moderate graphics
App Store Distribution
Mobile Web
Multiple platforms
HTML, JS, CSS
Reasonable Dev. Cost
Limited APIs
Limited graphics
Web Distribution
-
2015 Progress Software Corporation. All rights reserved. 109 http://wiki.developerforce.com
-
2015 Progress Software Corporation. All rights reserved. 110
Our solution || hybrid mobile development in the cloud
-
2015 Progress Software Corporation. All rights reserved. 111
Telerik AppBuilder
Leverages PhoneGap/Cordova
HTML + JavaScript + CSS
Access to Native APIs
Runs in native application container
-
2015 Progress Software Corporation. All rights reserved. 112
Compiler as a Service
Normally you have to manage SDKs, native container and web assets &
building
We build it for you & give you an installer for your target(s)
You just focus on writing HTML, JavaScript & CSS
-
2015 Progress Software Corporation. All rights reserved. 113
PC
MAC
SDKs
Compilers
Etc.
In other words we change this:
-
2015 Progress Software Corporation. All rights reserved. 114
Into this:
-
2015 Progress Software Corporation. All rights reserved. 115
IDEs
In-Browser Client (part of the Telerik Platform)
Windows Client
Visual Studio Extension (2010->2013)
-
2015 Progress Software Corporation. All rights reserved. 116
Telerik Platform In-Browser Client for AppBuilder
Runs in all major browsers
Common IDE features
Intellisense
Code completion
Syntax highlighting
Connects to any accessible git repository
Has an in-browser PhoneGap/Cordova
emulator (for testing)
-
2015 Progress Software Corporation. All rights reserved. 118
Visual Studio Extension
Enables you to write hybrid mobile apps using VS
2010-2013
You control version control (& other development
tool-chain options)
Uploads code to AppBuilders build services (you get
an installer back)
-
2015 Progress Software Corporation. All rights reserved. 119
Simulator & Debugging
Platform Client
Uses browser tools
PhoneGap emulator
Windows Client/Visual Studio
Uses WebKit-based simulator
Powerful debugging & profiling tools
All three IDE options come with a Simulator
-
2015 Progress Software Corporation. All rights reserved. 120
Deploy wirelessly to any device
QR Code Deployment
Companion App - provision-less deployment to iOS
Deploy to Android and provisioned iOS via QR Code also
-
2015 Progress Software Corporation. All rights reserved. 121
Publish straight to Apple
& Google app stores
(You dont need a Mac)
-
2015 Progress Software Corporation. All rights reserved. 122
Get Started Today!
Go to http://platform.telerik.com to sign up
Download SDKs from the Platform website for
.NET
JavaScript
In Visual Studio
Tools Extensions and Updates
Search for Telerik AppBuilder
On your iPhone or iPad
Add the Telerik AppBuilder App
Download from:
http://bit.ly/iOSAppBuilder
http://platform.telerik.com/
-
2015 Progress Software Corporation. All rights reserved. 123
IoT
-
2015 Progress Software Corporation. All rights reserved. 124
-
2015 Progress Software Corporation. All rights reserved. 126
-
2015 Progress Software Corporation. All rights reserved. 127
-
2015 Progress Software Corporation. All rights reserved. 128
-
2015 Progress Software Corporation. All rights reserved. 129
-
2015 Progress Software Corporation. All rights reserved. 130
-
2015 Progress Software Corporation. All rights reserved. 131
-
2015 Progress Software Corporation. All rights reserved. 132
If This Then That
http://ifttt.com
http://ifttt.com/
-
2015 Progress Software Corporation. All rights reserved. 133
-
2015 Progress Software Corporation. All rights reserved. 134
-
2015 Progress Software Corporation. All rights reserved. 135
-
2015 Progress Software Corporation. All rights reserved. 136
The Internet of Things
Internet of Objects Machine-to-Machine Era
(2) Internet of Things refers to the concept that the Internet is no longer just a
global network for people to communicate with one another using computers, but it
is also a platform for devices to communicate electronically with the world around
them.
--Center for Data and Innovation
(1) The Internet of Things, also called The Internet of Objects, refers to a wireless network between objects, usually the network will be wireless and self-configuring, such as household appliances.
------Wikipedia
Internet of Everything
-
2015 Progress Software Corporation. All rights reserved. 137
The Internet of Things
(4) Things having identities and virtual personalities operating in smart spaces using intelligent interfaces to connect and communicate within social, environmental, and user contexts.
-------IoT in 2020
(3) The term "Internet of Things" has come to describe a number of technologies and research disciplines that enable the Internet to reach out into the real world of physical objects.
------IoT 2008
-
2015 Progress Software Corporation. All rights reserved. 138
The Internet of Things
The term Internet of Things was first used by
Kevin Ashton in 1999.
Refers to uniquely identifiable objects (things)
and their virtual representations in an
Internet-like structure
-
2015 Progress Software Corporation. All rights reserved. 139
-
2015 Progress Software Corporation. All rights reserved. 140
-
2015 Progress Software Corporation. All rights reserved. 141
Characteristics
Event Driven
Ambient Intelligence Flexible
Structure
Semantic Sharing
Complex Access Technologies
Internet of Things
-
2015 Progress Software Corporation. All rights reserved. 142
Enabling Technologies
RFID Sensor Smart Tech Nano Tech
To identify
and track the
data of things
To collect and
process the
data to detect
the changes in
the physical
status of things
To enhance the
power of the
network by
devolving
processing
capabilities to
different part of
the network.
To make the
smaller and
smaller things
have the ability
to connect and
interact.
-
2015 Progress Software Corporation. All rights reserved. 143
-
2015 Progress Software Corporation. All rights reserved. 144
Technical Perspective
Sensing Layer
Communication Layer
Management Layer
-
2015 Progress Software Corporation. All rights reserved. 145
Management:
Data management
Waste management
Urban planning
Production
management
...
-
2015 Progress Software Corporation. All rights reserved. 146
Logistics:
Warehouse, management Inventory control
Port management ETAs, ETDs
Ships, boats, containers, etc.
Executable code
-
2015 Progress Software Corporation. All rights reserved. 147
Retail:
Intelligent shopping
Bar code in retail
Electronic tags
-
2015 Progress Software Corporation. All rights reserved. 148
Pharmaceuticals :
Intelligent tags for drugs
Drug usage tracking
Pharma. Product websites
--> Enable the emergency treatment to be given
faster and more correct
-
2015 Progress Software Corporation. All rights reserved. 149
Food:
Control geographical origin
Food production management
Nutrition calculations
Prevent overproduction and shortage
Control food quality, health and safety.
-
2015 Progress Software Corporation. All rights reserved. 150
School Administration
Attendance Management
Voting System
Automatic Feedback Loops
Instructional technology
Media
Infor-ma-tion management
Foreign language learning
-
2015 Progress Software Corporation. All rights reserved. 151
Smart Things Timeline
-
2015 Progress Software Corporation. All rights reserved. 152
Challenges and Issues
Issues
Society: People, security, privacy
A policy for people in the Internet of Things:
Legislation
Environmental aspects
Resource efficiency
Pollution and disaster avoidance
Technological
Architecture (edge devices, servers, discovery services, security, etc.)
Governance, naming, identity, interfaces
Service openness, interoperability
Connections of real and virtual world
Standards
-
2015 Progress Software Corporation. All rights reserved. 153
IoT will inherit the drawbacks of the current internet on an infinitely larger, but more
invisible scale
Privacy will be a huge issue when implementing IoT
Identity - Online Fragmentation of Identity
Efficiency speed - person loses identity and is an IP address
Decisions do not delegate too much of our decision making and freedom of choice to things
and machines
Balancing
Challenges and Issues
-
2015 Progress Software Corporation. All rights reserved. 154
Transition to IPv6 Internet protocol v6
Estalishing a common set of standards between companies, educational systems, and
nations.
The same type of cabling,
The same applications or programming
The same protocol or set of rules that will apply to all
Developing energy sources for millions -even billions - of sensors.
Wind
Solar,
Hydro-electric
Challenges and Issues
-
2015 Progress Software Corporation. All rights reserved. 155
Future of IoT
-
2015 Progress Software Corporation. All rights reserved. 156
IoT Landscape
-
2015 Progress Software Corporation. All rights reserved. 157
Some suggestions on IoT Projects
-
2015 Progress Software Corporation. All rights reserved. 158
-
2015 Progress Software Corporation. All rights reserved. 159
-
2015 Progress Software Corporation. All rights reserved. 160
V2V (vehicle to vehicle) Technology
-
2015 Progress Software Corporation. All rights reserved. 161
-
2015 Progress Software Corporation. All rights reserved. 162
Typical hardware people use
Sensors
Temperature, Moisture, Distance, Pressure, Light, Gas, .
Raspberry Pi
Arduino Uno boards
RFIS sensors
-
2015 Progress Software Corporation. All rights reserved. 163
Example: Switch a light ON/OFF from your smart phone
Pre-requisites
Raspberry Pi, SD card with Raspbian OS, network connectivity to the internet
Step 1: Assemble relay switch circuit board
Step 2: Test the relay by a simple python program
Details:
http://projects.privateeyepi.com/ho
me/on-off-project
http://projects.privateeyepi.com/home/on-off-projecthttp://projects.privateeyepi.com/home/on-off-projecthttp://projects.privateeyepi.com/home/on-off-projecthttp://projects.privateeyepi.com/home/on-off-projecthttp://projects.privateeyepi.com/home/on-off-projecthttp://projects.privateeyepi.com/home/on-off-project
-
2015 Progress Software Corporation. All rights reserved. 164
Some useful URLs
https://www.raspberrypi.org/blog/tag/internet-of-things/
http://www.buildinginternetofthings.com/list-of-projects/
http://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourself
http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/
http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-
projects-for-learning-iot/d/d-id/1320757
http://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.itpro.co.uk/mobile/21862/raspberry-pi-top-15-projects-to-try-yourselfhttp://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.cnet.com/how-to/25-fun-things-to-do-with-a-raspberry-pi/http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757
-
2015 Progress Software Corporation. All rights reserved. 165
Future?
-
2015 Progress Software Corporation. All rights reserved. 167