DBD 2414 - Iterative Web-Based Designer for Software Defined Environments (Innovate 2014)


Published on

Delivered at IBM Innovate 2014. Original abstract:

How can you improve your customer feedback loop using iterative, full stack application design for the cloud?

In this presentation, we’ll cover an innovative new way of designing and versioning your cloud applications through a web-based environment development toolkit. With support for OpenStack and other cloud providers, we’re able to capture all aspects of your cloud-based application from compute, storage, and virtual networking all the way up to the application managed in UrbanCode Deploy. In a single click, you can stand up a new environment complete with application components deployed and ready to run. With built in configuration management, you can see the changes made by your automation to configure each node. And with UrbanCode Deploy’s inventory management system, you’ll always know what version of which component is deployed where.

Come learn about our new take on cloud design and get involved to provide us with feedback to make this offering exactly what you need.

Published in: Software, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

DBD 2414 - Iterative Web-Based Designer for Software Defined Environments (Innovate 2014)

  1. 1. © 2014 IBM Corporation DBD-2414:Iterative Web- based Designer for Software Defined Environments Michael D. Elder mdelder@us.ibm.com | @mdelder linkedin.com/in/mdelder Maneesh Goyal mgoyal@ca.ibm.com ca.linkedin.com/in/maneeshgoyal/
  2. 2. Please note! IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction 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 potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  3. 3. IBM DevOps point of view! Enterprise capability for continuous software delivery that enables organizations to seize market opportunities and reduce time to customer feedback Accelerate software delivery – for faster time to value Balance speed, cost, quality and risk – for increased capacity to innovate Reduce time to customer feedback – for improved customer experience Our DevOps POV is resonating with clients and they are delivering measurable business outcomes with DevOps Continuous Customer Feedback & Optimization Collaborative Development Continuous Release and Deployment Continuous Monitoring Continuous Business Planning Continuous Testing Operate Develop/ Test Deploy Steer DevOps Continuous Feedback
  4. 4. •  Throughput of each process must be the equal in order to avoid backlogs. •  When preceding process is upgraded to a higher throughput, subsequent processes must be upgraded to the same higher throughput in order to maintain balance. Optimize pipeline with an even flow end to end!
  5. 5. IBM DevOps increases velocity of application delivery! •  Rational CLM enabling Collaborative Development •  Rational Test Workbench and Rational Test Virtualization Server (GreenHat) enabling Continuous Testing •  IBM UrbanCode solutions enabling Continuous Release and Deployment •  SmartCloud Monitoring, Worklight Quality Assurance, IBM Digital Analytics and others enabling Continuous Monitoring, customer feedback IBM UrbanCode Deploy Release Ra#onal  Team  Concert   Ra#onal  Focal  Point   Ra#onal  Requirements  Composer   Ra#onal  Build  Forge   IBM UrbanCode Release
  6. 6. Deploying cloud environments still slow and manual! •  Takes many hours to days to deploy cloud environment and requires multiple specialists to collaborate and coordinate –  Provisioning infrastructure and configuring network, storage and compute –  Installing and configuring Middleware (Application Server, Database) –  Installing user application and application data •  Reduced productivity of Developers and Testers due to slow availability of test environments •  Slow delivery of applications to production environments Manual coordination to provision infrastructure, install and configure middleware and deploy application Release
  7. 7. What our clients are saying about deploying cloud environments! Application Workloads include Infrastructure, Middleware and Applications •  I want to manage these holistically •  Different people have expertise in each area •  I have different automation tools for each layer Let me choose when to re-provision and when to update •  Sometimes I want to test in a transient environment •  Other times I want to deploy changes into an existing environment, especially production Don’t make me pick a cloud •  Different workloads have different homes •  I want to be able to test in one cloud, and run production in another
  8. 8. Introducing IBM UrbanCode Deploy with Patterns ü Pattern designer –  Design open, full stack application environments in a diagram or textual editor ü Design once, deploy anywhere –  Deploy full stack environments to multiple clouds ü Environment lifecycle management –  Manage infrastructure change and easily apply changes to existing environments ü Delivery process automation –  Automated delivery process with integrated full stack environments Design and deploy full stack application environments for multiple clouds IBM UrbanCode Deploy with Patterns Application Middleware Config Middleware OS Config Hardware Environment Blueprint
  9. 9. •  The adoption of DevOps => increased velocity of application delivery •  Puts pressure on the infrastructure to respond more quickly •  Software Defined Environments enable you to capture infrastructure as a software artifact Deploying infrastructure changes is the current bottleneck for delivery pipeline ! Application ! Changes! Infrastructure! Changes!
  10. 10. What is a #fullstackapp ? Application 
 Changes" Infrastructure
 Changes" Consistent Incremental Change" …" …"
  11. 11. Long, complex lifecycle! Small iterative changes! Role! Layer! …! …! Developers/ Testers Integrators Specialists Compute, Network, and Storage Platforms Apps
  12. 12. Developers/ Testers Integrators Specialists Compute, Network, and Storage Platforms Apps Full Stack Blueprint (HOT) Cloud Orchestration Describe software defined resources (Compute, ! Network, Storage) alongside middleware and applications! Capture the full stack as a blueprint document,! actionable by an automated process!
  13. 13. Compute, Network, and Storage Platforms Apps Compute, Network, and Storage Platforms Apps Compute, Network, and Storage Platforms Apps Dev/Test Cloud Production Cloud Full Stack Blueprint Dev! QA! Prod! Apply the same blueprint to multiple environments!
  14. 14. •  Version the blueprint using your source control repo (native support for git) •  Apply the new versions of the template to an existing environment or provision an entire new stack •  Validate changes with a "canary" pattern to ensure correctness and detect problems earlier •  Verify entire stack before production Full-Stack Blueprint Software Defined Delivery!
  15. 15. •  Parameterize differences between cloud environments (network ids, image ids, software versions) •  Overlay resource types for different kinds of clouds in the same blueprint •  Enable portability but optimize for each specific cloud platform Full Stack Blueprint Config/ Params Cloud A Cloud B Config/ Params Software Defined Portability!
  16. 16. OpenStack Heat! •  Provides a way to represent infrastructure from OpenStack •  Recently added support for client-side automation through Shell, Chef, or Puppet •  Defined a new Domain Specific Language for templates: Heat Orchestration Template (HOT) format •  Supports updating existing environments in place
  17. 17. User Personas for IBM UrbanCode Deploy with Patterns! Components Infrastructure Specialists develop and update reusable building blocks for application environment patterns 1 Application Pattern HOT Architects and Integrators design and update application environment patterns from building blocks targeting specific cloud platforms (Amazon, VMWare) 2 Building Blocks 3 Release Engineers leverages the application environment patter to create and manage a multi- stage continuous delivery pipeline 4Application Developers and Testers can test the application changes for in a production-like environment DesignTemplatesDeployTemplates vSys, vApp Application Middleware Config Middleware OS Config Hardware
  18. 18. IBM UrbanCode Deploy with Patterns 
 (a demo album)! 17!
  19. 19. Introducing Web-based HOT Editor!!
  20. 20. Let’s get textual!!
  21. 21. Provide catalogs of available resources! Compute! Network! Storage!
  22. 22. Include Software Configuration!! UrbanCode Deploy! o Provide Software Components right along side infrastructure! o Represent these resources in HOT documents! o Once, deployed update either from Heat or UrbanCode Deploy! o Will support Chef, Puppet, etc over time!
  23. 23. Manage Identity through OpenStack Identity API!! o Users authenticated upon login with keystone! o Keystone tokens used for discovery of existing content! !
  24. 24. 23! •  Diagram editor! •  Source text editor ! •  HOT as-you-type validation! •  Annotated TODO & errors! •  Quick palette for searching! •  Editor functions: Cut, Copy, Paste, Find & Replace! •  Zoom diagram or text! •  Comment out infrastructure! Demo: Web-based design and provisioning
  25. 25. IBM UrbanCode focuses on Release Automation! Drive down cost Remove manual effort and wasted resource time with push button deployment processes Speed time to market Simple, graphical process designer, with built-in actions to quickly create deployment automation Reduce risk Robust configuration management, coordinated release processes, audits, and traceability Enabling clients to more rapidly deliver mobile, cloud, big data and traditional applications with high quality and low risk IBM UrbanCode Deploy automates the deployment of applications, databases and configurations into development, test and production environments, helping to drive down cost, speed time to market with reduced risk.! ! IBM UrbanCode Release is an intelligent collaboration release management solution that replaces error-prone manual spreadsheets and streamlines release activities for application and infrastructure changes. !
  26. 26. •  Defined by the community and vendors •  Integration with UrbanCode Deploy enables rapid configuration of full application stack •  Support ongoing updates of deployed versions through UrbanCode Deploy Example: Software!
  27. 27. IBM UrbanCode Deploy! o Application-centric view! o Understands components, environments, snapshots of verified component versions! o Promote from one environment to the next, with approval gates!
  28. 28. IBM UrbanCode Deploy & Heat Templates! o Extended to create environments in OpenStack!! ! o Provisioned resources made available for ongoing updates!
  29. 29. IBM UrbanCode Deploy & Heat Templates! ! o Choose HOT document, configuration, and parameters! o Discovery service provides easy access to Glance, Neutron, Cinder resources!
  30. 30. 29! •  View current environments! •  Create new environments in the cloud! •  Select available resources from Nova, Neutron, Cinder! •  Validation feedback in place! •  Update environment over time! •  Deploy new component versions! Demo: UrbanCode Deploy Consuming Cloud Patterns
  31. 31. •  We’ve been in the tools business for a long time and seen different approaches to common + vendor information models •  Approaches like Java EE keep a common file (web.xml) and then extend it with vendor content (ibm-web-bnd.xml) •  These approaches become harder to maintain over time Managing Attributes from Different Clouds!
  32. 32. •  Chose to extend the Heat Resource Types to understand other Service API directly •  “Overlay” additional properties alongside Heat and use the Resource Registry to implement different behavior •  Capability was restricted from Havana to Icehouse, so we now embed properties in metadata Cloud Portability through Decoration!
  33. 33. •  Chose this approach to support multiple cloud targets from Heat •  Enable Heat to talk natively to different cloud APIs •  Support portability for customers who haven’t yet adopted OpenStack Example: Decorating Amazon!
  34. 34. 33! •  Provision Network architecture to OpenStack! •  Provision Network architecture to Amazon (no OpenStack required)! •  Select pre-defined configuration for each cloud! Demo: Cloud Portability
  35. 35. Thank You!! Your Feedback is Important! Access the Innovate agenda tool to complete your session surveys from your smartphone, laptop or conference kiosk. Michael D. Elder mdelder@us.ibm.com | @mdelder linkedin.com/in/mdelder Maneesh Goyal mgoyal@ca.ibm.com ca.linkedin.com/in/maneeshgoyal/
  36. 36. Acknowledgements and Disclaimers" © Copyright IBM Corporation 2012. All rights reserved. –  U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms 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 be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml The OpenStack™ Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundaiton, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community Amazon Web Services, the “Powered by Amazon Web Services” logo, [and name any other AWS Marks used in such materials] are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries. 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 all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the 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 they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.