Cloud Computing Chapter 2

Similar documents
Distribution and web services

Distributed Objects. Object-Oriented Application Development

CHAPTER 2. Introduction to Middleware Technologies

Network Services, Cloud Computing and Virtualization

Introduction to ArcGIS Server Architecture and Services. Amr Wahba

(9A05803) WEB SERVICES (ELECTIVE - III)

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

Module Day Topic. 1 Definition of Cloud Computing and its Basics

1.264 Lecture 16. Legacy Middleware

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

COMMUNICATION PROTOCOLS

CORBA (Common Object Request Broker Architecture)

Introduction to Web Services & SOA

Appendix A - Glossary(of OO software term s)

Chapter 4 Communication

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

Distributed Systems Middleware

Chapter 16. Layering a computing infrastructure

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Introduction to data centers

Architectural patterns and models for implementing CSPA

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

MONitoring Agents using a Large Integrated Services Architecture. Iosif Legrand California Institute of Technology

Exam C Foundations of IBM Cloud Reference Architecture V5

REST Easy with Infrared360

IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

Introduction to Web Services & SOA

Services Web Nabil Abdennadher

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 3 Processes

RIKA: Component Architectures

Agent-Enabling Transformation of E-Commerce Portals with Web Services

CAS 703 Software Design

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

ID2208 Programming Web Services

Lecture 09: VMs and VCS head in the clouds

DISTRIBUTED COMPUTING

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

UNITE 2003 Technology Conference

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar

Artix Building Service Oriented Architectures Using Artix

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

Distributed Technologies - overview & GIPSY Communication Procedure

CHEM-E Process Automation and Information Systems: Applications

A short introduction to Web Services

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

Whiteboard 6 feet by 4 feet (minimum) Whiteboard markers Red, Blue, Green, Black Video Projector (1024 X 768 resolutions)

Web Services Security. Dr. Ingo Melzer, Prof. Mario Jeckle

SERVICE-ORIENTED COMPUTING

殷亚凤. Processes. Distributed Systems [3]

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Secure VFX in the Cloud. Microsoft Azure

Chapter 8 Web Services Objectives

Migration to Service Oriented Architecture Using Web Services Whitepaper

PaaS Cloud mit Java. Eberhard Wolff, Principal Technologist, SpringSource A division of VMware VMware Inc. All rights reserved

Advanced Lectures on knowledge Engineering

Incorporating applications to a Service Oriented Architecture

Cloud Computing and Service-Oriented Architectures

Cloud Computing Lecture 4

Artix ESB. Building Service Oriented Architectures Using Artix ESB. Making Software Work Together. Version 5.0 July 2007

Application Servers G Session 5 - Main Theme Object Management Architectures. Dr. Jean-Claude Franchitti

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Developing Enterprise Cloud Solutions with Azure

Introduction to Worklight Integration IBM Corporation

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 22: Remote Procedure Call (RPC)

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

Sistemi ICT per il Business Networking

Developing Microsoft Azure Solutions

XML Web Services Basics

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

Managing Remote Medical Devices Through The Cloud. Joel K Young SVP of Research and Development & CTO Digi International Friday, September 9 11:30AM

CLOUD COMPUTING. Lecture 4: Introductory lecture for cloud computing. By: Latifa ALrashed. Networks and Communication Department

Implementing Microsoft Azure Infrastructure Solutions

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4

Why Microsoft Azure is the right choice for your Public Cloud, a Consultants view by Simon Conyard

Service-Oriented Architecture (SOA)

Service Oriented Architectures Visions Concepts Reality

Today: Distributed Objects. Distributed Objects

Distributed Systems Principles and Paradigms

Distributed Environments. CORBA, JavaRMI and DCOM

Network+ Guide to Networks 6 th Edition

Faculté Polytechnique

DS 2009: middleware. David Evans

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

ADC im Cloud - Zeitalter

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Trusteq Oy

Cloud platforms. T Mobile Systems Programming

COP Cloud Computing. Presented by: Sanketh Beerabbi University of Central Florida

In this unit we are going to look at cloud computing. Cloud computing, also known as 'on-demand computing', is a kind of Internet-based computing,

Ivanti User Workspace Manager

Modern web applications and web sites are not "islands". They need to communicate with each other and share information.

Cloud & AWS Essentials Agenda. Introduction What is the cloud? DevOps approach Basic AWS overview. VPC EC2 and EBS S3 RDS.

02267: Software Development of Web Services

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Middleware definitions and overview

Communication. Distributed Systems Santa Clara University 2016

Transcription:

Cloud Computing Chapter 2 1/17/2012

Agenda Composability Infrastructure Platforms Virtual Appliances Communication Protocol Applications Connecting to Cloud

Composability Applications build in the cloud are often built from a collection of components. A Composable system has two desirable properties. Modular : It is a self contained, independent unit that is cooperative, reusable and replaceable. Stateless: A transaction is executed regardless of other transactions and Process The scope of composability goes down the stack and is minimal at the SaaS?? It s a highly desirable property from a developer or an user point of view, but is not a mandatory requirement. As we move to IaaS to PaaS to SaaS, the scope of composability diminishes. Benefits of Composable System : Easier to assemble system Cheaper system development More reliable operation A larger pool of qualified developers A logical design methodology

Virtual Machine Give certain scenarios??

Virtual Machine A virtual machine (VM) is a software implementation of a machine (i.e. a computer) that executes programs like a physical machine. Virtual machines are separated into two major classifications, based on their use and degree of correspondence to any real machine: A system virtual machine provides a complete system platform which supports the execution of a complete operating system (OS).These usually emulate an existing architecture, and are built with the purpose of either providing a platform to run programs where the real hardware is not available for use (for example, executing software on otherwise obsolete platforms), or of having multiple instances of virtual machines lead to more efficient use of computing resources. A process virtual machine (also, language virtual machine) is designed to run a single program, which means that it supports a single process. Such virtual machines are usually closely suited to one or more programming languages and built with the purpose of providing program portability and flexibility (amongst other things). Give certain scenarios??

Infrastructure Infrastructure as a service (IaaS) rely on virtual machine technology Virtual servers are defined in terms of no. of CPU cycles, network bandwidth, memory access like any real server. One of the important components is called VMM ( Virtual Machine Monitor ), or also called hypervisor, which is a low level program allowing different operating system to run in their memory space and manages I/O for the virtual machine.

Infrastructure Core Connectivity And delivery Abstraction Authentication Security TCP/IP Grid/Cluster Images VMM Hardware Computer Network Storage Facilities HVAC Power Space

Virtual Appliances Application such as web server, database server that can run on a virtual machine image Are referred as virtual appliance A software appliance is a software application that might be combined with just enough operating system (JeOS) for it to run optimally on industry standard hardware (typically a server) or in a virtual machine. Like software appliances, virtual appliances are intended to eliminate the installation, configuration and maintenance costs associated with running complex stacks of software. JeOS is the abbreviation (pronounced "juice") for Just Enough Operating System as it applies to a software appliance. JeOS refers to a customized operating system that fits the needs of a particular application. It is not a generic, one-size-fits-all operating system so it only needs to include the pieces of an operating system (e.g., kernel) required to support a particular application and any other third-party components contained in the appliance.

Platform A platform in cloud is a software layer that is used to create higher level service. Example : Salesforce, Windows Azure, Google AppEngine These three services provides hosted software and hardware to build and deploy web application or Services, within the capabilities of the particular platform Platform represent nearly the full cloud software stack, excluding the final presentation layer that is the user interface layer. The vendors offer native OS and application packages So a platform based on Sun xvm hypervisor, with NetBeans Integrated development Environment is offered, similar is the case of Azure with.net IDE and SQL Server

Communication Protocol Transfer Protocol : HTTP, HTTPS Inter-process Communication over distributed network DCOM, Java RMI, COBRA XML RPC SOAP WSDL REST

Distributed object computing Distributed object computing: objects to be distributed across a heterogeneous network, These objects may be distributed on different computers throughout a network, living within their own address space outside of an application, and yet appear as though they were local to an application. Three of the most popular distributed object paradigms are Microsoft's Distributed Component Object Model (DCOM), OMG's Common Object Request Broker Architecture (CORBA) JavaSoft's Java/Remote Method Invocation (Java/RMI). 1. To invoke a remote method, the client makes a call to the client proxy. 2. The client side proxy packs the call parameters into a request message and invokes a wire protocol like IIOP(in CORBA) or ORPC(in DCOM) or JRMP(in Java/RMI) to ship the message to the server. 3. At the server side, the wire protocol delivers the message to the server side stub. The server side stub then unpacks the message and calls the actual method on the object. 4. In both CORBA and Java/RMI, the client stub is called the stub or proxy and the server stub is called skeleton. In DCOM, the client stub is referred to as proxy and the server stub is referred to as stub.

Distributed object computing

SOAP VS RPC Why SOAP? It is important for application development to allow Internet communication between programs. Today's applications communicate using Remote Procedure Calls (RPC) between objects like DCOM and CORBA, but HTTP was not designed for this. RPC represents a compatibility and security problem; firewalls and proxy servers will normally block this kind of traffic. A better way to communicate between applications is over HTTP, because HTTP is supported by all Internet browsers and servers. SOAP was created to accomplish this. SOAP provides a way to communicate between applications running on different operating systems, with different technologies and programming languages.

SOAP

REST Representational State Transfer (REST) However, there exists an even less restrictive form of SOA than a web service representational state transfer (REST). Described by Roy Fielding in his doctoral dissertation, (web browser and web server). InREST each service (called resource in REST) is viewed as resource identified by a URL. only operations allowed are the HTTP GET (Read), PUT (Update), POST(Create) and DELETE (Delete) Client-Server: Stateless:. Caching No Interface Definition As there is no interface definition (like in SOAP), it becomes mandatory for a Client and Server to have a mutual understanding of the messages being transmitted between them.

Connecting to cloud Basically two techniques A web browser A proprietary application The application can run on a server, PC, a mobile device. Three basic methods of security Use a secure protocol such as SSL, FTPS, SSH Use a VPN Encryption Gbridge, a collaborative sharing mechanism through gtalk

Applications This section discusses one of the problems of distributed web environment which is statelessness of standard protocols. Example HTTP get and put are standalone instructions. - MakeMyTrip - Chat Servers - Any web application Cloud computing adds more complexity with focus on virtualization. Couple of important terms Orchestration Service Bus