Disruptive Technology Trends - Cloud, Mobile, IoT and Beyond

168
Disruptive Technology Trends Cloud, Mobile, IoT and beyond Dr Ganesh Neelakanta Iyer http://ganeshniyer.com GANESHNIYER

Transcript of Disruptive Technology Trends - Cloud, Mobile, IoT and Beyond

  • 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