CLOUD COMPUTING OVERVIEW OF CLOUD COMPUTING PRINCIPLES AND TECHNOLOGIES



Similar documents
Security Issues in Cloud Computing

Cloud Security considerations for business adoption. Ricci IEONG CSA-HK&M Chapter

Hybrid Cloud Computing

White Paper on CLOUD COMPUTING

The Cloud is Not Enough Why Hybrid Infrastructure is Shaping the Future of Cloud Computing

Planning the Migration of Enterprise Applications to the Cloud

Cloud Computing Technology

OWASP Chapter Meeting June Presented by: Brayton Rider, SecureState Chief Architect

Security, Compliance & Risk Management for Cloud Relationships. Adnan Dakhwe, MS, CISA, CRISC, CRMA Safeway Inc. In-Depth Seminars D32

Cloud Computing and Security Risk Analysis Qing Liu Technology Architect STREAM Technology Lab

The standards landscape in cloud

Cloud Computing: Background, Risks and Audit Recommendations

Cloud Computing Standards: Overview and ITU-T positioning

IBM EXAM QUESTIONS & ANSWERS

Cloud Courses Description

journey to a hybrid cloud

Enhancing Operational Capacities and Capabilities through Cloud Technologies

Cloud Services Overview

Cloud Computing An Auditor s Perspective

CHAPTER 8 CLOUD COMPUTING

Security & Trust in the Cloud

Managing Cloud Computing Risk

See Appendix A for the complete definition which includes the five essential characteristics, three service models, and four deployment models.

Lecture 02b Cloud Computing II

Moving beyond Virtualization as you make your Cloud journey. David Angradi

It s All About Cloud Key Concepts, Players, Platforms And Technologies

The Need for Service Catalog Design in Cloud Services Development

SECURE CLOUD COMPUTING

Healthcare Enterprise View of Cloud What is Cloud Additional Needs Cloud Models Cloud Economics 101 Stack Decision Framework

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

IS PRIVATE CLOUD A UNICORN?

6 Cloud computing overview

TECHNOLOGY TRANSFER PRESENTS MAX DOLGICER CLOUD 2.0 MOVING FROM COST SAVINGS TO AGILE IT

Overview. The Cloud. Characteristics and usage of the cloud Realities and risks of the cloud

A Gentle Introduction to Cloud Computing

Cloud Computing; What is it, How long has it been here, and Where is it going?

Securing and Auditing Cloud Computing. Jason Alexander Chief Information Security Officer

VMware for your hosting services

Cloud Courses Description

Cloud Computing Submitted By : Fahim Ilyas ( ) Submitted To : Martin Johnson Submitted On: 31 st May, 2009

Cloud Glossary. A Guide to Commonly Used Terms in Cloud Computing

Cloud Computing Architecture: A Survey

Cloud Computing. Chapter 1 Introducing Cloud Computing

Cloud Standardization, Compliance and Certification. Class 2012 event 25.rd of October 2012 Dalibor Baskovc, CEO Zavod e-oblak

Cloud Computing in the Enterprise An Overview. For INF 5890 IT & Management Ben Eaton 24/04/2013

IT AS A SERVICE BROKER


Cloud Computing Flying High (or not) Ben Roper IT Director City of College Station

OVERVIEW Cloud Deployment Services

Sistemi Operativi e Reti. Cloud Computing

Architectural Implications of Cloud Computing

Orchestrating the New Paradigm Cloud Assurance

Production in the Cloud

Cloud Computing Security Issues

Deploying a Geospatial Cloud

<Insert Picture Here> Enterprise Cloud Computing: What, Why and How

Securing The Cloud. Foundational Best Practices For Securing Cloud Computing. Scott Clark. Insert presenter logo here on slide master

Lecture 02a Cloud Computing I

TECHNOLOGY TRANSFER PRESENTS MAX DOLGICER IT S ALL ABOUT CLOUD CONCEPTS, STRATEGIES, ARCHITECTURES, PLAYERS, AND TECHNOLOGIES

Future of Cloud Computing. Irena Bojanova, Ph.D. UMUC, NIST

Becoming a Cloud Services Broker. Neelam Chakrabarty Sr. Product Marketing Manager, HP SW Cloud Products, HP April 17, 2013

Cloud Computing (f)or Grid Security

Attacking the roadblocks preventing aggressive adoption of Cloud Standards:

Public Clouds. Krishnan Subramanian Analyst & Researcher Krishworld.com. A whitepaper sponsored by Trend Micro Inc.

Cloud Computing: Making the right choices

Cloud Computing. P a n a g i o t i s F o u z a s I T S o l u t i o n s M a n a g e r

PLATFORM-AS-A-SERVICE: ADOPTION, STRATEGY, PLANNING AND IMPLEMENTATION

CLOUD COMPUTING. When It's smarter to rent than to buy

Presented by Mike Jennings President BEI

Cloud Computing Service Models, Types of Clouds and their Architectures, Challenges.

Avnet's Guide to Cloud Computing

Cloud Infrastructure Planning. Chapter Six

Topics. Images courtesy of Majd F. Sakr or from Wikipedia unless otherwise noted.

Consumption IT. Michael Shepherd Business Development Manager. Cisco Public Sector May 1 st 2014

Cloud Models and Platforms

Cloud Security Panel: Real World GRC Experiences. ISACA Atlanta s 2013 Annual Geek Week

Cloud Essentials for Architects using OpenStack

Improving IT Service Management Architecture in Cloud Environment on Top of Current Frameworks

Managing the Real Cost of On-Demand Enterprise Cloud Services with Chargeback Models

Commercial Software Licensing

Capability Paper. Today, aerospace and defense (A&D) companies find

Ensuring High Service Levels for Public Cloud Deployments Keys to Effective Service Management

Cloud Computing: Opportunities, Challenges, and Solutions. Jungwoo Ryoo, Ph.D., CISSP, CISA The Pennsylvania State University

Daren Kinser Auditor, UCSD Jennifer McDonald Auditor, UCSD

<Insert Picture Here> Cloud Archive Trends and Challenges PASIG Winter 2012

Cloud Security Introduction and Overview

Interoperability & Portability for Cloud Computing: A Guide.

<Insert Picture Here> Cloud Computing Strategy

Virtualized, Converged Data Centers and Cloud Service Providers

Does Cloud Computing Still Matter? A Mainframer s Update. The trouble with cloud.

Cloud Computing 101 Dissipating the Fog 2012/Dec/xx Grid-Interop 2012

Cloud Security Alliance New Zealand Contribution to the Privacy Commissioner. 23 February 2012

Leveraging the Cloud. September 22, Digital Government Institute Cloud-Enabled Government Conference Washington, DC

How To Build A Cloud Platform

The Cisco Powered Network Cloud: An Exciting Managed Services Opportunity

Cloud Computing: Compliance and Client Expectations

WHITEPAPER. One Cloud For All Your Critical Business Applications.

The Hybrid Cloud: Bringing Cloud-Based IT Services to State Government

Transcription:

CLOUD COMPUTING OVERVIEW OF CLOUD COMPUTING PRINCIPLES AND TECHNOLOGIES Peter R. Egli INDIGOO.COM 1/31

Contents 1. What is cloud computing? 2. Why cloud computing? 3. Typical IaaS, PaaS, SaaS providers 4. Cloud provider landscape 5. Technology foundation of cloud computing 6. Cloud computing versus outsourcing 7. Hybrid clouds 8. Cloud scalability 9. Cloud security 10. Cloud risk management 11. Cloud certifications 12. Cloud standards 13. More cloud service models 14. Cloud management platforms (CMP) 2/31

1. What is cloud computing? (1/5) Could computing definition by NIST: NIST (National Institute of Standards and Technology, US non-regulatory federal agency) published a widely used and accepted definition of cloud computing: «Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction». Source: http://csrc.nist.gov/publications/nistpubs/800-145/sp800-145.pdf NIST defines cloud computing around 5 essential characteristics 3 service models 4 deployment models 3/31

1. What is cloud computing? (2/5) 5 essential key characteristics of clouds: On-demand self-service computing resources (elasticity): Automatic provisioning without human interaction with service provider. Broad network access: Availability of cloud resources through various platforms (desktops, mobiles, workstations). Resource pooling: Sharing of provider resources among customers (multi-tenant model). Location transparency (customer is not aware of the location of the server resources). Rapid elasticity: Resources can be allocated and released to scale according to demand. Measured service: Monitoring resource usage, service assurance (SLA Service Level Agreement). 4/31

1. What is cloud computing? (3/5) 3 service models (1/2): 3 service models define the level of cloud service. SaaS SaaS - Software as a Service: SaaS builds on top of PaaS and provides application-level services such as collaboration, ERP and document management. PaaS PaaS - Platform as a Service: PaaS provides platforms and run-time environments including middleware, messaging, databases and identity management. IaaS IaaS Infrastructure as a Service: IT infrastructure is provided as a service. IaaS comprises resources such as servers, network and simple mass storage. 5/31

1. What is cloud computing? (4/5) 3 service models (2/2): IaaS, PaaS and SaaS define different levels of cloud services with regard to the traditional IT stack that is entirely managed by the inhouse IT department. Traditional IT IaaS PaaS SaaS Applications Data Runtime Middleware OS Virtualization Servers Storage Networking IT managed Applications Data Runtime Middleware OS Virtualization Servers Storage Networking IT managed Cloud provider managed Applications Data Runtime Middleware OS Virtualization Servers Storage Networking IT managed Cloud provider managed Applications Data Runtime Middleware OS Virtualization Servers Storage Networking Cloud provider managed 6/31

1. What is cloud computing? (5/5) 4 cloud deployment models: Private cloud: Cloud is enterprise owned or leased. Cloud is used by a single enterprise or organization. Cloud equipment may exist on- or off-premise. Private cloud may be internal (company premises) or external (provider hosted). Typically operated by a third-party with the required skills to lower operating costs. Community cloud: Shared infrastructure for a specific community. May exist on- or off-premise. Public cloud: Cloud is sold to the public, mega-scale infrastructure. Exists on premises of cloud provider. Hybrid cloud: Different cloud types combined. Typically the base load is covered by a private cloud, load bursts handled by a public cloud computing resources («cloud bursting», «pay-as-you-go» cost model). 7/31

2. Why cloud computing? (1/3) The rationale of cloud computing (for the customer) is reduced and linearly scaling costs. Cloud computing allows allocating required computing resources dynamically to demand. It scales linearly with the number of users, i.e. incurs no or little capital expenses (capex), only operating expenses (opex). Traditional IT: Costs Cloud computing: Costs Variable costs (OpEx) Fixed costs (CapEx) Users / usage Variable costs (OpEx) Fixed costs (CapEx) Users / usage Data centers, servers etc. require a large up-front investment (CapEx). The infrastructure must be dimensioned to accommodate a certain peak load. Variable costs incur on top of CapEx (run-time licenses for users etc.). Fixed costs are transferred to the cloud provider and thus largely reduced for the customer (customer infrastructure reduced to network, workstations). Variable costs vary according to usage demand. The variable costs are reduced since the cloud provider exploits economy of scale. 8/31

2. Why cloud computing? (2/3) By means of pooling, a reduced number of servers can deliver the processing power demands of multiple customers (scaling effect) because customer s processing demands are distributed over time (statistical multiplexing). Demand Peak demand that can not be serviced Customer 1 Unused (wasted) processing power Average processing power demand Time Demand Customer 2 Customer 3 Demand Time Peak demand Time Combined processing power demand profile. Provisioned server performance can accommodate peak demands of customers. «Peak of sums < sum of peaks». 9/31

2. Why cloud computing? (3/3) Business drivers for cloud computing: High costs due to high server performance requirements to meet peak demands (low average server capacity usage: 15%). Avoidance of CapEx. Need for reduction of data center energy consumption. High IT maintenance costs (IT staff, licenses). Meet compliance requirements (data protection, security, data center access etc.). Need for flexible data center usage arrangments (scale up when need arises for peak performance demands). Potential cost savings with cloud computing 50 90%. 10/31

3. Typical IaaS, PaaS, SaaS providers Some key players in the cloud market: MS Office and collaboration appl. SaaS Cloud based CRM. Cloud based ERP. OS, node.js platform. PaaS Google App Engine (Java platform). Development and hosting platform. Cloud servers. IaaS Content Delivery Network. Simple storage. 11/31

4. Cloud provider landscape (1/2) Cloud Service Providers (CSP): CSPs offer IaaS, PaaS and SaaS services as private, hybrid or public clouds. Cloud Service Brokers (CSB): CSBs resell and sometimes integrate CSP cloud services. CSBs focus on consultancy services, (help customers choose the right cloud solution, provide best practices for cloud deployment). Cloud Service Aggregators (CSA): CSAs integrate cloud services into value-added services, e.g. bundling storage services from different CSPs into a high-availability offering. CSP CSB (Broker) CSP Customer CSP CSA (Aggr.) 12/31

4. Cloud provider landscape (2/2) IaaS, PaaS and SaaS Cloud Service Providers (CSP): SaaS PaaS IaaS Private Cloud Hybrid Cloud Public Cloud 13/31

5. Technology foundation of cloud computing (1/2) Cloud computing is based on and made possible by a number of technologies. Virtualization: Virtualization (VMs Virtual Machines) is a crucial technology to completely decouple OS and software from the underlying hardware. This allows running multiple OS instances on a single server hardware. Grid technology: Often cloud computing is based on some kind of grid computing where a large number of physical servers is available to host and run cloud infrastructures, platforms and applications. When demand arises, services can be moved around the grid environment. Broadband network access: Diminishing differences in network bandwidth between LAN and WAN access make it possible to move entire applications to clouds. Distributed computing: Middleware and particularly web services provide the necessary interoperability for cloudbased distributed applications. 14/31

5. Technology foundation of cloud computing (2/2) Web technologies: Web technologies, namely the HTTP/HTML/CSS/Javascript combo, define an interoperable standard client interface. Security protocols and technologies: Security is essential for cloud computing. The necessary technologies for authentication, privacy, authorization, key distribution and trust federation are available on different platforms. Service orientation: SOA as a core architectural principle allows to compose applications of a collection of services, each of which can be hosted in a cloud-based environment. Open source software (OSS): Clouds need tons of software. A wealth of open source software for virtually every aspect in cloud infrastructures is available and allows cloud providers to deliver high-level cloud services at reasonable costs. 15/31

6. Cloud computing versus outsourcing Outsourcing: In a typical outsourcing arrangement, the providers offers a service according to the conditions of the customer. Usually the contracts and SLAs are different for each customer. Contract Provider Customer Cloud: Typical cloud providers have a standard offering, usually high-volume commoditized services without the possibility for custom specific extensions. Customer Cloud Provider Standard offering Customer 16/31

7. Hybrid clouds (1/2) Why hybrid clouds? Hybrid clouds combine the benefits of private and public clouds. Private clouds: Mainstay IT resources Privacy and security Enhanced control Public clouds: Absorb temporal processing demand bursts (cloud bursting, load balancing) Provide business continuity in case of private cloud outages (disaster recovery) Help smooth out private cloud investments over time Public Burst out additional demand Smoother buildup of private cloud infrastructure Private 17/31

7. Hybrid clouds (2/2) Criteria for offloading to a public cloud: While combining private and public clouds may bring overall benefit, a number of criteria need to be carefully assessed prior to deploying hybrid clouds. a. Level of security provided by public cloud provider b. SLA provided by public cloud provider (availability, recovery etc.) c. Compliance with data security regulations such as PCI DSS (Payment Card Industry) d. Network bandwidth demands between clients, servers and databases e. Platform requirements (Linux, Windows, software stacks, middleware and platforms) f. Compatibility of authentication, authorization and identity management between private and public cloud g. Unified management and administration of private and public clouds 18/31

Scale-up Cloud Computing 8. Cloud scalability There are two main models for accommodating increased processing demand in clouds: A. Scale-up (vertical scaling): Increases in processing demand are accommodated by more powerful cloud server instances (virtual machines). B. Scale-out (horizontal scaling): Demand is accommodated with more instances (VMs). Scale-out Scale-out 19/31

9. Cloud security (1/2) Typical cloud security concerns of customers: Trust (do we trust the cloud provider?). Data ownership issues (what happens if cloud provider goes bancrupt?). Loss of physical control of data, infrastructure. Customer isolation (how good are customers technically isolated from each other). Legality of data transfer to an offshore cloud provider (see also «safe harbor»). Concern about moving data to cloud providers that are attractive targets for hackers and crackers (high value targets). Security of software components in the cloud infrastructure (are the components secure? Are they regularly updated with the latest security patches?). Availability concerns (cloud infrastructure outage may bring operations of a company down). Compliance and regulatory issues (HIPAA, SoX, ISO 27001, Basel II etc.). 20/31

9. Cloud security (2/2) Cloud security advantages: Concerning security, clouds may also have advantages. Dedicated security team (people trained for the purpose). Defined and standardized security, ideally an integrated part of the SLA (service level agreement). When customers use multiple cloud providers, applications are better isolated and protected than would be the case with BYO (build your own) IT infrastructure. Greater resilience to outages (often intrinsically supported by cloud infrastructure). Fault and redundancy mechanisms provided as part of the cloud offering. Compliance delivered by cloud provider as part of the offering. Defined monitoring and auditing of services by cloud provider. 21/31

10. Cloud risk management (1/2) What are the risks in clouds? Traditional IT has its own set of risks to be addressed. On top of these risks, cloud computing adds many more risks in various fields such as IT fragmentation ("shadow IT"), infrastructure security, compliance, business continuity and data management. Deloitte's «Cloud Computing Risk Intelligence Map» provides an excellent overview of potential cloud risk areas. Risk management frameworks: A holistic approach for risk management is a must in every cloud strategy. Risk management frameworks provide a structured and disciplined approach for managing ICT risks including: a. risk identification b. risk analysis and evaluation c. risk classification and prioritization d. risk mitigation and control measures e. risk monitoring 22/31

10. Cloud risk management (2/2) Risk management frameworks: Existing IT management frameworks address cloud risks to a varying degree: Framework Title Risk Management Audit, certification & attest for organizations COBIT 5 Control Objectives for Information and Related Technology Risk IT Framework (addresses all IT related risks) Yes (COBIT assessment) ITIL V3 Information Technology Infrastructure Library Yes (risk management for IT services) No ISO/IEC 2700X Information Security Management Systems (Series of standards) Information security risk management (ISO/IEC 27005) Yes PCI DSS Payment Card Industry Data Security Standard No, but requires a process for risk management Yes CSA Cloud Security Alliance GRC Stack (Governance, Risk, Compliance) STAR Self-assessment STAR Certification STAR Attestation COSO ERM Committee of Sponsoring Organizations of the Treadway Commission ERM Enterprise Risk Management No OCTAVE Operationally Critical Threat, Asset, and Vulnerability Evaluation Information Security Risk Management No 23/31

11. Cloud certifications To date, there is no single certification program in place for approving cloud provider's (CSPs) adherence to security and confidentiality guidelines. A number of programs and certifications exist that may help to evaluate a CSPs compliance with security best practices. Certification Authority / Issuer Scope Applicability IEC27001 IEC / 3rd party audit Information Security Management CSPs HIPAA PCI DCS FedRAMP EU SafeHarbor Compliance SSAE 16, SOC 1-3 EuroCloud Star Audit US Government, 3rd party audit Payment Card Industry Security Standards Council Federal Risk and Authorization Management Program Self-certification Service Organization Control Cloud Security Alliance Self-assessment, certification, attestation Protection of health-related information IT security Central certification agency for U.S. agencies. Defined and required criteria for U.S. gov. agencies to use a cloud provider. Data protection, information security Operational Controls, Security, Privacy, Confidentiality Only general statement on cloud provider quality (1-5 stars) Health Care Providers Payment Service Providers US agencies All companies exchanging data with the US Most applicable for CSPs that do financial data processing CSPs 24/31

12. Cloud standards (1/3) Clouds still are mostly based on proprietary technology. However, standards are emerging to improve interoperability between customer, CSP and CSA. Customer Users Customer Cloud Service Mgt. CDMI SAML, XACML TOSCA, CAMP Service Front End Auth. Service CSP Service Abstraction Layer IaaS, PaaS, SaaS Cloud Infrastructure Stack Customer Cloud Infrastructure Mgt. CIM, CIMI Occi Service Front End Cloud Infrastructure Management Layer (e.g. CMP) OVF Virtualization Layer 25/31

12. Cloud standards (2/3) Body Standard Scope / goal Link Distributed Management Task Force (DMTF) OASIS Open Grid Forum (OGF) OVF Open Virtualization Format SAML, XACML Occi Open Cloud Computing Interface Portability and deployment of virtual applicances (VMs) Access Control based on XML (authorization of data access) Open and standard API for customers to access and manage (mostly) IaaS-type services (infrastructure) http://dmtf.org/standards/ovf https://www.oasisopen.org/standards http://occi-wg.org/ Storage Networking Industry Association (SNIA) CDMI Cloud Data Management Interface Standard interface for applications to access data elements (store, retrieve, update, delete) http://www.snia.org/cdmi Cloud Management Working Group (CMWG) CIMI Cloud Infrastructure Management Interface CIM Common Information Model Standard cloud management interface http://dmtf.org/ 26/31

12. Cloud standards (3/3) Body Standard Scope / goal Link OASIS OASIS TOSCA Topology and Orchestration Specification for Cloud Applications CAMP Cloud Application Management for Platforms Standardization of higher level cloud services so these are easily portable across providers (e.g. standardized storage service, service choreography) Standardization of interfaces (API) for self-provisioning, monitoring and control of cloud services. While CAMP defines the interface (API), TOSCA defines the implementation. https://www.oasisopen.org/committees/tc_ho me.php?wg_abbrev=tosca https://www.oasisopen.org/committees/tc_ho me.php?wg_abbrev=camp 27/31

13. More cloud service models In addition to the IaaS, PaaS and SaaS trinity, specialized cloud service models offer more specific customer services. However, these models are not always strictly cloud services as per NIST's cloud definition. Cloud service model ipaas BaaS MBaaS DaaS STaaS DBaaS Description Integration Platform as a Service. Cloud-based integration platform that connects private servers and cloud-based processes, data and applications. Backend as a Service or Mobile Backend as a Service. BaaS is something between a PaaS and SaaS in that it provides higher level functionality such as push notifications to (mobile) clients, user management, storage services and integration with social media services. Desktop as a Service. Technologically the same as VDI (Virtual Desktop Infrastructure), but virtualized desktops are provided by a cloud provider. Storage as a Service. Mass storage in the cloud. DataBase as a Service. Relational DB and NoSQL-based databases run in cloud instances. Examples Cloud-based ESB (Enterprise Service Bus) Cloud-based SOA parse.com Microsoft Azure Amazon Workspace Amazon S3 Amazon SimpleDB 28/31

14. Cloud management platforms (CMP) (1/3) CMPs provide tools for managing various aspects of clouds in a single integrated suite. Gartner's IT glossary provides a concise definition of CMPs as shown below: Management console Self service interface System image provisioning Metering & billing Basic CMP Workload optimization (policies) Storage resources Network resources Interface to enterprise management Service catalogs (templates) Advanced CMP Enterprise management 29/31

14. Cloud management platforms (CMP) (2/3) Self-service interface: Portal through which user manages the cloud intrastructure. System image provisioning: This component lets users choose, create, provision and deploy images (VMs) in the cloud. Metering & billing: Measuring infrastructure consumption is crucial for optimization (e.g. infrastructure usage trends) and billing purposes. E.g. a company may use this information for billing the services to internal departments based on usage. Workload optimization: Workload can be optimized e.g. through defining policies such as "automatically deploy another VM in case the load in a VM exceeds 70%". This allows optimizing resource usage and thus drive down (or at least curtail) costs (electricity, physical CPUs). Storage and network resources: Almost any cloud service needs some form of storage and network services. This component provides different choices for storage (NAS, SAN, DAS etc.) and network services to be used by cloud services. Service catalogs: This component provides a set of readily available and prefabricated templated services to choose from as well as customizing these to the user's needs. Enterprise management interface: Connector to existing management tools such as service management, workflow management and network management to provide a unified and integrated view of the IT infrastructure. 30/31

14. Cloud management platforms (CMP) (3/3) Important OSS and commercial CMPs: In order to address the various management challenges that clouds entail, different commercial and OSS (Open Source Software) CMPs have emerged of which a few are listed below: CMP Comment License model (ICE) Backed by HP, IBM, Rackspace, Redhat, Suse Developed by Citrix Developed by Eucalyptus Systems Inc. Backed by C12G Labs. Netflix provides some tools for managing specific aspects of clouds. Not a full-blown CMP. OSS Apache 2.0 license OSS Apache 2.0 license OSS GPL 3 license OSS Apache 2.0 license OSS Apache 2.0 license 31/31