© Copyright SELA software & Education Labs Ltd. 14-18...

Preview:

Citation preview

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israelwww.sela.co.il

Blog: http://blogs.microsoft.co.il/blogs/applisec/

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 2

The idea behind the cloud

Basic Concepts

Type of cloud

Major cloud offerings

Cloud Architecture

Testing using the cloud

Testing the cloud

3© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel

• The motivation for the cloud begins and ends with money.

– Customers today demand more yet they are willing to pay less.

– Applications must be scalable, available and reliable.

– High quality Costs…

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 4

• Availability

– Multiple service Instances

– Geo replication

• Scalability

– Multiple servers (Scale out)

– Load balancing

• Reliability

– Data Replication

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 5

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 6

• Cloud Computing is an Idea …

– Infrastructure is provisioned by a cloud provider.

– Automatic Scale.

– Elasticity. Pay as you use.

– Availability.

– Simple, Automatic, Economic.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 7

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 8

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 9

• “Packaging of computing resources, such as computation, storage and services, as a metered service”. Wikipedia

• Basic economical idea behind

– Software as a service

– Pay as you go

– Etc.

• Cloud computing

– broader concept than utility computing and relates to the underlying architecture in which the services are designed.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 10

• The ability of a system to handle a growing amount of work in a capable manner.

– Scale Up• concurrent programming, common methods for utilizing multi-core

architecture in the context of a single application

– Scale out• distributed programming, distributing jobs across machines over the

network.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 11

• The ability to shift and pool resources across disparate infrastructure.

• Enables data needs and resource availability to be kept in sync.

• Automatic process.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 12

• Distribution of data and compute resources across data centers located in different locations.

• Common Policy for:

– Minimizing Risk (Disaster recovery, Connectivity lose etc.)

– Improving access performance for clients located around the glob

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 13

14© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel

Type Of Clouds

• Next Generation virtualization.

• Automatic provisioning of virtual servers.

• Cloud computing within the enterprise

“Agility and efficiency of a public cloud built on infrastructure located in your organization.”

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 15

• IAAS – Private servers located on a remote data center.

• Pay as you go.

• Simple Migration and management.

– Application design is nor aware of the cloud

• Provision from a template

– Multiple images

– Custom images

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 16

• PAAS - Applications are hosted in the cloud.

– Scope of service: Applications (Not servers)

• Cloud oriented design

• Infrastructures such as storage, networking, security OS, and compute power are provided by the cloud provider.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 17

• SAAS – On demand software.

• Applications are owned by the provider.

• The customer subscribes and runs its business on a cloud based engine.

• Multi tenancy

• Simple provisioning

• Examples:

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 18

• Independent storage to be used by cloud and on-premises applications and users.

– Relational database

– NoSql database

– Disk volume

– Distributed Cache

– Blobs

– Queues

– Backup services

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 20

• Independent infrastructural provided to cloud and on-premises applications as a service.

– Identity

– Caching

– Connectivity (service bus, virtual networks …)

– Messaging (Queuing, Push notification …)

– Integration

– Management

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 21

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 22

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 23

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 24

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 25

Google Data store Google Cloud SQL

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 26

• CloudShare

• VmWare

• BlueLock

• Citrix

• Joyent

• Verizon

• Salesforce.com

And list is long…

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 27

• SoftLayer

• Connectria

• Layered Tech

• Qube

• Layered Tech

• GMO Cloud

• PeakColo

• TekLinks

• US Signal

• ElasticHosts

• CloudSigma

• Dimension Data

• ElasticHosts

• TekLinks2

• GoGrid

• Cartika

• Dimension Data

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 28

• Reasons to a build a cloud application

– Availability

– Reliability

– Automatic scale and elasticity

• Conclusion: Cloud application is a multi instance application

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 29

• Cloud friendly applications are designed to be stateless.

• State : Temporary data belonging to a multiple steps transaction.

• State is persisted outside the boundary of a running process in an independent store.

• Caching is used to reduce the price of data access.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 30

• Leverage multiple compute instances and distribute computation between multiple machines.

– Asynchronous messaging

– Job scheduling

– Job tracking and management

– Design for independent jobs

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 31

• Cloud providers supplies SDKs for multiple platforms (.Net, python, java, etc.)

• Cloud providers supplies a REST management API that applications can use

• Developers can use cloud emulators

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 32

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 33

• Stateless applications and independent storage introduce latency

• Communication with a remote database introduce latency

• There is no guarantee how much time it takes to reach the data center

• Throughput can grow as required with the number of allocated resources

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 34

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 35

• Test traditional applications using test platform located in the cloud

• Test a cloud application

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 36

• Using IAAS you can provision testing environments.

– Large compute clusters

– Large storage

– Identity Store

– Virtual network and service bus

• Simple Replication

• Testing On Demand

– Pay only for running tests.

– Provision the environment before running the test and then take it down.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 37

• Price $$$

• Time to Market – Quicker tetsing

• Simple Replication

• Better communication between developer and Tester

– Both have access to the same cloud

• Better availability of testing tools and environments

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 38

• Someone already provisioned an environment for you…

• Use it as SAAS.

• Usually used for performance and load tests.

– Simulate load patterns (e.g. spikes)

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 39

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 40

Cloud Provider

Testing services

SoastaCloud-based service for performance, scalability, and reliability testing of Web applications and sites that can test both internal and production environments with live monitoring

STaaSOn-demand, cloud-based service that lets customers access test tools and environments from anywhere (see this link)

ZephyrScalable platform that manages all aspects of the testing life cycle, integrates various test tools and systems, and provides global access, collaboration, management visibility, and real-time updates (see this link)

Sauce LabsSelenium-based testing service that tests Web applications across multiple browsers, supports the automation of browser tasks, and lets many tests run at the same time (see this link)

SkytapScalable cloud-based solution that provides visibility and control over cloud-based applications and can be used to develop, test, migrate, and evaluate applications, as well as create hybrid clouds (see this link)

uTestService that provides functional, security, load, localization, and usability testing from a crowdsourced pool of professional testers for “Web, desktop, and mobile applications.” (see this link)

IBMService that provides on-demand, secure, dynamic, and scalable virtual test server resources in a private test environment with an easy-to-use platform, service request management, automation, and configuration management (see this link)

PushToTestService with continuous integration platform that combines grid technology and cloud computing to run tests across single or multiple cloud-based test environments (see this link)

CloudTestGoCloud-based performance testing solution with quick, cost-efficient, real-world environments that perform load testing on Web-based, e-business, and vertical business applications (see this link)

BlazeMeterCloud-based platform for load and performance testing as well as cloud monitoring that can create load-testing scripts, perform real-time monitoring, and launch new servers (see this link)

• Stateless Testing

• Availability Testing

• Security Testing

• Performance Testing

• Interoperability Testing

• Disaster Recovery Testing

• Multi Tenancy Testing

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 41

• Pros

– Simple migration from staging to production

– Less integration with IT guys

• Cons

– There are more things to test…

– Testing might be challenging as you do not have full control over the cloud.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 42

• Emulators try to simulate cloud, yet there is no 100% match.

• Developers should be involved in early integration tests that test their code in real-life cloud environment.

• Only then a comprehensive cloud based test plan can run.

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 43

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 44