Basic Intro To Cloud Foundry - Image Relay

2y ago
12 Views
2 Downloads
1.92 MB
51 Pages
Last View : 22d ago
Last Download : 2m ago
Upload by : Dahlia Ryals
Transcription

Basic Intro To Cloud FoundrySession ID: HOL-1113Hands-On: Technical BeginnerSUSECON 2020Louis Paul – SUSE Technical Architect1

Who The Heck Is This Guy?Dwain SimsSUSE Sales EngineerDwain is a Sales Engineer at SUSE working with customers on Software DefinedEverything. He has a Master’s Degree in Computer Science and more than 30years’ experience in working for companies such as Lockheed, SunMicrosystems, SteelEye Technology, Fusion-io and SanDisk. He is a frequentspeaker at Linux User’s Group meetings, the SouthEast Linux Fest, SUSECon,and other events.2

Louis PaulSUSE Cloud ArchitectAs a Cloud Solution Architect at SUSE, Louis responsibility lies on focusing on Cloud NativePlatforms and Application delivery. He worked with Enterprise systems and Developmentplatforms in the Financial/Wall Street arena for over 2 decades. He joined the HPE Cloudteam in 2016 working on Helion Stackato before its transition to SUSE to pursuedevelopment of SUSE Application delivery solutions.3

AttributionEngineer Betterhttps://www.engineerbetter.com/The team at Engineer Better were the original creators of this tutorial, foundon the cf.org website.4

Agenda1. Intro to Cloud Foundry and SUSE Cloud ApplicationPlatform2. Hands on Labs 1-43. Cloud Foundry in your organization4. Extra Credit Lab 55. Info and Training and "other" session links5

Why Do They Call This Thing Cloud Foundry?Because I am a factory / foundry of CloudNative applications. raw materials (code)go in. products(web apps) come out6

7The Dev'sThe Op's7

What Is Cloud Foundry?Cloud Foundry is an open source cloud platform as a service (PaaS) onwhich developers can build, deploy, run and scale applications.Key Benefit:Enterprise development groups that use PaaS solutions like Cloud Foundry don’t haveto worry about the details of how to manage cloud resources to run their apps. Theplatform takes care of that for them. All "The Dev's" must focus on is their applicationcode and access to a catalog of services. The platform does the rest: scaling, healing,high availability, disaster recovery, and so on.8

9

CAP TerminologyControl Plane – Plumbing - Infrastructure (nodes) needed to operate the softwaresolution. As in "containerized control plane"Containers – portable application run unitsKubernetes – Operations Management of ContainersStratos – Graphical User Interface for CAP and KubernetesCloud Foundry Buildpacks – Universal language translator. Allow for DEV's codeto be published to CF; supports many languages, Buildpacks create a runnableartifact called a droplet10

What Is SUSE CAP Platform?SUSE Cloud Application Platform is a modern application delivery platformWITH A MODERN INFRASTRUCTURE FRAMEWORK used by softwaredevelopment and operations teams to streamline lifecycle management oftraditional and new cloud native applications. Bringing together industryleading Cloud Foundry and Kubernetes technologies, the platform facilitatesDevOps process integration to accelerate innovation, improve ITresponsiveness, and maximize return on investment.SUSE Cloud Application Platform increases business agility by helping yoursoftware development and operations ion-platform/Key Difference from other CF vendors: CAP is completely containerizedcontrol plane and we do not use BOSH.11

SUSE Cloud Application PlatformContainerized Cloud Foundry, Built on SUSE Linux EnterpriseSUSE Cloud Application PlatformBYOContainersSUSE Cloud Foundry EWorkloadsSLEWorkloadsWorkloadsSLESLEApplication execution: SUSE Linux Enterprise containersBrokerSLEUAASLEVolumeSLERouterSLECC APILoggingSLESLEControl plane: SUSE Linux Enterprise containersPublic Cloud K8s-as-a-ServiceEKS, AKS (GKE, AliCloud)Public CloudAmazon, Google, MicrosoftPrivate CloudSUSE OpenStack CloudSUSE CaaS Platform 4.1Kubernetes 1.16Virtual MachinesKVM, Xen, VMware, MicrosoftBare MetalSLES supported hardware12

Legacy Cloud Foundry vs. CAPSUSE CAPCloud Foundry Aged Software Infrastructure Control Plane andOperational Framework Modern Software Infrastructure- Containers, K8's Installs into container infra Cloud Agnostic- VM's, Bosch, Diego X-Large Installation Footprint minimum – 12-27nodes Container Platform Agnostic Run in Cloud or On-Prem Small Installation Footprint – 7 nodes NO Vendor Lock IN OPEN OPEN 100% open source Stratos UI allows for multi CF instance andKubernetes management1313

Reuse your existing Kubernetes clusterEirini is a new feature of Cloud Foundry Foundation that enables pluggable scheduling forthe Cloud Foundry Application Runtime. Specifically, Eirini allows operators to choosewhether Cloud Foundry Application Runtime should use Diego (the default scheduler inCFAR) or Kubernetes to orchestrate application container instances. The project’s goal isto provide the option of reusing an existing Kubernetes cluster infrastructure to hostapplications deployed by CFAR.NOTE: Eirini is a tech preview feature in SUSE Cloud Application Platform 1.5.114

Lab #1 & #2Interacting WithCloud FoundryVia The CLI15

Lab Machine EnvironmentWe will be using a virtual environment under KVM The virtual machine is called cflab, and the system is in disk01.qcow2 Go full screenCF CLI has been pre-installedPresentation, cheat sheet, are on lab desktopLab files that we will be using for this hands-on session are hereUse FireFox for web browsing (good bookmarks are set)Left side Right side16

The CF Sign Up And Target EnvironmentTasks1) anynines public PaaSSign up by going to https://paas.anynines.com/2) Login to anynines, select 3 for test space3) Are you logged into anynines publicPaaS?4) What org and space are you targeting?Cheat Sheet1) Goto anynines web site. There is a step bystep pdf located (here)2) Register (No Credit Card Needed)3) Open terminal to Login from CLI:cf login https://api.de.a9s.eu (enter)Email Enter email used to register withanynines (enter)Password Enter anynines password (enter)4) You can see where you are logged in using cftarget. You should see something similar to:17

Login Process.18

Lab #3Pushing YourFirst CloudFoundry App20

Getting Help with cf Command LineTASKSCheat SheetGetting help with the "cf" Open terminalcommand line: cf help -acf help –a cf some cmd --helpcf some cmd --help cf push --helpUse the cf command line cheat cf target –helpsheet you were given. cf help –a grep push21

Pushing Your First App (part 1)TASKSLook at your cf environment to makesure you are logged in correctly.Change directory to the 03-push/webappCheat Sheet Open terminal cf target cd training-zero-to-hero/03-push/web-appWhat files are in this directory? lsPush the app: cf push cf push Look for "running" under state. cf app web-appCheck to see if the app is runningcorrectly.22

Pushing Your First App (part 2)TASKSAccess Your App. Find the RandomCheat Sheet output of the "cf push"URL in the output of the push.Use the random URL in your browserLook for URL next to "routes:" from the Cut/Paste this URL into the FF browser. cf app web-app cf push --helpFind out more details about yourrunning appFind out more about "RandomRoutes"23

Pushing Your First App (part 3)TASKSPush the Worker AppCheat Sheet cd training-zero-to-hero/03-push/worker-appIs there a "routes:" or URLassociated with this app? cf push Look for "running" under state, inthe cf push commands output.Check the recent log entriesbeing produced by this app. cf app worker-app cf logs worker-app --recent24

Pushing Your First App (part 4)TASKSCheat SheetDelete both apps to cleanup your cf delete web-appspace. cf delete worker-appMake sure no apps are running. cf apps (should show "No appsfound")25

Lab #4We will examine a runningapp to understand what abuildpack providesBuildpacks - create arunnable artifact calleda droplet26

Buildpacks (part 1)TASKSCheat SheetLook at the system buildpacks that cf buildpacks (you should see 18 or so)are available on this Cloud Foundry cd tatic-appPush the "static-app" found in 04- cf pushbuildpacks Look for "running" under state.Check to see if the app is running cf app static-appcorrectly. Look for "buildpacks:" in cf push outputWhat buildpack is "static-app" using?or cf app static-app27

Buildpacks (part 2)TASKSLog into the running "static-app" and dosome inspection.What kernel is the app running?What processes are running in the app?What files did the buildpack provide?Exit out of the static-appScale "static-app" so that 4 instances areCheat Sheet cf ssh static-app uname -a ps –eaf ---or--- top ls /app exit cf scale static-app -i 4 cf app static-apporctrl-Drunning.Look at static-app instances28

Buildpacks (part 2.1)TASKSCheat SheetDelete static-app or reduce cf scale static-app -i 1instance count to 1 cf delete static-appValidate what apps are running cf apps(delete any that are running) cf delete [app-name]29

Buildpacks (part 3)Cheat SheetTASKSMore with buildpacks; cd to the 04- cd packs/mixed-app directory and see it contains ls cf push Look for "buildpacks:" in cf push commands output Look for URL next to "routes:" Cut/Paste this URL into the browser with both index.phpboth index.html and index.php.Push the app.Which buildpack is deployed?Visit both URL/index.html and URL/index.phpand index.html on the end.Use "cf ssh" to see what files the buildpack added. cf ssh mixed-appExit ssh session when done. ls /appView mixed-app recent logs exit cf logs mixed-app --recentorctrl-D30

Buildpacks (part 4)TASKSCheat Sheet appOverride the BuildpackPush the app again, but this time override the Look for URL next to "routes:" Cut/Paste this URL into the browser with bothindex.php and index.html on the end.Visit both URL/index.htlm and URL/index.phpUse "cf ssh" to see what the buildpack added.-bbuildpackone: ckpushed.cf ldpack with thisNotice what buildpack was used as the app getscd training-zero-to-hero/04-buildpacks/mixed- cf ssh mixed-app ls /app exitorctrl-D31

Buildpacks (part 5)TASKSCheat SheetDelete both apps to cleanup your cf delete static-appspace. Check and make sure no cf delete mixed-app cf apps (should show "No appsapps are running.found")32

Lab #5Resilience And Availability We will use purposefullycrashed app instances andsee how Cloud Foundryworks to maintain availability33

Making Apps Resilient (part 1)TASKSCheat SheetChange Directory to the 05- cd esilience/imperfect-app cf pushPush the "imperfect app" Look for URL next to "routes:" Cut/Paste this URL into the browser. Click the "Crash me" link. Back in the terminal, issue "cf app imperfect-app"Use the random URL in your browserClick "Crash me" on the page.to check the status.Check the status of your appCan you see the app in the crashed state? Even catching "starting" is good.34

Making Apps Resilient (part 2)TASKSScale up "imperfect-app" to 3 instancesCheck to see if you have 3 instancesrunningCheat Sheet cf scale imperfect-app -i 3 cf app imperfect-app Look for Number of instances"running". (should see 0-2)Visit the random URL in your browser(again)Click "Crash me" on the page. Use the URL from the previous page. Click the "Crash me" link. Click "See if an app instance is available" hitClick "See if an app instance is available"See where you are.Keep doing the last three steps.original app URL or remove the /crash You should be running on an instancebesides "0".35

Making Apps Resilient (part 3)TASKSCheat SheetDelete the app to cleanup your cf delete imperfect-appspace. cf apps (should show "No appsfound")36

Info And TrainingAnd “Other"Session Links37

ww.cloudfoundry.org/thefoundry/#cert-distrosInfo and d-foundry/https://www.cloudfoundry.org/38

Other Cloud Foundry Sessions @ SUSECONDigital 2020Fill in later39

Extra Credit Lab 7 And BeyondFind Lab #7 at the end of this presentation. We skipped Lab #6, we thoughtLab #7 was more critical.Find additional labs and other learning ideas at: http://basics-workshop.cloudfoundry.org/40

Lab #7 (Yes, weskipped Lab #6)Share PersistentData Between AppInstances42

Dealing With State (part 1)TASKSCheat SheetLook at the services available on cf marketplacethis CF instance. cf marketplace -s a9s-redis40(cf marketplace) cf create-service a9s-redis40 redis-single-nano myredisCreate a free "nano" instance ofRedis that you can use to store cf services"state" watch cf servicesTest that you have a good service (it will take some time for therunningservice to be created)43

Dealing With State (part 2)TASKSChange Directory to the 07-sharedstate/stateful-appPush this app with the --no-start flagUse "cf bind-service" to bind theservice you created and the appDid it work? Can you find out thestatus?Start the app and see if it bound to theRedis service correctlyCheat Sheet cd training-zero-to-hero/07-sharedstate/stateful-app cf push --no-start cf bind-service --help cf bind-service stateful-app myredis cf start stateful-app cf env stateful-app Look for the VCAP SERVICES sectionand find the Redis service.44

Dealing With State (part 3)TASKSCheat SheetVisit the App in the Browser Look for URL next to "routes:"See how many visits have been Cut/Paste this URLmade?into the browserRestart the app and revisit the app in cf restart stateful-appthe browser. Data is stored in the stateful RedisObserve that the total visits did notservicereset. Why?45

Dealing With State (part 4)TASKSIncrease the number of instancesCheat Sheet cf scale stateful-app -i 4 Use URL AND REFRESHof the stateful-appKeep revisiting the app and seehow the counters react (singleinstance vs total number of hits)46

Dealing With State (part 5)TASKSCheat SheetStop, and unbind the stateful-app cf stop stateful-appfrom the Redis service cf unbind-service stateful-app myredisBind the app to the service (again) cf bind-service stateful-app myredis Application retain or lose the countWhat do you think will happen?data?47

Dealing With State (part 6)TASKSCheat Sheet cf stop stateful-app cf unbind-service stateful-app myredisDid that work? cf delete-service myredisHow can you delete the Redis service? cf services cf create-service a9s-redis40 redis-singlenano myredis watch cf services cf bind-service stateful-app myredis cf start stateful-app Instance count resetDelete the Redis serviceRecreate the Redis service, and bind it tothe stateful-appStart the appWhat do you think will happen?48

Dealing With State (part 7)TASKSCheat SheetDelete the Redis service and app cf stop stateful-appto cleanup your space. cf unbind-service stateful-app myredis cf delete-service myredis cf delete stateful-app cf apps (should show "No apps found") cf services (should show "No servicesfound")49

IN CASE EMAILS susecon56@gmx.com - susecon2019 susecon56@outlook.com - susecon2019 susecon57@outlook.com - susecon2019 susecon58@outlook.com - susecon201950

General DisclaimerThis document is not to be construed as a promise by any participating company todevelop, deliver, or market a product. It is not a commitment to deliver any material,code, or functionality, and should not be relied upon in making purchasingdecisions. SUSE makes no representations or warranties with respect to the contents ofthis document, and specifically disclaims any express or implied warranties ofmerchantability or fitness for any particular purpose. The development, release, andtiming of features or functionality described for SUSE products remains at the solediscretion of SUSE. Further, SUSE reserves the right to revise this document and tomake changes to its content, at any time, without obligation to notify any person or entityof such revisions or changes. All SUSE marks referenced in this presentation aretrademarks or registered trademarks of SUSE, LLC, Inc. in the United States and othercountries. All third-party trademarks are the property of their respective owners.51

Eirini is a new feature of Cloud Foundry Foundation that enables pluggable scheduling for the Cloud Foundry Application Runtime. Specifically, Eirini allows operators to choose whether Cloud Foundry Application Runtime should use Diego (the default scheduler in CFAR) or K

Related Documents:

Foundry industry generates a huge amount of waste. The foundry dust is a very serious problem because it is created in every step of foundry process and its quantity is on the second place among foundry wastes [4]. Foundry dusts in individual steps of foundry plants differ by their chemical composition, appearance and granulometry.

Cloud Foundry can be deployed on notebooks through Micro Cloud Foundry. It is the complete version of Cloud Foundry designed to run in a virtual machine. It can also be deployed on Private Cloud or Public Cloud. These features made Cloud Foundry as a flexible PaaS. Cloud Foundry component

PIVOTAL CLOUD FOUNDRY A platform-as-a-service for cloud-native applications (PaaS) PIVOTAL CLOUD FOUNDRY Pivotal spun off out of EMC and VMWare Based on open source Cloud Foundry Products Pivotal Cloud Foundry: on-premise PaaS Pivotal Web Services:

Before we proceed with extension development, it is important that we also configure the Cloud Foundry space we want to use for local testing. To configure the Cloud Foundry space, navigate to the preferences tab in Web IDE and select the Cloud Foundry section. In the Cloud Foundry section, configure the relevant space: 1.1 ACF Extensions

Cloud Foundry Foundation Going Cloud Native with Cloud Foundry. Why does Cloud Native matter? Since 2000, 52% of the Fortune . Continuous Innovation. There is a rough consensus on many Cloud Native traits. Containers as an atomic unit, for example. Micro-services as the means of both construction and communication. Platform independence .

5 Dell EMC ECS with Pivotal Cloud Foundry H17569 1 Solution overview This section provides an overview of both Dell EMC ECS and Pivotal Cloud Foundry key technologies and solution architecture. 1.1 Pivotal Cloud Foundry Pivotal Cloud Foundry is an application deployment platform that delivers software and software updates to a public or .

Cloud Foundry The story of Cloud Foundry starts in summer of 2007 when Chris Richardson, a software developer and entrepreneur, created the Cloud Tools project. Initially, this was a set of tools for deploying Java applications to Amazon EC2. In 2008, Chris launched Cloud Foundry, a commercial version of Cloud Tools.

E. Kreyszig, “Advanced Engineering Mathematics”, 8th edition, John Wiley and Sons (1999). 3. M. R. Spiegel, “Advanced Mathematics for Engineers and Scientists”, Schaum Outline Series, McGraw Hill, (1971). 4. Chandrika Prasad, Reena Garg, "Advanced Engineering Mathematics", Khanna Publishing house. RCH-054: Statistical Design of Experiments (3:1:0) UNIT 1 Introduction: Strategy of .