36
© 2014 IBM Corporation DBD-2414: Iterative Web- based Designer for Software Defined Environments Michael D. Elder [email protected] | @mdelder linkedin.com/in/mdelder Maneesh Goyal [email protected] ca.linkedin.com/in/maneeshgoyal/

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

Embed Size (px)

DESCRIPTION

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.

Citation preview

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

© 2014 IBM Corporation

DBD-2414: Iterative Web-based Designer for Software Defined Environments Michael D. Elder [email protected] | @mdelder linkedin.com/in/mdelder Maneesh Goyal [email protected] ca.linkedin.com/in/maneeshgoyal/

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

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.

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

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

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

•  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!

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

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

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

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

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

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

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

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

Envi

ronm

ent

Blu

eprin

t

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

•  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!

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

What is a #fullstackapp ?

Application Changes"

Infrastructure Changes"

Consistent Incremental Change"

…" …"

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

Long, complex lifecycle!

Small iterative changes!

Role! Layer!

…! …!Developers/

Testers

Integrators

Specialists Compute, Network,

and Storage

Platforms

Apps

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

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!

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

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!

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

•  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!

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

•  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!

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

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

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

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

Des

ign

Tem

plat

es

Dep

loy

Tem

plat

es vSys, vApp

Application

Middleware Config

Middleware

OS Config

Hardware

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

IBM UrbanCode Deploy with Patterns (a demo album)!

17!

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

Introducing Web-based HOT Editor!!

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

Let’s get textual!!

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

Provide catalogs of available resources!Compute! Network! Storage!

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

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!

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

Manage Identity through OpenStack Identity API!!

o Users authenticated upon login with keystone!

o Keystone tokens used for discovery of existing content!

!

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

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

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

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. !

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

•  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!

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

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!

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

IBM UrbanCode Deploy & Heat Templates!

o Extended to create environments in OpenStack!!

!o Provisioned

resources made available for ongoing updates!

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

IBM UrbanCode Deploy & Heat Templates!

!o Choose HOT

document, configuration, and parameters!

o Discovery service provides easy access to Glance, Neutron, Cinder resources!

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

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

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

•  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!

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

•  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!

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

•  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!

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

33!

•  Provision Network architecture to OpenStack!

•  Provision Network architecture to Amazon (no OpenStack required)!

•  Select pre-defined configuration for each cloud!

Demo: Cloud Portability

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

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 [email protected] | @mdelder linkedin.com/in/mdelder Maneesh Goyal [email protected] ca.linkedin.com/in/maneeshgoyal/

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

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.