Blog: http://blogs.microsoft.co.il/blogs/applisec/ Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel www.sela.co.il
The idea behind the cloud Basic Concepts Type of cloud Major cloud offerings Cloud Architecture Testing using the cloud Testing the cloud Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 2
Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 3
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
Type Of Clouds Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 14
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
Google Data store Google Cloud SQL Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 25
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 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 27
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
Cloud Provider Soasta STaaS Zephyr Sauce Labs Skytap Testing services Cloud-based service for performance, scalability, and reliability testing of Web applications and sites that can test both internal and production environments with live monitoring On-demand, cloud-based service that lets customers access test tools and environments from anywhere (see this link) Scalable 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) Selenium-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) Scalable 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) utest IBM PushToTest Service 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) Service 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) Service 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) CloudTestGo Cloud-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) BlazeMeter Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 40 Cloud-based platform for load and performance testing as well as cloud monitoring that can create loadtesting 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