Lecture III: Challenges for software engineering with the cloud CS 4593 Cloud-Oriented Big Data and Software Engineering.

Slides:



Advertisements
Similar presentations
Ed Duguid with subject: MACE Cloud
Advertisements

Thanks to Microsoft Azure’s Scalability, BA Minds Delivers a Cost-Effective CRM Solution to Small and Medium-Sized Enterprises in Latin America MICROSOFT.
By Adam Balla & Wachiu Siu
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 6 2/13/2015.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
What is Cloud Computing? o Cloud computing:- is a style of computing in which dynamically scalable and often virtualized resources are provided as a service.
The Cloud: Demystified Neil Cattermull Frontier Technology.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 4.
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
SaaS, PaaS & TaaS By: Raza Usmani
M.A.Doman Model for enabling the delivery of computing as a SERVICE.
Does "The Cloud" Fit Into Your Organization? Tom Horan Meridian IT Inc. VP, Strategic Markets (847)
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
EA and IT Infrastructure - 1© Minder Chen, Stages in IT Infrastructure Evolution Mainframe/Mini Computers Personal Computer Client/Sever Computing.
Plan Introduction What is Cloud Computing?
Banking Clouds V International Youth Banking Forum.
* Who we are? * Animation Industry, Challenges… * What is Render Cloud Farm? * Render Cloud Farm for Whom? * Scope of Blender? * Types of Rendering farms.
Introduction to Cloud Computing
MIGRATING INTO A CLOUD P. Sai Kiran. 2 Cloud Computing Definition “It is a techno-business disruptive model of using distributed large-scale data centers.
Effectively Explaining the Cloud to Your Colleagues.
Cloud Computing.
1 Introduction to Cloud Computing Jian Tang 01/19/2012.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
FIORANO SERVICE BUS The Cloud Enablement Platform
Software to Data model Lenos Vacanas, Stelios Sotiriadis, Euripides Petrakis Technical University of Crete (TUC), Greece Workshop.
Cloud Computing Saneel Bidaye uni-slb2181. What is Cloud Computing? Cloud Computing refers to both the applications delivered as services over the Internet.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
Cloud Computing Kwangyun Cho v=8AXk25TUSRQ.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Introduction to Cloud Computing
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
Mehdi Ghayoumi Kent State University Computer Science Department Summer 2015 Exposition on Cyber Infrastructure and Big Data.
Plan  Introduction  What is Cloud Computing?  Why is it called ‘’Cloud Computing’’?  Characteristics of Cloud Computing  Advantages of Cloud Computing.
What is the cloud ? IT as a service Cloud allows access to services without user technical knowledge or control of supporting infrastructure Best described.
1 NETE4631 Course Wrap-up and Benefits, Challenges, Risks Lecture Notes #15.
Cloud Computing Project By:Jessica, Fadiah, and Bill.
Windows Azure Virtual Machines Anton Boyko. A Continuous Offering From Private to Public Cloud.
Company small business cloud solution Client UNIVERSITY OF BEDFORDSHIRE.
Corent’s SurPaaS Transforms Your Software into Scalable SaaS on Windows Azure – in Days! COMPANY PROFILE: CORENT TECHNOLOGY INC. Corent’s SurPaaS is a.
Enterprise Cloud Computing
Paperless Timesheet Management Project Anant Pednekar.
Nov 22/26 Tech Forum 2015 Roberto Trinconi Cloud the New Path to the Business Leadership.
Chapter 8 – Cloud Computing
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Web Technologies Lecture 13 Introduction to cloud computing.
Mark Gilbert Microsoft Corporation Services Taxonomy Building Block Services Attached Services Finished Services.
noun ; Software Defined Enterprise/SDE/ The enterprise who leverages software to flank their traditional business offerings, or to create entirely new.
Gain High Availability Performance and Scale of Applications Running on Windows Azure with KEMP Technologies’ Virtual LoadMaster COMPANY PROFILE: KEMP.
Cloud Architecture. SPI Model Cloud Computing Classification Model – SPI Cloud Computing Classification Model – SPI - SaaS: (Software as a Service) -
1 TCS Confidential. 2 Objective : In this session we will be able to learn:  What is Cloud Computing?  Characteristics  Cloud Flavors  Cloud Deployment.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
PRESENTED BY– IRAM KHAN ISHITA TRIPATHI GAURAV AGRAWAL GAURAV SINGH HIMANSHU AWASTHI JAISWAR VIJAY KUMAR JITENDRA KUMAR VERMA JITENDRA SINGH KAMAL KUMAR.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
Lecture XV: Review CS 4593 Cloud-Oriented Big Data and Software Engineering.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Agenda  What is Cloud Computing?  Milestone of Cloud Computing  Common Attributes of Cloud Computing  Cloud Service Layers  Cloud Implementation.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
Unit 3 Virtualization.
Chapter 6: Securing the Cloud
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Platform as a Service (PaaS)
What is Cloud Computing - How cloud computing help your Business?
Platform as a Service.
Introduction to Cloud Computing
NAV In The Cloud: Exploring Options for a Cloud-based Deployment
3 Cloud Computing.
Distributed Systems through Web Services
Emerging technologies-
Cloud Computing: Concepts
Presentation transcript:

Lecture III: Challenges for software engineering with the cloud CS 4593 Cloud-Oriented Big Data and Software Engineering

Why is cloud-oriented software engineering different – or is it? For Cloud Client Software –Choosing the platform –Work with web services instead of libraries –Data is not at hand –Network and service exceptions –Pricing issues throughout the whole development and deployment process 2

Choosing the platform Market and Data Centric Long term expectation of the platform Price is also a concern –Hosting costs –Data and Other service costs Continuous Integration 3

Pricing: Windows Azure 4

5

Pricing: Google App Engine 6

7

Work with the services Invoking a web service is basically sending a HTTP request to the web servers –SOAP services requires an XML format envelop as the input –Build a SOAP and send it out –RESTful services are like a simple GET operation from a URL –All parameters are put in the URL 8

Examples SOAP Web Service Restful Service – sitories 9

Work with the services Need network access when executing your software Re-Interpretation of the results from the service –SOAP services: XML Infoset –Restful services: XML, JSON, CSV, …

Data is not at hand Data may not be stable –You may get different result next time you access the same service with the same input Search API, Price query API Data access may be restricted –You cannot invoke the API for too many times within a short period 150K in 24 hour for google Search API

Code is not at hand Potential updates may affect the client software –Not all changes of the services are backward compatible –You get the benefit of not maintaining the library, but you also get the risk that their update breaks your software –Be preventive for potential changes

Network or server may fail Data may not be complete –Need to check the validity of data –Resend the request or handle the exception in other ways –Monitoring of the data response Data may not reach in time –Multi-thread to avoid freeze at the user side

Pricing Issues: Requirement Decide the required resources –How many users? –How much budget? Combine business models –Income and Outcome balance –Can the API fee be transferred? –What if we run out of money Limitation? Plan B?

Pricing Issues: Design and Implementation How to better make use of the services –Never waste the response results (i.e., request the same data twice) –How timely the result is? If the data may change, then perhaps we have to resend the request –Balance Gain and cost of each execution

Pricing Issues: Testing Test will also cost you money –Optimize your test to use less services –Using mocking frameworks to replace service dependencies Testing of service is really important –If it is not working it will cost you a lot during the real- time running –Testing with small steps and small datasets first

Pricing Issues: Maintenance A bug may cost you a lot –When you change something Keep eyes on which services it will affect Always ask: Will the change increase number of service request made? Always ask: Will the change results in failed service invocation? Perform sufficient testing with mocking frameworks and small test set –For Debugging Debug with mocking framework, and contact the service developer team

Why is cloud-oriented software engineering different – or is it? For Cloud Service Software –Choosing the infrastructure –SOAP or REST based API –Elasticity: scale the service Architecture: multi-tenant Programming model, e.g., map-reduce –Price issues again –Runtime Software Evolution 18

Choosing the Infrastructure Public Cloud Private Cloud Hybrid Cloud

Public Cloud Provided by a cloud vender –Google, Amazon Usually the most economic option All benefits of cloud computing Data privacy can be a large concern Special Requirement such as hardware features can not be satisfied

Private Cloud Build your own cloud for your company or organization Different products and projects can share the cloud and get most cloud features Require an internal portal to allocate resources –May be complicated –May require maintenance team –Can leverage existing frameworks, e.g., openstack

Private Cloud Data privacy is better protected Can handle special hardware requirements May avoid budget constraints in development –Maybe still there if departments are independent High price and limited scalability Maintenance cost May not get the full benefits of cloud, e.g., backup, recovery, …

Hybrid Cloud Combines public cloud and private cloud Need a virtual layer to cover the two clouds and provide portal

Hybrid Cloud Privacy data and special hardware requirement go to local servers Other data and computation go to public cloud Achieve both flexibility, privacy and scalability May take advantage of legacy machines Require special management layer Communication can be complicated

Service Interface Restful or SOAP –SOAP is where web services developed from –But restful service is dominating now Restful vs. SOAP –Restful is faster and has simpler interface –Restful service support multiple data formats –SOAP provide more advanced security and data validity checking –SOAP is more reliable (e.g., resending mechanism to guarantee successful data transfer)

Elasticity The software should take advantage of the scalable resources How one software instance can take advantage of multiple virtual machines –Map reduce programming model How one software instance can serve multiple users –Multi-tenant architecture

Pricing Issue The same as cloud clients –You may also use other services How to generate lower resource cost without affect the service quality –Less CPU time –Less read/write operations –Less memory usage –Less storage –The best combination!

Runtime Software Evolution Continuous Integration and deployment –Release new features as soon as developers commit them –Automatic building –Automatic testing –Automatic deployment –Tool Supports: Jenkins, Jetbrains, …

Runtime Software Evolution Dynamic software loading –Component-based architecture –Re-Configuration –Reflection –Just-in-time Compilation

Service Deployment Monitoring –Monitor how your service is being used –Monitor the usage of resources Pricing –Setup reasonable price for your service –Good thing: You may pay less to your up- stream services if you get less users Billing –Send bills to your users

Cloud Migration Migrate from traditional web-based or desktop- based applications to cloud Evaluating the business case for public, private and hybrid cloud models Developing an enterprise integration and migration strategy towards cloud provisioning Review enterprise applications for SaaS candidates

Cloud Migration Review enterprise requirements for cloud security, governance and standards Determine optimal management of your virtualized environment and cloud implementation Review case studies from early adopters of SaaS, PaaS and IaaS solutions

Service Deployment Methodology It is paramount that IT and business goals are aligned throughout the process when considering a move to cloud computing, such as cost savings, security, control, flexibility, manageability, simplification, ease of use, expandability, reliability, availability… Consultation and Education Assessment and Design Deployment and Migration Monitoring and Tuning Customer Business Driver

Deployment and Migration Assessment and Design leads to a working solutions document (published best practice solutions guides) Solutions planning Investment planning & acquisition Integration & test Deployment, documentation, operations & maintenance

Monitoring and Tuning A cloud monitoring solution should identify problems before they become critical. A nice option may be to deploy a third party monitoring service. By implementing a comprehensive monitoring solution IT organization are equipped with the tools to determine real business value for cloud solutions

Summary Software Engineering for Cloud –For Cloud Clients Platform Service invocation Budget driven –For Cloud Services Infrastructure Programming model and software architecture Monitoring Runtime evolution –Migration to the cloud

Next Class Web services –SOAP services WSDL SOAP Envelop –Restful services URI Self-descriptive messages