Mais conteúdo relacionado

Apresentações para você(20)

Destaque(17)

Similar a Disruptive Technology Trends - Cloud, Mobile, IoT and Beyond(20)

Mais de Dr Ganesh Iyer(20)

Disruptive Technology Trends - Cloud, Mobile, IoT and Beyond

  1. Disruptive Technology Trends Cloud, Mobile, IoT and beyond Dr Ganesh Neelakanta Iyer http://ganeshniyer.com GANESHNIYER
  2. © 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
  3. © 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
  4. © 2015 Progress Software Corporation. All rights reserved.4 Technology (R)evolution
  5. © 2015 Progress Software Corporation. All rights reserved.6 Outline  Introduction – Current day technology landscape  Cloud Computing  Mobile Clouds  Internet of Things  Future???
  6. © 2015 Progress Software Corporation. All rights reserved.7 Cloud demystified: IaaS, PaaS, aPaaS & SaaS models
  7. © 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
  8. © 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
  9. © 2015 Progress Software Corporation. All rights reserved.10 http://www.tmforum.org/CloudServicesBrokerage/10617/home.html Business Model: Conventional vs Cloud
  10. © 2015 Progress Software Corporation. All rights reserved.11 Some examples from your daily life….
  11. © 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) CloudServiceModels 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.
  12. © 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
  13. © 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
  14. © 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
  15. © 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
  16. © 2015 Progress Software Corporation. All rights reserved.17 Virtualization
  17. © 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
  18. © 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
  19. © 2015 Progress Software Corporation. All rights reserved.20 Massively Virtualized Model - Cloud
  20. © 2015 Progress Software Corporation. All rights reserved.21 Dockerization
  21. © 2015 Progress Software Corporation. All rights reserved.22 Multiplicityof Goods Multipilicityof methodsfor transporting/storing DoIworryabout howgoodsinteract (e.g.coffeebeans nexttospices) CanItransport quicklyandsmoothly (e.g.fromboatto traintotruck) Cargo Transport Pre-1960
  22. © 2015 Progress Software Corporation. All rights reserved.23 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Also an NxN Matrix
  23. © 2015 Progress Software Corporation. All rights reserved.24 Multiplicityof Goods Multiplicityof methodsfor transporting/storing DoIworryabout howgoodsinteract (e.g.coffeebeans nexttospices) CanItransport quicklyand smoothly (e.g.fromboatto traintotruck) 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.
  24. © 2015 Progress Software Corporation. All rights reserved.25 This eliminated the NXN problem…
  25. © 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 <3%) massive globalizations • 5000 ships deliver 200M containers per year
  26. © 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 system–level 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
  27. © 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 Contributor’s laptop Production Servers The Challenge Multiplicityof Stacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly?
  28. © 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 Contributor’s laptop Customer Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  29. © 2015 Progress Software Corporation. All rights reserved.30 Static website Web frontendUser DB Queue Analytics DB Development VM QA server Public Cloud Contributor’s laptop Docker is a shipping container system for code Multiplicityof Stacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly …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…
  30. © 2015 Progress Software Corporation. All rights reserved.31 Static website Web frontendUser DB Queue Analytics DB Development VM QA server Public Cloud Contributor’s laptop Or…put more simply Multiplicityof Stacks Multiplicityof hardware environments Production Cluster Customer Data Center Doservicesand appsinteract appropriately? CanImigrate smoothlyand quickly Operator: Configure Once, Run Anything Developer: Build Once, Run Anywhere (Finally)
  31. © 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 Contributor’s laptop Customer Servers Docker solves the NXN problem
  32. © 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
  33. © 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 hardware—VMs, 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.
  34. © 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
  35. © 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
  36. © 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
  37. © 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Δ Bins / 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
  38. © 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) Container A Container B Container C ContainerA Push Search Pull Run Host 1 OS (Linux)
  39. © 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Δ Bins / Base Container Image Host is now running A’’ Container Mod A’’ AppΔ Bins / Bins/ Libs App A Bins / Bins/ Libs App A’’ Host running A wants to upgrade to A’’. Requests update. Gets only diffs Container Mod A’
  40. © 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
  41. © 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
  42. © 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/
  43. © 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 ……
  44. © 2015 Progress Software Corporation. All rights reserved.45 How a command looks like
  45. © 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 don’t recommend that you use it in production yet Define your app’s 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.
  46. © 2015 Progress Software Corporation. All rights reserved.47 Open Source Cloud Environments
  47. © 2015 Progress Software Corporation. All rights reserved.48 Introduction to Hadoop and MapReduce
  48. © 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!
  49. © 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
  50. © 2015 Progress Software Corporation. All rights reserved.51 mage from http://wiki.apache.org/hadoop-data/attachments/HadoopPresentations/attachments/aw-apachecon-eu-2009.pdf
  51. © 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
  52. © 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
  53. © 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
  54. © 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))
  55. © 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
  56. © 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)
  57. © 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<k2 => h(k1)<h(k2) pig sheep yak zebra aardvark ant bee cow elephant Map Map Map Reduce Reduce ant, bee zebra aardvark, elephant cow pig sheep, yak [A-M] [N-Z]
  58. © 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
  59. © 2015 Progress Software Corporation. All rights reserved.60 Eucalyptus, OpenStack
  60. © 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
  61. © 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”
  62. © 2015 Progress Software Corporation. All rights reserved.63 Eucalyptus Architecture pc: wikipedia
  63. © 2015 Progress Software Corporation. All rights reserved.64 Eucalyptus Components pc: wikipedia
  64. © 2015 Progress Software Corporation. All rights reserved.65 Eucalyptus Compatibility with Amazon Web Services pc: wikipedia
  65. © 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
  66. © 2015 Progress Software Corporation. All rights reserved.67 Openstack Architecture and Integration with VMWare
  67. © 2015 Progress Software Corporation. All rights reserved.68 Commercial Cloud Environments
  68. © 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
  69. Some Core AWS Concepts
  70. © 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 worldwideAZ AZ AZ AZ AZ Transit Transit
  71. © 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 <2ms, usually <1ms  When launching an EC2 instance, a customer chooses an AZ  Private AWS fiber links interconnect all major regions AVAILABILITY ZONE 3 EC2 AVAILABILITY ZONE 2 AVAILABILITY ZONE 1 EC2 EC2 EC2 REGION
  72. © 2015 Progress Software Corporation. All rights reserved.73 Example AWS Availability Zone AZ AZ AZ AZ AZ Transit Transit
  73. © 2015 Progress Software Corporation. All rights reserved.74 Example AWS Data Center
  74. © 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 2EC 2EC 2 EC 2
  75. © 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
  76. © 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 v4–based
  77. © 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
  78. Amazon Elastic Container Service +
  79. © 2015 Progress Software Corporation. All rights reserved.80 Key Components  Docker Daemon  Task Definitions  Containers  Clusters  Container Instances
  80. © 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
  81. © 2015 Progress Software Corporation. All rights reserved.82 Typical User Workflow Push Image(s)
  82. © 2015 Progress Software Corporation. All rights reserved.83 Typical User Workflow Create Task Definition Amazon ECS Declare resource requirements
  83. © 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.
  84. © 2015 Progress Software Corporation. All rights reserved.85 Typical User Workflow Describe Cluster Amazon ECS Get information about cluster state and available resources
  85. © 2015 Progress Software Corporation. All rights reserved.86 Typical User Workflow Run Task Amazon ECS Using the task definition created above
  86. © 2015 Progress Software Corporation. All rights reserved.87 Typical User Workflow Amazon ECSDescribe Cluster Get information about cluster state and running containers
  87. Rapid Application Development—on Any Device or Cloud TURNING IDEAS INTO BUSINESS REALITY WITH
  88. © 2015 Progress Software Corporation. All rights reserved.89 Modern Demands of Application Development Today’s application development demands speed Today’s applications need to go anywhere you do Today’s applications are driven by integrated data
  89. © 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
  90. © 2015 Progress Software Corporation. All rights reserved.91 Gartner’s 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 VirtualizationAbstraction of the hardware/servers aPaaS (Application PaaS, Subscription Service) Software-as-a-Service (SaaS) Solutions running in the cloud as services
  91. © 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 sourceLEVERAGING ANY DATA… Deployment Platform for code style apps Low-code RAD for Cloud Applications Flexible deployment on public, private, hybrid or on-premise
  92. © 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
  93. © 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
  94. © 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
  95. © 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
  96. © 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
  97. © 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
  98. © 2015 Progress Software Corporation. All rights reserved.99 Progress Rollbase Customers
  99. © 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
  100. © 2015 Progress Software Corporation. All rights reserved.101 Mobile (R)evolution
  101. © 2015 Progress Software Corporation. All rights reserved.102 By 2020, 90% of world’s population aged over 6 will have a mobile phone
  102. © 2015 Progress Software Corporation. All rights reserved.103
  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
  104. © 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
  105. © 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
  106. © 2015 Progress Software Corporation. All rights reserved.107 Mobile Options Native Mobile Web “Hybrid” Mobile
  107. © 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
  108. © 2015 Progress Software Corporation. All rights reserved.109 http://wiki.developerforce.com
  109. © 2015 Progress Software Corporation. All rights reserved.110 Our solution || hybrid mobile development in the cloud
  110. © 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
  111. © 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
  112. © 2015 Progress Software Corporation. All rights reserved.113 <…> <…> PC MAC SDKs Compilers Etc. In other words – we change this:
  113. © 2015 Progress Software Corporation. All rights reserved.114 <…> Into this:
  114. © 2015 Progress Software Corporation. All rights reserved.115 IDEs  In-Browser Client (part of the Telerik Platform)  Windows Client  Visual Studio Extension (2010->2013)
  115. © 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)
  116. © 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 AppBuilder’s build services (you get an installer back)
  117. © 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
  118. © 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
  119. © 2015 Progress Software Corporation. All rights reserved.121 Publish straight to Apple & Google app stores (You don’t need a Mac) 
  120. © 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
  121. © 2015 Progress Software Corporation. All rights reserved.123 IoT
  122. © 2015 Progress Software Corporation. All rights reserved.124
  123. © 2015 Progress Software Corporation. All rights reserved.126
  124. © 2015 Progress Software Corporation. All rights reserved.127
  125. © 2015 Progress Software Corporation. All rights reserved.128
  126. © 2015 Progress Software Corporation. All rights reserved.129
  127. © 2015 Progress Software Corporation. All rights reserved.130
  128. © 2015 Progress Software Corporation. All rights reserved.131
  129. © 2015 Progress Software Corporation. All rights reserved.132 If This Then That http://ifttt.com
  130. © 2015 Progress Software Corporation. All rights reserved.133
  131. © 2015 Progress Software Corporation. All rights reserved.134
  132. © 2015 Progress Software Corporation. All rights reserved.135
  133. © 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”
  134. © 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
  135. © 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
  136. © 2015 Progress Software Corporation. All rights reserved.139
  137. © 2015 Progress Software Corporation. All rights reserved.140
  138. © 2015 Progress Software Corporation. All rights reserved.141 Characteristics Event Driven Ambient Intelligence Flexible Structure Semantic Sharing Complex Access Technologies Internet of Things
  139. © 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.
  140. © 2015 Progress Software Corporation. All rights reserved.143
  141. © 2015 Progress Software Corporation. All rights reserved.144 Technical Perspective Sensing Layer Communication Layer Management Layer
  142. © 2015 Progress Software Corporation. All rights reserved.145 • Management: – Data management – Waste management – Urban planning – Production management – ...
  143. © 2015 Progress Software Corporation. All rights reserved.146 • Logistics: – Warehouse, management • Inventory control – Port management • ETAs, ETDs • Ships, boats, containers, etc. – Executable code – …
  144. © 2015 Progress Software Corporation. All rights reserved.147 • Retail: – Intelligent shopping – Bar code in retail – Electronic tags – …
  145. © 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
  146. © 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.
  147. © 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
  148. © 2015 Progress Software Corporation. All rights reserved.151 Smart Things Timeline
  149. © 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
  150. © 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
  151. © 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
  152. © 2015 Progress Software Corporation. All rights reserved.155 Future of IoT
  153. © 2015 Progress Software Corporation. All rights reserved.156 IoT Landscape
  154. © 2015 Progress Software Corporation. All rights reserved.157 Some suggestions on IoT Projects
  155. © 2015 Progress Software Corporation. All rights reserved.158
  156. © 2015 Progress Software Corporation. All rights reserved.159
  157. © 2015 Progress Software Corporation. All rights reserved.160 V2V (vehicle to vehicle) Technology
  158. © 2015 Progress Software Corporation. All rights reserved.161
  159. © 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
  160. © 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
  161. © 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
  162. © 2015 Progress Software Corporation. All rights reserved.165 Future?
  163. © 2015 Progress Software Corporation. All rights reserved.167