Introduction To Cloud Foundry - Web Age Solutions

Transcription

Introductionto CloudFoundry 2018 Web Age Solutions, Inc. All rights reserved

Lesson ObjectivesWhat is Cloud Foundry?Cloud Foundry UsagesExplain service models in CloudDescribe Cloud deployment models 2018 Web Age Solutions, Inc. All rights reserved

What exactly is Cloud Foundry? An infrastructure independent open Platform-as-a-Service initiated by VMwareand now owned by Pivotal Software - a joint venture by EMC, VMware andGeneral Electric. Designed to be polyglot in nature, providing a diverse choice of clouds,developer frameworks and application services. Enables easy integration with middleware services and APIs. Is at the core of many public and private PaaS services and solutions, includingPivotal CF, Pivotal Web Services, and Stackato. 2018 Web Age Solutions, Inc. All rights reserved3

Some History First launched in May 2011 as one of the first PaaS offerings developed based on openstandards with full JEE support. Has evolved continuously from being offered initially just as a public PaaS to now beingoffered both as a public (OpenShift Online & Dedicated) and private (OpenShiftEnterprise) PaaS. The core cloud framework that both OpenShift Online and Enterprise build on is alsoavailable as an upstream and open-sourced community project (OpenShift Origin). Core platform and architecture were fully revamped recently to build around Dockerand Kubernetes. 2018 Web Age Solutions, Inc. All rights reserved4

So where does Cloud Foundry fit in?Cloud Foundry HostedOn-demand Self-servicePrivate PaaSManaged/HostedApplicationApplicationApp ArchApp ArchApp ArchApp eNetworkCloud ProviderStorageVirtualizationCloud SOS 2018 Web Age Solutions, Inc. All rights reservedPrivate PaaSApplicationDatabaseMeasured ServicePrivate PaaSOn premiseBroad network accessRapid ElasticityPaaS FrameworkApplicationCloud ProviderResource poolingPublic PaaS PaaS FrameworkCloud ProviderEssentialCharacteristics PaaS Framework55

So where does Cloud Foundry fit in?PaaS Architecture Styles:Cloud FoundryINSTANCE-BASED PAASFRAMEWORK-BASED PAASMETADATA-BASED PAASUNIT OF PROVISIONINGUNIT OF PROVISIONINGUNIT OF PROVISIONINGVMVirtualMachineOSProcessMULTITENANCY APPROACHSharedHardwareApp LogicApplicationInfrastructureMULTITENANCY pMetadataApp LogicApplicationInfrastructureMULTITENANCY APPROACHSharedEverythingApp mInfrastructureSystemInfrastructure 2018 Web Age Solutions, Inc. All rights reserved66

Cloud Foundry Solutions from PivotalPivotal offers the following cloud platforms and solutions based on Cloud Foundry:Public PaaS Pivotal Web Services is a publiclyavailable instance of Cloud Foundryoperated on Amazon Web Servicesby Pivotal’s Cloud Operations teamand used as the productionenvironment for continuousdelivery by Pivotal’s Cloud Foundryengineering teams.Enterprise PaaS Pivotal CF is a comprehensivemulti-cloud enterprise PaaS,powered by Cloud Foundry. Offers multiple administration toolsand dashboards such as OpsManager, Services Dashboard, AppsManager etc. that are not availablewith the open source version. Generally available since Nov 2013.Cloud Foundry an infrastructure independentOpen PaaS solution maintained bythe Cloud Foundry Foundation Cloud Foundry is at the core ofmany public and private PaaSservices/solutions, including PivotalCF, Pivotal Web Services, andStackato. Designed to be polyglot in nature,providing a diverse choice ofclouds, developer frameworks andapplication services. Enables easy integration withmiddleware services and APIs. 2018 Web Age Solutions, Inc. All rights reserved7

Cloud Foundry Solutions from Other ProvidersPublic PaaSEnterprise PaaSManaged/ Hosted PaaS Stackato is a secure, stable, andcommercially supported Platformas-a-Service (PaaS) originally fromActiveState and recently acquiredby HP. Built with and on top of variousopen source components such asCloud Foundry and Docker. Generally available since Feb 2012. HP’s Helion Development Platformis based on Cloud Foundry andintegrated with OpenStack. The OpenStack community editionof HP Helion has been in GA sinceJune 2014.BlueMix IBM BlueMix is a public platformas-a-service (PaaS) based on CloudFoundry and hosted by IBM. Generally available since June2014. Appfog is a public platform-as-aservice (PaaS) based on CloudFoundry and hosted byCenturyLink. Generally available since July 2012.Accenture Cloud Platform Accenture’s PaaS provisioning andmanagement services, available fora host of cloud providers such asAWS, Azure, NTT etc. 2018 Web Age Solutions, Inc. All rights reserved8

AdditionalKnowledge Areas toImprove UtilizingCloud Foundry 2018 Web Age Solutions, Inc. All rights reserved

BOSH BOSH is an open source tool that allows creating, deploying and managing thelifecycle of large-scale distributed services. Was originally created by Pivotal Software to manage Cloud Foundry releases. Has evolved significantly since its inception and has swiftly gained popularity inbeing used as a release management tool for use cases beyond Cloud Foundry. BOSH can now be used to deploy any distributed system of release componentsto the cloud (or virtual machines). BOSH supports multiple IaaS Platforms such as AWS, vSphere, vCloud Director,vSphere, OpenStack etc and provides a CPI (Cloud Provider Interface) thatallows extending it to other providers such as Google Compute Engine (GCE),Apache CloudStack etc. 2018 Web Age Solutions, Inc. All rights reserved10

BOSH (cont.) BOSH is a recursive acronym for Bosh Outer SHell. The service or componentbeing deployed and managed by BOSH is called the “Inner Shell”. There are three main constituents to a BOSH Deployment: Stemcell Release Deployment Manifest 2018 Web Age Solutions, Inc. All rights reserved11

BOSH (cont.)BOSH CLIDevelopers / OpsBOSHStemcellCPIReleaseInner ShellDeploymentManifestAgentVMAgentVMAgentVMIaaS 2018 Web Age Solutions, Inc. All rights reserved12

BOSH (cont.)BOSH CLIDevelopers / OpsA base image template thatBOSH uses to create newVMs. There are dedicatedstemcells for each type ofsupported IaaS stackBOSHStemcellCPIReleaseInner ShellDeploymentManifestAgentVMAgentVMAgentVMIaaS 2018 Web Age Solutions, Inc. All rights reserved13

BOSH (cont.)BOSH CLIDevelopers / OpsBOSHStemcellA collection of configurationfiles, job definitions, sourcecode, package definitions andaccompanying informationneeded to create a softwarecomponent deployable byBOSHCPIReleaseInner ShellDeploymentManifestAgentVMAgentVMAgentVMIaaS 2018 Web Age Solutions, Inc. All rights reserved14

BOSH (cont.)BOSH CLIDevelopers / OpsBOSHStemcellCPIReleaseInner ShellYAML file that that definesthe components andproperties of the deployment.identifies one or morerelease, one or morestemcells and specifies how toconfigure them for a givenBOSH IaaS 2018 Web Age Solutions, Inc. All rights reserved15

Spring Cloud Connectors Spring Cloud Connectors is an open source project that provides an abstractionfor JVM-based applications to discover bound services and deploymentinformation at runtime. Eliminates the need for configuring service connectivity details with theapplication context/ configuration. Provides support for a set of services for Cloud Foundry and Heroku out of thebox. Fully and easily extensible to support:– Additional Cloud Platforms– Additional Services 2018 Web Age Solutions, Inc. All rights reserved16

UnderstandingConfig Formats 2018 Web Age Solutions, Inc. All rights reserved

Understanding Config Formats Before using Cloud Foundry, it is essential to understand the different configformats it leverages:– JSON (JavaScript Object Notation)– YAML (Recursive acronym for YAML Ain’t Markup Language) 2018 Web Age Solutions, Inc. All rights reserved18

Understanding Config Formats (cont.) JSON allows language independent representation of data as:– Collection of name/ value pairs, and/or– An ordered list of values Cloud Foundry leverages JSON format for requests and responses of its RESTAPI (covered later). YAML is a data-serialization language that supports indented representation ofvalues to enhance readability. YAML is the format used by BOSH Deployment Manifests. 2018 Web Age Solutions, Inc. All rights reserved19

Understanding Config Formats (cont.)So let us pick up a sample XML and see how this is represented in JSON and YAML:JSONXML student id "S001" name "Joe Customer" course name "Cloud Foundry Academy" { "student": {"id": "S001","name": "Joe Customer", session id "1"subject "Introduction" / "course": { session id "2" subject "PlatformArchitecture" / "session": [ session id "3" subject "Services"/ "name": “Cloud Foundry Academy",{ "id": "1","subject": "Introduction" },{ "id": "2", /course /student "subject": "Platform Architecture" },{ "id": "3","subject": "Services" } ]}}} 2018 Web Age Solutions, Inc. All rights reserved20

Understanding Config Formats (cont.)YAMLXML student id "S001" name "Joe Customer" course name "Cloud Foundry Academy" session id "1"subject "Introduction" / session id "2" subject "PlatformArchitecture" / session id "3" subject "Services"/ --student:id: S001name: Joe Blokecourse:name: Cloud Foundry Academysession:- id: '1'subject: Introduction /course /student - id: '2'subject: Platform Architecture- id: '3'subject: Services 2018 Web Age Solutions, Inc. All rights reserved21

Session Quiz 2018 Web Age Solutions, Inc. All rights reserved

Quiz 1What PaaS architecture style is Cloud Foundry? Framework PaaS Instance PaaS Metadata PaaS 1&2 2&3 All of above None of above 2018 Web Age Solutions, Inc. All rights reserved23

Quiz 2True or False: Pivotal offers Cloud Foundry both as an open source cloud frameworkand as a commercial offering: True False 2018 Web Age Solutions, Inc. All rights reserved24

Quiz 3What is the release engineering tool used by Cloud Foundry: Pivotal Web Services YAML Stackato None 2018 Web Age Solutions, Inc. All rights reserved25

Discussion: What arecurrent knowledgesources for cloudnative applicationmodernization withCloud Foundry? 2018 Web Age Solutions, Inc. All rights reserved

What did we learn?What is Cloud Foundry?Cloud Foundry UsagesCloud Foundry ComponentsConfig Formats 2018 Web Age Solutions, Inc. All rights reserved

PaaS Architecture Styles: Cloud Foundry 6. 7 Cloud Foundry Solutions from Pivotal Public PaaS Pivotal Web Services is a publicly available instance of Cloud Foundry operated on Amazon Web Services by Pivotal’s loud Operations team and used as the production environment for continuous delivery by Pivotal’s loud Foundry engineering teams. Pivotal CF is a comprehensive multi-cloud .