enterprise cloud with ibm & chef (chefconf 2013)

32
© 2013 IBM Corporation Enterprise Cloud with IBM & Chef #ChefConf 2013 Ann Marie Fred, SmartCloud Designer and Developer, IBM Michael Elder, Senior Technical Staff Member, IBM

Upload: michael-elder

Post on 11-May-2015

1.116 views

Category:

Documents


1 download

TRANSCRIPT

  • 1. 2013 IBM CorporationEnterprise Cloud with IBM & Chef#ChefConf 2013Ann Marie Fred, SmartCloud Designer and Developer, IBMMichael Elder, Senior Technical Staff Member, IBM

2. 2013 IBM Corporation1IBMs statements regarding its plans, directions, and intent are subject to change orwithdrawal without notice at IBMs sole discretion.Information regarding potential future products is intended to outline our general productdirection and it should not be relied on in making a purchasing decision.The information mentioned regarding potential future products is not a commitment, promise,or legal obligation to deliver any material, code or functionality. Information about potentialfuture products may not be incorporated into any contract. The development, release, andtiming of any future features or functionality described for our products remains at our solediscretion.Please notePerformance is based on measurements and projections using standard IBM benchmarks ina controlled environment. The actual throughput or performance that any user will experiencewill vary depending upon many factors, including considerations such as the amount ofmultiprogramming in the users job stream, the I/O configuration, the storage configuration,and the workload processed. Therefore, no assurance can be given that an individual userwill achieve results similar to those stated here. 3. 2013 IBM Corporation2In this session:Our Pain Points: Sound familiar?SmartCloud Provisioning and Chef Keep it simple.SmartCloud Orchestrator and Chef Add management and orchestration.Continuous delivery of a cloud provider.Starting to drink our own champagne The rubber hits the road.SmartCloud Continuous Delivery and Chef A fully integrated tool chain fordev/test.Introducing WeaverLooking Forward (we have a secret!)Watch this space! 4. 2013 IBM Corporation3Why TransformOur Pain Points. Sound familiar?q Huge footprint of physical servers andunknown virtualised stateq Underutilized hardware: average of5-9% utilization per serverq Duplication in the capital request andprocurement processq Long lead time to access additionalservers to service spikes in dev/testq Development and IT labs had a varietyof tooling from home-grown to maturedimplementationsq Teams heavily leveraging hypervisormgmt tools, images were everywhere!!q Badly integrated reporting of defects,build quality, and production issuesq Backlog of agile release contentcoming from dev to testq Manual (tribal) processes for releaselack repeatability/speedq Testing run on simple environmentsmissing production issuesReduce capital expenseand maximize existinginvestmentStandardize &Automate to drive AgileDevelopment andInnovationOptimize the Agiledevelopment benefit byusing DevOpsprinciples 5. 2013 IBM Corporation4Make it easy to consume Chef on IBM SmartCloudSmartCloud Provisioning & Chef 6. 2013 IBM Corporation5SmartCloud Provisioning and Chef Keep it simple. Make it easy Use Chef Use IBMsVirtual SystemPatterns Provide DNDinterface forcreating newpatterns Support the IBMCloud Providers 7. 2013 IBM Corporation6Search & Download from the Community 8. 2013 IBM Corporation7Generate Script Package for the Chef Role 9. 2013 IBM Corporation8Create a Virtual System Pattern and Add Script Packages 10. 2013 IBM Corporation9Deploy a Multi-node Pattern 11. 2013 IBM Corporation10Add management and orchestrationSmartCloud Orchestrator & Chef 12. 2013 IBM Corporation11SmartCloud Orchestrator Chef Toolkit 13. 2013 IBM Corporation12Enable Better Collaboration for the Enterprise 14. 2013 IBM Corporation13Example Approval Process in SCO 15. 2013 IBM Corporation14Use Chef to make us betterUsing Chef for Our Projects 16. 2013 IBM Corporation15Provision TestEnvironment in CloudDeploy App from dev totest environmentConfigure MiddlewareOrchestrate FunctionalPerformance, Securityand Integration TestsProvision developmentenvironment in CloudBuild AutomationUnit Test OrchestrationPackage & ReleaseDeliverablesSmoke Test OrchestrationDeploy ReleaseDeliverables toproduction environmentOrchestrate smoke testfor production readinessProvision stagingEnvironment in CloudOrchestrate UserAcceptance TestsDevelopment Testing Staging ProductionCon$nuous Delivery Important to drink our own champagneGoals for SmartCloud Orchestrator dev/test 17. 2013 IBM Corporation16The GoalEnable component teams to develop their code in amodular manner while continuously integrating andvalidating the end-to-end functional and non-functionalquality of the product.We needed:Running, testable software.Build results we can trust. 18. 2013 IBM Corporation17Our Delivery Pipeline Multi-Platform Product Delivery 19. 2013 IBM Corporation18Component Delivery Process Multi-Geo & Timezone"VIL Dev"Write code"SCUI Dev"VIL Code"SCUI Code"Write code"VIL Component"SCUI Component"VIL component build"SCUI component build"(Component) BVT" CVT"Pass! Pass!Fail! Fail!Pass! Pass!Fail! Fail!(Component) BVT" CVT"Product Driver"SCO Product Build"On to Integration!" 20. 2013 IBM Corporation19Integration Delivery Process"Product Driver"(Product) FVT"SVT"PVT"Gemini"Product Release"Pass + Feature Complete!(Product) BVT" 21. 2013 IBM Corporation20Gemini Deployment Jenkins jobs to publish the approved component builds to the ChefServer Trigger chef client runs to drive deployment Kick off test automation and report resultsContinuousDeploymentOur Delivery Pipeline: Continuous Deployment 22. 2013 IBM Corporation21Help Enterprise Customers with Continuous DeliverySmartCloud Continuous Delivery& Chef 23. 2013 IBM Corporation22Implement delivery pipeline with IBM SmartCloud Continuous DeliveryInput changes, track, deploy, test and reportVersion andtrack deliveryassetsProvisionenvironmentDeploy andconfigureapplicationRunautomatedtestsReportContinuous Delivery PipelineDevelopmentCodeChange,Unit testsFeedbackon ChangeTestAppChange,Auto TestTestResultsOperationsEnvironmentPatternsReleasedashboards 24. 2013 IBM Corporation23Streamline Delivery23 TestAutomationProductionConfiguration(Code/Scripts)Deliver ChangesVirtual PatternsBest PracticeWorkflow AutomationRepository Private CloudManageDeliverablesProvisionEnvironmentVerifyChangesMonitor &MaintainDeliver Changes, Manage Deliverables, Provision, Test, Dashboard, Monitor 25. 2013 IBM Corporation24Example: Pa#ern for HelloWorldEnvironment # topology with an identifier!topology(:hello_world_env) {!name Hello World Environment!description Hello World JSP app on a single node !!# Provider responsible for provisioning nodes within the topology!provider :systemz, :url => https://urltoservices[ZOSMF?]!!# A web server hosting the hello world application component!node (:app_server) {!# The node is provisioned using the image identifier by the provider what does this mean for Z?!provider :image => websphere_liberty-1.0!!# The Hello World component to be provisioned with key properties!component(:hello_world_app) {!name Hello World Application!description Provides an embedded Jetty with a hello world web application!property :asset_id => hello_world_app!property :asset_version => 2.0.3!}!!# Automation defined to provision the Hello World app using property values from within# the topology!chef_automation (:hello_world_app_role) {!role webapp_role!property :port => 8080 !property :context_root => /!property :war_archive => "http://asset-lib.ibm.com/oslc/#{hello_world_app.asset_id}_#!{hello_world_app.asset_version}.war!} !}! 24Describe each node in thepatternDescribe components & theirproperties within the nodeBind to Chef RolesconceptIBM Confidential 26. 2013 IBM Corporation25Example: Pattern for JKE 2 Node Environmentimport web_platform.weaver # Pattern for Platform!import jke_app.weaver # Pattern for Application!!topology (:qa_environment) {!name Integration Testing Environment"!description "JKE App on two node IWD pattern!!use :jke!use :qa_platform!!# Realize application nodes onto pattern nodes!realizes jke.app_server => qa_platform.tomcat_server!realizes jke.db_server => qa_platform.mysql_server!!# Environment specific properties !property :build_tag => TODO", :description => "Build id from build system!!# Set properties for the infrastructure node (excerpt)!qa_platform.name = JKEBanking_#{build_tag}!!app_server.hello_world_app_role.port = 9080!!!# Override other values in any of the application or pattern topology (if needed)!jke.app_server.web_app.context_root = /!}!jke app(Logical App)QA Environment web_platform(CloudInfrstracture)At this layer, were se8ng proper;es and binding some dependencies, but not a lot of detail on how to realize the running environment 25IBM ConfidentialComposable language factor our app & plaEorm 27. 2013 IBM Corporation26Ruby API & Command Line Interface !!# Ruby code for deployment (!e = Weaver::Environment.new(hello_world_env.weaver)!e.deploy # can be done via Command Line Interface or Ant tasks as well)!!!!!!!# Get hostname, port, and context from running Environment!hostname = e.app_server.hostname!port = e.app_server.hello_world_app_role.port!context = e.app_server.hello_world_app_role.context_root !puts http://#{hostname}#{context}:#{port} # prints the web app url!26Translates the paKern into a series of API calls to the underlying provider (like OpenStack) IBM Confidential 28. 2013 IBM Corporation27Looking Forward 29. 2013 IBM Corporation28UrbanCode improves software delivery enabling continuous releaseand deployment via Application Release Automation (ARA)Drive down cost. Reduce the amountof manual labor, resource wait-time,and rework Push-button deployments improve productivityof developer and operations staffSpeed time to market. Increase frequencyof software delivery Automated software release and deploymentreduces errors Built-in best practicesReduce risk. Deliver higher quality applicationreleases with increased compliance End-to-end transparency, auditabilityand reduced time to feedbackEnabling clients to more rapidly deliver mobile, cloud, big data and traditionalapplications28Application BlueprintIBM Confidential until April 22, 2013 30. 2013 IBM Corporation29Watch this space!We are investing a great deal of effort into using Chef and continuousdelivery ourselves, and making it easier for our enterprise customers touse them as well.Read the Enterprise DevOps Blog on developerWorks:https://www.ibm.com/developerworks/mydeveloperworks/blogs/devops/Learn about SmartCloud Continuous Delivery:https://jazz.net/products/smartcloud-continuous-delivery/Tips on making automated tests faster: Enterprise DevOps Blog,Making Your Automated Tests FasterVisit us at our Ped! 31. 2013 IBM Corporation30Acknowledgements and Disclaimers: Copyright IBM Corporation 2013. All rights reserved. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP ScheduleContract with IBM Corp. Please update paragraph below for the particular product or family brand trademarks you mention such as WebSphere,DB2, Maximo, Clearcase, Lotus, etcIBM, the IBM logo, ibm.com, [IBM Brand, if trademarked], and [IBM Product, if trademarked] are trademarks or registered trademarksof International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarkedterms are marked on their first occurrence in this information with a trademark symbol ( or ), these symbols indicate U.S.registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also beregistered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at Copyright andtrademark information at www.ibm.com/legal/copytrade.shtmlIf you have mentioned trademarks that are not from IBM, please update and add the following lines:[Insert any special 3rd party trademark names/attributions here]Other company, product, or service names may be trademarks or service marks of others.Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in allcountries in which IBM operates.The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They areprovided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance oradvice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in thispresentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damagesarising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation isintended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or alteringthe terms and conditions of the applicable license agreement governing the use of IBM software.All customer examples described are presented as illustrations of how those customers have used IBM products and the results theymay have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in thesematerials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specificsales, revenue growth or other results. 32. 2013 IBM Corporation31SCD Artifact Library(RAM)Virtual SystemIBM SmartCloud Provisioning(cloud console)Jazz BuildEngine(s)31Deliver changesRequest deliveryPost resultsPublish packagesRequest pa:erndeploymentProvision pa:ernRetrieve packages31Rational Team ConcertclientSCD Client ExtRational Team ConcertserverSCD Server ExtCongure applicationRational Quality ManagerVerify congured applicationRequest automated verication1. Developer delivers application or conguration changes2. RTC triggers delivery request3. Worker services request build/package of application & automation4. Worker publishes application & automation packages5. Worker requests pa:ern deployment in cloud6. PaDern provisioning triggers (a) package retrieval and (b) package execution using Chef Solo.7. Worker requests automated verication through RQM, which triggers automated tests8. Worker reports results back to RTC