Software as a Service (SaaS), Service-Oriented Architecture (SOA), and Cloud Computing

Similar documents
Intro to Software as a Service (SaaS) and Cloud Computing

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

Case Study: Aurea Software Goes Beyond the Limits of Amazon EBS to Run 200 Kubernetes Stateful Pods Per Host

Cloud Computing. What is cloud computing. CS 537 Fall 2017

Cloud Computing. Technologies and Types

NewSQL Without Compromise

MQ High Availability and Disaster Recovery Implementation scenarios

FIVE REASONS YOU SHOULD RUN CONTAINERS ON BARE METAL, NOT VMS

Cloud Computing Technologies and Types

YOUR APPLICATION S JOURNEY TO THE CLOUD. What s the best way to get cloud native capabilities for your existing applications?

SIEMLESS THREAT DETECTION FOR AWS

Data Centers and Cloud Computing. Slides courtesy of Tim Wood

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Data Centers and Cloud Computing. Data Centers

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Course Overview. ECE 1779 Introduction to Cloud Computing. Marking. Class Mechanics. Eyal de Lara

One of the most challenging tasks for today s app developers is to ensure that users are actively engaging with their app.

Community Clouds And why you should care about them

Data Centers and Cloud Computing

Introduction To Cloud Computing

CORPORATE PERFORMANCE IMPROVEMENT DOES CLOUD MEAN THE PRIVATE DATA CENTER IS DEAD?

COMPTIA CLO-001 EXAM QUESTIONS & ANSWERS

Faculté Polytechnique

CPSC 426/526. Cloud Computing. Ennan Zhai. Computer Science Department Yale University

Building a government cloud Concepts and Solutions

ITP 140 Mobile Technologies. Build vs. Buy

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Cloud Computing: Making the Right Choice for Your Organization

Rok: Decentralized storage for the cloud native world

RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE.

Agenda. AWS Database Services Traditional vs AWS Data services model Amazon RDS Redshift DynamoDB ElastiCache

2013 Cloud Computing Outlook: Private Cloud Expected to Grow at Twice the Rate of Public Cloud

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization

Programowanie w chmurze na platformie Java EE Wykład 1 - dr inż. Piotr Zając

Infrastructure Innovation Opportunities Y Combinator 2013

Running MarkLogic in Containers (Both Docker and Kubernetes)

Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS)

10 Cloud Myths Demystified

Best Practices to Transition to the Cloud. Five ways to improve IT agility and speed development by adopting a Cloud DevOps approach

10 Cloud Myths Demystified

A Better Approach to Leveraging an OpenStack Private Cloud. David Linthicum

Introduction to Customer Data Platforms

Bringing OpenStack to the Enterprise. An enterprise-class solution ensures you get the required performance, reliability, and security

ebook ADVANCED LOAD BALANCING IN THE CLOUD 5 WAYS TO SIMPLIFY THE CHAOS

Digital Transformation with HPE Cloud Management October 26, Copyright 2016 Vivit Worldwide

GET CLOUD EMPOWERED. SEE HOW THE CLOUD CAN TRANSFORM YOUR BUSINESS.

Genomics on Cisco Metacloud + SwiftStack

Best Practices in Securing a Multicloud World

Data safety for digital business. Veritas Backup Exec WHITE PAPER. One solution for hybrid, physical, and virtual environments.

Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Identifying Workloads for the Cloud

Cloud Computing. Ennan Zhai. Computer Science at Yale University

270 Total Nodes. 15 Nodes Down 2018 CONTAINER ADOPTION SURVEY. Clusters Running. AWS: us-east-1a 23 nodes. AWS: us-west-1a 62 nodes

Falling Out of the Clouds: When Your Big Data Needs a New Home

Cloud Storage with AWS: EFS vs EBS vs S3 AHMAD KARAWASH

CLOUD COMPUTING ABSTRACT

Private Cloud Database Consolidation Name, Title

Up and Running Software The Development Process

Defining Security for an AWS EKS deployment

Choosing the Right Container Infrastructure for Your Organization

Cloud Computing 4/17/2016. Outline. Cloud Computing. Centralized versus Distributed Computing Some people argue that Cloud Computing. Cloud Computing.

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Why Scale Matters & How the Cloud Really is Different

1 The intersection of IAM and the cloud

VMWARE PIVOTAL CONTAINER SERVICE

Levels of Representation / Interpretation

Hybrid Infrastructure Hosting Clouds + Dedicated + Colocated GoGrid / ServePath September 09

THE ZADARA CLOUD. An overview of the Zadara Storage Cloud and VPSA Storage Array technology WHITE PAPER

Kaltura Platform: Ultimate Deployment Flexibility

End-User Research Findings: HPC in Cloud Environments

Evaluating Hyperconverged Full Stack Solutions by, David Floyer

Building High Performance Apps using NoSQL. Swami Sivasubramanian General Manager, AWS NoSQL

What Mobile Development Model is Right for You?

Setting up Kubernetes with Day 2 in Mind. Angela Chin, Senior Software Engineer, Pivotal Urvashi Reddy, Senior Software Engineer, Pivotal

PROTECT YOUR DATA FROM MALWARE AND ENSURE BUSINESS CONTINUITY ON THE CLOUD WITH NAVLINK MANAGED AMAZON WEB SERVICES MANAGED AWS

How Small to Medium-Sized Businesses Can Leverage the Cloud in Secure, Money-Saving Ways A White Paper by CMIT Solutions

DEPLOY MODERN APPS WITH KUBERNETES AS A SERVICE

How Software Defined Everything can reduce TCO

DATACENTER AS A SERVICE. We unburden you at the level you desire

Software Defined Storage for the Evolving Data Center

Going cloud-native with Kubernetes and Pivotal

Portfolio Series. True+Way ASL. Daniel Cox. UI/UX Design Process. Web Development Process

DEPLOY MODERN APPS WITH KUBERNETES AS A SERVICE

Benefits of Extending your Datacenters with Amazon Web Services

STREAMLINED CERTIFICATION PATHS

/ Cloud Computing. Recitation 5 February 14th, 2017

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Making hybrid IT simple with Capgemini and Microsoft Azure Stack

Go Cloud. VMware vcloud Datacenter Services by BIOS

CLOUD COMPUTING PRIMER FOR EXECUTIVES

Mobile Cloud Computing

Orchestration Ownage: Exploiting Container-Centric Datacenter Platforms

App Servers NG: Characteristics of The Next Generation Application Servers. Guy Nirpaz, VP R&D and Chief Architect GigaSpaces Technologies

Today s Objec4ves. Data Center. Virtualiza4on Cloud Compu4ng Amazon Web Services. What did you think? 10/23/17. Oct 23, 2017 Sprenkle - CSCI325

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Cisco CloudCenter Use Case Summary

DevOps Tooling from AWS

RESTCOMMONE. WebRTC SDKs for Web, IOS, And Android Copyright All Rights Reserved Page 2

Middle East Technical University. Jeren AKHOUNDI ( ) Ipek Deniz Demirtel ( ) Derya Nur Ulus ( ) CENG553 Database Management Systems

RELIABILITY & AVAILABILITY IN THE CLOUD

Transcription:

Software as a Service (SaaS), Service-Oriented Architecture (SOA), and Cloud Computing Extracted and modified from Engineering Software as a Service slides by David Patterson and Armando Fox 1

High-Level Overview 2

What Makes a Great Software Engineer? P. Li, A. Ko, J. Zhu, Microsoft & Univ. of Washington, Proc. ICSE 2015 59 interviews with recognized SE experts at Microsoft Always improving Passionate Technically open-minded Data-driven Personal Characteristics Decision Making Knows people & organization Updates mental models when learn new skills/facts/context Consider situation at multiple levels when making judgments Can reason about complex & intertwining ideas Helps others understand by tailoring explanations to them Creates shared success possibly via personal compromises Creates safe haven where others can learn from mistakes Gives honest feedback Team Skills Technical Skills Elegant solutions Creative thinking when faced with limitations of current solutions Anticipates technical needs based on prior experience 3

Which aspect of the software lifecycle consumes the most resources? (A) (B) (C) (D) Design Development Testing/debugging Maintenance 4

Shrink-wrapped software client-specific binary, frequent upgrades Must work w/many versions of HW, OS, Libraries, Hard to maintain Extensive compatibility testing per release Alternative: server app, client=browser Search, email, commerce, social nets, video Now also productivity (Google Docs/Office 365), finance (TurboTax Online), IDEs (Codenvy) 5

1990s-2000s: SaaS > SWS 1. No install worries 2. Data stored safely in cloud 3. Groups can share/collaborate on data 4. 1 copy of SW, single HW/OS environment no compatibility hassles for developers beta test new features on 1% of user simplifies upgrades for developers no user upgrade requests 5. Continuous customer feedback possible, respond by rolling out new changes quickly 6

Smartphone Native Apps: Back to the future? + Use HW features unavailable in HTML5 + May be faster or not Many just HTML5 apps in native container + Your brand is on user s home screen Though can get this with bookmarks too Harder to maintain Upgrades now once again user s problem Alternative: HTML5+JS, eg Framework7 7

Service-Oriented Architecture 8

Bookstore: Silo Internal subsystems can share data directly Review access user profile All subsystems inside single API ( Bookstore ) 9

Bookstore: SOA Subsystems independent, as if in separate datacenters Review Service access User Service API Can recombine to make new service ( Favorite Books ) 10

Software Architecture Can you design software so that you can recombine independent modules to offer many different apps without a lot of programming? [Amazon CEO Jeff Bezos] realized long before the vast majority of Amazonians that Amazon needs to be a platform. Steve Yegge, Googler, former Amazonian, in a 2011 blog post 11

2002: Amazon shall use SOA! 1. All teams will henceforth expose their data and functionality through service interfaces. 2. Teams must communicate with each other through these interfaces. 3. There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team's data store, no sharedmemory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network. 12

CEO: Amazon shall use SOA! 4. It doesn't matter what [API protocol] technology you use. 5. Service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions. 6. Anyone who doesn't do this will be fired. 7. Thank you, have a nice day! 13

Which of the following is a disadvantage of SOA compared to a silo design? A B C D SOA may be harder to debug & tune SOA results in lower developer productivity SOA s complexity is a poor match for small teams SOA is more expensive to deploy than Silo, because more hardware is needed to handle the same workload 14

Cloud Computing 15

What is ideal HW for SaaS? Amazon, Google, Microsoft developed early hardware systems to run SaaS What did they use: Mainframes? Supercomputers? How can independent SW developers build SaaS apps and compete without similar HW investments to Amazon, Google, Microsoft? 16

Ideal hardware infrastructure for SaaS? SaaS s 3 demands on infrastructure 1. Communication Allow customers to interact with service 2. Scalability Fluctuations in demand during + new services to add users rapidly 3. Dependability Service & communication available 24x7 17

Services on Clusters Clusters: Commodity computers connected by commodity Ethernet switches 1. More scalable than conventional servers 2. Much cheaper than conventional servers 20X for equivalent vs. largest servers 3. Dependability via extensive redundancy 4. Few operators for 1000s servers Careful selection of identical HW/SW Virtual Machine Monitors and containerization (Docker, Kubernetes) simplify operations 18

Warehouse Scale Computers Clusters grew from 1000 servers to 100,000 based on customer demand for SaaS apps Economies of scale pushed down cost of largest datacenter by factors 3X to 8X Purchase, house, operate 100K v. 1K computers Traditional datacenters utilized 10% - 20% Earn $ offering pay-as-you-go use at less than customer s costs for as many computers as customer needs 19

2007: Utility Computing arrives Buy computing, storage, communication by the hour (from $0.04/server/hour) 1000 computers @ 1 hour = 1 computer @ 1000 hours FarmVille on AWS Prior biggest online game had ~5M users 4 days =1M; 2 months = 10M; 9 months = 75M Amazon EC2, Google Cloud, Microsoft Azure Individual developers now have access to same computing power as heavyweights 20

Which statement about private datacenters vs. public utility computing (such as AWS) is true? (A) (B) (C) (D) Private datacenters are not shared by multiple companies/competitors Private datacenters may be the only option for some highly-regulated apps Private datacenters are inherently more secure than public utility computing Private datacenters could match the cost of public utility computing if they just used the same type of hardware and software 21

In Summary SaaS less hassle for developers and users SOA makes it easy to reuse current code to create new apps Scale led to savings/cpu, reduced cloud computing cost, and utility computing 22