Tag: urbancode

  • DevOps Chat: Value Stream Management With HCL UrbanCode

    DevOps Chat: Value Stream Management With HCL UrbanCode

    Value stream management (VSM) is a term we hear with higher frequency. DevOps, Agile, Lean and contemporary application development are very dynamic. These rapid, dynamic approaches can make the software development process opaque to the broader organization. It’s early in this part of the market, but it’s born out the need for quantifying the business value coming from our investments in software development.

    Steve Boone, head of product management at HCL UrbanCode, joins us on this episode of DevOps Chat to talk about the state of this emerging market. Steve shares valuable insights about how organizations are working together, where DevOps and Agile are making a measurable difference and what management can do to provide teams with tools to manage their VSM.

    As usual, the streaming audio is immediately below, followed by the transcript of our conversation.

    Transcript

    Mitch Ashley: Hi, everyone. This is Mitch Ashley with devopsy.kinsta.cloud, and you’re listening to another DevOps Chat podcast. Today, I’m joined by Steve Boone, head of product management at HCL UrbanCode. Our topic for today is extracting value stream management from your existing DevOps culture. Steve, welcome to DevOps Chat.

    Steve Boone: Hey, Mitch! Thank you so much for having me here today. It’s an honor.

    Ashley: It’s an honor to have you on. We appreciate you joining us. Would you start by just introducing yourself, tell us a little bit about what you do at HCL UrbanCode and a little bit about the company?

    Boone: Yeah, absolutely. I’ve been with the UrbanCode brand now for a little over 13 years. If you’re not familiar too much with UrbanCode, back in 2013, we were acquired by IBM, and then just recently, about two years ago, we entered an IP partnership with HCL. Which is fantastic, because then we have both the likes of IBM and HCL investing into our whole portfolio of UrbanCode products. You know, everything from continuous integration, continuous delivery, release orchestration, and lately, we’ve been turning our eyes towards value stream management and trying to focus on how we can help enterprises take that next step and challenging and kind of solving what we think of are day two DevOps challenges, you know? Kind of overcoming the fact that now that we’ve got all this automation, how do we take it to the next level, how do I identify the new bottlenecks that are emerging in my organization and become more successful? I think, ultimately, that’s what we’re all trying to do.

    Ashley: Absolutely. We should start with a little bit of a definition. How would you define value stream management?

    Boone: Boy, it is a great question. I think it is very much kind of an emerging market. When we think about value stream management from an UrbanCode perspective, we’re really looking to make sure that the work that our development teams are doing is one, aligned to be overall business goals, right? And then two, we want to be able to provide the data and information that’s important for not only development teams but testing teams, designing teams, for them to be responsible for what we would think of as their own value stream.

    And when we think about it, it’s really the idea of how do I take something from idea and move it all the way into, let’s say, production or my customers’ hands? But what are all the different steps along that journey, right? That’s really what we think of as the value stream.

    So, have an idea. Eventually, that idea turns into some item in my developers’ backlog, and then I wanna progress those several sets of ideas that equate to some business value. And, you know, years prior, in the throes of the DevOps revolution, if you will, you know, a lot of the things that people would say—“Well, your bottleneck’s clearly in deployment automation” or, “It’s clearly in test automation.”

    And that’s just not the case any more. I mean, many of these companies have invested millions of dollars in people, process and tools, right? And now, they’re starting to come back and go, “Well, great, we’re doing all of these things. How do we get better? Where are my new bottlenecks?”

    And value stream management really looks to kinda shed light on that space and help people understand where the new bottlenecks are emerging within their organization.

    Ashley: Excellent definition. I totally would agree with how you’ve laid it out. Validate if you think this is a correct or help me advance the idea a little bit—it seems like value stream management has come on the scene because things like agile, lean, DevOps, very dynamic processes that are creating software, doing work in much smaller increments, much more flexibility about how you pivot, adjust, take on the next story in an agile way, whatever it might be. But that also can be very confusing and opaque to the organization, trying to understand if we insert money here and requirements for products here, what do we get out? And the value stream management is maybe a reaction or a way of putting kind of a systemic view on what’s happening in all of that process so we can understand both where we’re getting the value and are we getting the things that we needed to take to market as well as continuous improvement and how we can get better.

    Is that on track? Do you think maybe that idea needs to be advanced in a little different direction? What are your thoughts?

    Boone: No, I think the market’s really early, and I think that what you’re saying reflects that, right? It’s a very big message that I think value stream management is trying to take on.

    I kinda look at it as a couple of things, right? I think you’re right. There are many different development teams within an organization. I think these days, many of them would raise their hand if you said, “Hey, are you an agile team?” You know, having many agile teams doesn’t really necessarily make an agile enterprise, right?

    And so, the question becomes, what are we doing differently across these teams? How do we surface best practices? How do I gain visibility into the work that these teams are doing? And how does that roll up?

    So, if I am a C level executive and we say, “Hey, you know, we wanna go invest in these new features and functionality”—well, what’s the right technology to do that in, what are the right teams that we should handle that onto? What are those teams currently working on?

    All of those become very important questions. And I think, more importantly, when you look at the investment that these organizations have made over the last 10 years in DevOps, there’s a little bit of kind of mounting pressure to be able to show an ROI, you know? Out of the people that we’ve invested in and the processes that we’ve been working on, the tooling that we’ve acquired, is it paying off? And if not, why not? What do we need to adjust?

    Ashley: Yeah, excellent. I think you’re right and I appreciate you saying that up front. It is emerging, it’s still kind of being formed, and we’re early in this process.

    One of the things that enterprise organizations tend to do is, they don’t always like to be first in something. They like things to be proven out. Not always, but you don’t want to be on the bleeding edge of everything. How are enterprise organizations approaching value stream management in these earlier days? Are many of them jumping in, are a few taking the lead, and there’s other followers? How do you see this unfolding?

    Boone: Yeah, you know, it’s kind of been an all at once thing. I don’t think any organization is unfamiliar with the concept of value stream management. What we’ve seen is, they typically go through some kind of value stream process once or twice a year where they’ll look at from kind of a large, 1,000 foot picture, how is the organization working together, right? How does work turn in this giant crank, and how do we improve it?

    But kind of the theory of DevOps, right, we want that fast feedback and once or twice a year looking at your whole organization and how ideas move through it—that’s not really effective, and it’s definitely not feedback for the people who are doing that work.

    And so, what we’re starting to see is management try to give teams the tools they need to control their own value stream and to be responsible for that value stream, right? In a large company, they’ll say, “Hey, we’ve got value streams everywhere.” HR could be its own value stream—how we hire and train new employees into our organization has an impact on the type of work we’re able to deliver.

    From an UrbanCode perspective, we’re focusing on value stream where we know best, which is continuous integration and continuous delivery. So, we focus on looking at the tools that are in our space, whether those are deployment tools, build tools, testing tools, source code tools, and then we start looking at, “Well, who are all the players in a typical development team that advanced these ideas?” Right? You know, our development teams are dependent on design teams. They’re dependent on testing teams.

    And all of those have an impact in things like lead time and cycle time and mean time to recovery. Kind of the main types of things that, if we were to look and ask somebody, let’s say DORA, the types of metrics they care about and, you know, identifying high performing teams and being able to look at other teams and say, “Hey, look, these are kind of metrics we’d like to see you improve upon.”

    So for us, we’re looking at the value stream very much at a kind of AppDev/Operations level, but with big business value in how you can roll that up to the business, and justify the work that’s being done, justify the investments that are being made and to continue to recognize areas of improvement within that DevOps culture.

    Ashley: Well, it seems as organizations evolve and their adoption of DevOps eventually run into what were traditional stage gates, maybe you can view them as barriers, stopping points, because the rest of the organization is not set up to operate in that kind of dynamic flow, and it has traditional kind of waterfall processes. It seems like what you’re doing with UrbanCode is, you’re not only automating and integrating that at full CI/CD process across the tool set, but you’re also giving information that ties back into communicating some of those things that will help teams more easily flow through, pass, or if it is a stop, it’s minimal, because you’ve got all the information there that you need to say, “Are we ready to go into production?” or, “Were these things in the release?”

    Is that how you’re connecting kind of value stream to the dev process?

    Boone: Yeah, that’s right. I mean, one of the key things we look at is just, you know, where are these ideas that developers are working on store? Well, you know, typically, they’re in something like JIRA, right, or RTC—but there is some backlog management that is holding these really brilliant ideas, and they’re in the form of Epics and work items and they’re tied to sprints and releases.

    And so, you’ve got all of these ideas, and they’re all in motion. They’re all at some stage of work. They’re either sitting in a backlog or they’re being designed or they’re in progress or they’re in review, or they’re being merged, they’re being built. And that idea has a journey. It has a history and a life, and if we can start kind of surfacing that journey, then people can start seeing how ideas flow between various different teams, right?

    And everyone’s trying to do the best that they can for their group, their team, their application, their project. It is by no means about pointing fingers and saying, “Oh, well, we were held up on this release or this particular value, because it didn’t come out of testing fast enough” or “We didn’t get the designs fast enough.”

    But it is about surfacing the relationships between these different teams so that we can start having meaningful conversations with the right folks to improve these small bottlenecks that kind of crop up from time to time within our own internal processes. And, you know, very much like we talk about people, process and tools, at the heart of that is culture, right? And I think one of the really cool things about value stream management is, executed correctly, we can really start to enforce that DevOps culture and kinda stoke the flames of that, right? Reignite in the creativity and really get people bought in on the sense that it’s not about one individual team or application, it’s about the enterprise working together to deliver value for our customers in the most efficient way possible.

    Ashley: I love where you’re heading with this. This seems like one of the potential natural reactions of the DevOps team or development organizations is, since the organization hasn’t quite worked in that kind of an environment, value stream management could be seen as a way of gaining control, which is sort of the dark or the negative side of this. Another way to look at it is bringing transparency and giving, you know, really looking at a systemic view, as I mentioned earlier, across this.

    Have you seen that reaction of kinda pushing back against value stream management, because this sort of feels like the big brother kinda coming in and trying to grab control, or do DevOps teams pretty quickly see where the value is and start to embrace it?

    Boone: Yeah, I think it’s a couple—I mean, I definitely, I think back to the earlier days of just continuous integration, right? We have that thing where, if you broke the build, you’d get the big red light flashing in the dev pit and people would look and be like, “Oh, he must have broke the build over there” and—

    Ashley: The wall of shame. [Laughter]

    Boone: You know, you’d have to—yeah, it’s like, you’d have to wear the dunce cap. I think we’re far away from those days, but there is still some hesitancy, right? I mean, the reality is, if you go into a lot of organizations and say, “How is your DevOps journey going?” they’re gonna go, “Oh, pretty good. We’ve added a lot of automation. We’ve invested in a lot of training. We feel pretty confident about where we’re at.”

    So, any time you walk into a dark room and kinda turn that flashlight on and see the real data for the first time, there can be some alarming things there, things that people didn’t necessarily now about. You know, maybe some quote-unquote skeletons in the closet, so to speak.

    But what I’ve learned is that development teams, they really want to be the best that they can be, right? They wanna deliver high quality product and they wanna do it in a bleeding edge, fast way.

    And so, if we’re giving them the feedback of how their work is moving, and if they can see where things are breaking down, they tend to do the right thing. They have the meaningful conversations and they improve and take responsibility for their own value streams. And that overall starts to drive the business that much more efficiently, right?

    So, I think that’s one of the really positive aspects about it is it gives people the tools needed to take that responsibility. And then, sure, as we roll that data up—so, you know, you provide value to the development teams, that data and that value then rolls up to the upper levels of management, so they can effectively run a business, right? I mean, at the end of the day, there’s still a whole lot of money tied up in these organizations. So, if we wanna put together a new plan, a new set of functionality, if we wanna be first to market, we wanna make sure that we’ve got the right teams, we’ve got the right technologies and platforms, and that the efforts that we’re investing in are aligned to the business goals.

    And so, there’s kind of a win-win for both sides of the house. You know, the AppDev team wins, the business wins. And where we really think we can make a lot of impact is, some of the groups that maybe haven’t quite felt as much love in the last couple of years in the DevOps space—I’m talking more about our folks that are sitting in operations, security, testing, maybe some of the folks that are more focused on our agile success.

    You know, we see more and more of these high turnover rates of developers and management within organizations. You know, as you move from company to company, the definition or the implementation of agile best practices is probably a little different and maybe even changed, right?

    Ashley: Mm-hmm.

    Boone: So, how do we make sure that everyone understands how our business works, how things are working here and so that we can constantly be working to improve that process?

    Ashley: You know, one of the things that I get asked frequently, both by individual technical experts, developers, even leaders of technical organizations is how can we better communicate with the C suite. And usually, it boils down to, you have to talk in business terms. You know, how is this investment or this money, whether it’s a process improvement or a technology, helping us increase revenue, bring in new revenue streams, improve customer experience, reduce churn—which is always kind of a famous one, catch all.

    But you have to put it in business terms, and it seems like if you believe in what you’re doing, if you believe in DevOps—and we know it’s not all perfect, we’re all a learning organization—that transparency can help you get very quickly to say, “Why is investing in another test tool, or investing some time in re-engineering, a process worth spending the money on it?” Because we can see the results of it and we can also have a way to communicate what we’re doing and the value of doing that.

    Boone: That’s exactly right. I can give you kinda two classic examples of that. You know, right now, we see a lot of companies trying to rearchitect or modernize their applications to speed up delivery, right? So, we’re taking distributed applications, we’re building them into microservices with the idea that they’re much easier to manage from a configuration and a delivery standpoint.

    Ashley: Mm-hmm.

    Boone: But there’s a cost associated with taking a team of developers and saying, “Hey, you need to rearchitect this thing.”

    Ashley: Absolutely.

    Boone: So, you basically need to build it from the ground up, but you also need to manage the existing business value that’s keeping the lights on.

    And so, if you’re gonna make that investment, you know, six, seven, eight months from now, even while you’re making that investment, you’re gonna wanna be able to know how long does it take for us to actually do this? Is this something we can repeat elsewhere in our organization? Does it make good business sense to do that, or should I just focus on building new microservices and new applications and not focus on rearchitecting?

    Ashley: Mm-hmm.

    Boone: You know, other places where we see this manifest is, you know, one of the things that constantly can be what we call a drag on a team’s velocity is things like unplanned work or incidents that might pop up, customer support. It would be really easy for management to say, “Well, we’re not getting what we need from this development team. We need to hire more developers. Obviously, if we throw more people at it, that’ll fix any issues we have.”

    But what kind of people, you know? It could be that we need more support engineers, we need more designers, we need more testers. And so, understanding where resources, people are, the type of work that they’re doing, where that work gets held up is extremely important to understand what kind of folks we should go hire, what kind of training might we need to improve that culture that we’re trying to establish?

    Ashley: Since you’ve kind of been engaged in the value stream management part of this, are there—have we gotten to a point where you have maybe a couple of best practices, “if you’re implementing this, kinda going down this journey, some lessons learned or make sure that you do this” kind of thing, trying to lead you to the best chance of hitting a home run or at least a first experience with value stream management?

    Boone: Yeah. You know, when we first started talking with customers and they’d say, “Well, how would we get involved in understanding our value streams better?” We like to do small workshops, right? And a lot of it starts at a white board with some open and honest conversations, right? Again, the whole idea is, we’re not really here to point fingers, but we’re here to understand how we get better.

    We sit down and start to think about—okay, well, if we get a brand new idea from the business, what is its journey? And I think if you get five or six different people in the room, they’ll come up with the 80% of the journey and then, through more conversation, you’ll start to understand—yeah, well, sometimes, we’ve gotta pull in these different shareholders. Or sometimes it gets held up in kind of political red tape of approvals and sign offs and we don’t get those for weeks at a time.

    So, you start to air some of that laundry, but at the same time, you really start to get to each individual step of the value stream and the journey that it goes through.

    Once we kinda have that planned and visualized out end to end, then we can start looking for areas of improvement, right? And I think those are kinda the basic things I see companies doing now.

    The ones that are being a little bit more aggressive are starting to visualize these different processes as they change state. So, they’re getting to where we can start mapping and tracing the actual journey of a work item, from commit to pull request to actual code merge to build, deploy—you name it.

    And, as part of that, they’re starting to look at some of the tools that are out there. You know, UrbanCode Velocity is great if you’re looking to get started for a two person, or I should say a two ____ team. You know, pull it down, the community edition is free to get started with and start integrating your tools. And you can start seeing these work items come to life and see how they start to propagate all the way from your back log, hopefully into your customers’ hands.

    And it’s been a pretty eye opening experience, I’d say, for a lot of teams, because they’re learning quite a bit about their own processes, and then having really meaningful conversations with other teams, kind of an, “Oh, did you know? Hey, are you guys seeing the same type of process bottleneck within  your own organization?” And it’s been fascinating to watch.

    Ashley: That’s super helpful and I appreciate your thinking around let’s start with the fundamentals, laying out the process, and getting agreement about where we are and then start to instrument from there, and you all do some great work with UrbanCode and having that community edition is really a kinda low barrier, low resistance approach. You can just bring it down, download it, start working with it and understand how you can start applying it to what you do. It’s a great, great tool.

    Boone: Yeah, thank you. We’re really excited about it, because it is a very new space, but we kinda see the opportunities abound in front of us for being able to improve not only how people work day to day, but improve the culture that they have for the folks around them. Building software is exciting, and at times, it can be quite stressful, right? And I think that, as people show up to work every single day, one of the things they wanna do is be a part of a culture that’s supportive, that’s creative and that can help them be the best people that they are.

    And I think value stream really gets to the culture of DevOps, right? How do we make sure that what we’re doing as an organization is for the best of the business? and make sure we’re giving people the tools they need to succeed.

    Ashley: Mm-hmm, absolutely. Well, Steve, thank you very much for being on DevOps Chat with us—Steve Boone, head of product management for HCL UrbanCode. Steve, thank you.

    Boone: Mitch, thanks so much, again. It was a real treat.

    Ashley: And of course, we want to thank you—you, our listeners, for joining us today. This is Mitch Ashley with devopsy.kinsta.cloud and you’ve listened to another DevOps Chat. Be careful out there.

    — Mitchell Ashley

  • Automated Multiplatform Deployment for DevOps

    Automated Multiplatform Deployment for DevOps

    In a simpler world, every CI/CD pipeline would need to support only one deployment platform.

    In the real world, multiplatform deployment (which means deploying an application to run on multiple OS platforms) is a must-have for many organizations. We live in an age of diverse operating systems and deploying for only one platform is often not an option.

    With that challenge in mind, let’s take a look at best practices for achieving multiplatform deployment in DevOps.

    Dealing with Multiplatform

    Maybe you’re designing a container-based multiplatform app from scratch. Perhaps you’re thinking of converting a traditional, monolithic, client-server application to microservices with continuous delivery. Or, it may just be time to expand your existing DevOps delivery pipeline to include multiple platforms. The truth is that sooner or later, most DevOps teams will need to understand and deal with multiplatform deployment and how it impacts continuous delivery and continuous integration.

    What are the basic problems DevOps teams face in orchestrating automated deployment for multiple platforms? Let’s look at the key issues involved in multiplatform deployment, and the most effective ways to deal with those issues within the context of an automated DevOps continuous delivery chain.

    But first, we’ll consider one of the most basic distinctions in multiplatform architecture.

    Multiplatform, Single-Tier

    In the single-tier model, the same stand-alone application is deployed to multiple platforms. This is, of course, the standard model for releasing traditional desktop applications. The update process for many of those applications, however, has shifted toward frequent, automatic push updates to the point where it now constitutes a form of continuous delivery. This is typically the case for web browsers, for desktop office suites and for more specialized applications. It is also the rule for stand-alone mobile apps.

    Multiplatform, Multi-Tier

    In multi-tier and multiplatform deployments, different platforms have different roles, and the elements of the program deployed to a platform depend on its role. Typically, this involves some sort of client-server architecture, with the client part of the application installed on mobile and/or desktop devices, and the server functionality deployed in a cloud or hybrid cloud environment, or an on-premises server. At the enterprise level, on-premises hardware is likely to consist of one or more mainframes.

    We’ll focus mostly on multi-tier applications; much of what’s covered here should, however, also be relevant to single-tier multiplatform deployments.

    Designing for Multiplatform Deployments: Overall Architecture

    Fundamental decisions about application architecture will inevitably have a major impact on your deployment strategy. Key members of your DevOps team should ideally be active participants in decisions regarding overall architecture; at the very least, your team needs to be kept up to date on the design process.

    This is particularly true when the application has a hybrid backend, with key tasks split between cloud services and on-premises hardware, since the allocation of tasks is likely to shift as the design team develops a better understanding of both the resources required for those tasks and the load-handling ability of each platform.

    Example: Cloud Transactions, Mainframe Database

    Suppose, for example, that you have a very large and complex database that includes both customer and transaction records. It must be maintained on a mainframe because it includes legacy elements, or for security reasons, because of company policy, or (as is often the case) for all three reasons. Your application is likely to involve a high volume of transactions and other customer traffic, most of which will be stored in the database. In order to shift traffic away from the mainframe, customer interactions will be processed in the cloud, with transaction data initially stored in a cloud database, then transferred to the mainframe database.

    • Will the cloud database represent an actual field-for-field subset of the mainframe database, or will data need to be cleaned up and parsed before it’s transferred to the mainframe?
    • Will you be porting database code from the mainframe to the cloud, or creating a cloud-native database (i.e., COBOL vs. SQL)?
    • Will all user access be through the cloud interface, or will the app switch between the cloud and direct access to the mainframe, depending on the load?

    Questions like these are likely to have a major effect, not just on microservice and code-level design, but also on deployment strategies, since they will determine such things as how closely database microservices must be coupled on the two platforms.

    Designing for Multiplatform Deployments: Platform-Specific Issues

    In order to design a multiplatform application at the end-user and backend microservice levels, and deploy it using automated tools, it is crucial to have a clear and detailed understanding of the resources available on each platform, and of the dependencies they require.

    For the frontend, this may mean maintaining separate versions of your app for Android, iOS, Windows, OSX and Linux. For the cloud-based parts of your back end, you may be able to work in a relatively standardized container environment. Even here, however, you will need to be familiar with the resources and requirements of the specific cloud provider.

    On mainframes, you will need to have a good working knowledge of the mainframe environment, including the operating system and the available resources. This is a necessity for native mainframe operating systems such as z/OS, and it is still largely true if you intend to use a virtualized OS such as Linux on Z, since it is likely to have significant interaction with the underlying system resources.

    Designing for Multiplatform Deployments: Automating the Pipeline

    Keeping track of platform-related issues and managing their impact on your continuous delivery pipeline may seem like a formidable task, but it doesn’t have to be that difficult.

    The key is to develop an adequate understanding of the platforms involved, to incorporate that understanding into your automated tools and all of the target platforms into your automated delivery chain. This means (for example) automated testing across platforms, dependency checking for each platform, coordinated deployment and integrated monitoring.

    A variety of tools, both open source and proprietary, are available for all of these purposes and they can often be integrated into an automated continuous delivery system.

    Integrated Tools for Multiplatform Deployment

    There are, however, considerable advantages to using a highly integrated suite for fully orchestrated deployment. For example, if you are working with IBM Z, UrbanCode provides you with an integrated suite of DevOps tools that is fully integrated into the z/OS ecosystem. It is an agent-based system that includes tools for design of automation processes, multiplatform deployment, dependency checking, inventory and integrated monitoring; and it is specifically designed to manage multi-tier deployments.

    The advantage of working with a highly integrated deployment suite such as UrbanCode is that you do not need to spend time learning what to automate, learning how to automate it or putting together the basic automation infrastructure. You can concentrate on managing the specific automation components and settings your continuous delivery system needs. When you are dealing with a large, complex and business-critical platform such as a mainframe, an automated deployment suite that is highly integrated with that platform, can be an extraordinarily valuable (and time-saving) resource.

    Automated multiplatform deployment for DevOps may be challenging, but it’s eminently possible. The tools are there, and you can make it work.

    — Michael Churchman

  • DevOps Chat: Measuring DevOps Success with Steve Boone, UrbanCode

    DevOps Chat: Measuring DevOps Success with Steve Boone, UrbanCode

    In this DevOps Chat we speak with Steve Boone, product owner and development manager for Urban Code Deploy. Now that DevOps is in practice at more organizations, measuring DevOps success is a question many are asking. Steve has helped hundreds of companies adopt, implement and scale their agile and DevOps practices as part of their digital transformation. Steve gives us some insights into how can you measure your DevOps success.

    As usual the streaming audio of our chat is below. Following that is a transcript of our conversation to follow along.

    Audio

    Transcript

    [su_pullquote align=”right”][su_custom_gallery source=”media: 117787″ width=”100″ height=”100″] Steve Boone
    Steve Boone is a DevOps SME at IBM. He has helped hundreds of companies adopt, implement, and scale their agile best practices including CI, CD, Environment Provisioning, and Application Release Automation. Steve is currently the Product Owner & Development Manager for IBM UrbanCode Deploy.[/su_pullquote]

    Alan Shimel: Hey, everyone, it’s Alan Shimel, devopsy.kinsta.cloud, here for another DevOps Chat. I’m happy to be joined today by Steve Boone. Steve is the Product Owner and Development Manager for IBM UrbanCode Deploy, one of the leading CI/CD solutions in the market. Steve, welcome to DevOps Chat—how are you?

    Steve Boone: Doing great, Alan. Thank you so much for having me today.

    Shimel: Great. Steve, I wanted to talk to you—well, about a couple of things today. But let’s focus in first on, I’m just back from another major conference, and once again I’m—not amazed, because by this point, it’s expected. But still, you know, going strong, the biggest thing we get, or the biggest feedback that I hear from organizations looking to do DevOps transformation is—hey, this all sounds great, it sounds really good, but how do we know, you know, first of all, how do we get started with our DevOps transformation, and then once we’re doing it, how do we know it’s working? Right? How do we measure the ROI, or even if we can’t get to a real ROI, how do we measure progress? What does success look like?

    And I would imagine, you know, the guys at UrbanCode, the team at UrbanCode has been dealing with this for some time. What do you tell people?

    Boone: Yeah, that’s a great question, and it’s—you know, I think it’s a little different for everyone. And when we start looking at measuring success and first finding out, you know, where do we start, a lot of times we’ll work with customers to identify, you know, what are your problematic areas? There’s a lot of aspects to DevOps, it’s not all CI/CD, there could be aspects of agile planning, there could be release management. There’s a number of different things that come into play.

    So, we usually sit down and try to focus on, you know, where do you think your bottlenecks exist today, and then start to address those. But when we went to measure—and you know, you’re right, the allure of DevOps comes with all of this ROI promise, right, where if we do these things and we change our people and our process and our tools, we’re gonna be better off for it, the business is gonna be better off for it.

    So, how do we then make sure that’s actually happening, right? That the time and energy that I’m putting into changing my processes are actually showing me that ROI.

    So, what we’ve seen a shift in the industry towards is really starting to gather the different sets of metrics that are coming from, really, the end to end products that we’re dealing with in DevOps whether it’s your build tools, your testing tools to understand what I’ll all our key metrics. So, you know, if in fact we are capable of speeding up our delivery to our pipeline, we should be getting to market faster, right? So, we look at statistics like cycle time—how long does it take for an application or a release of application to go from dev to prod? And then we look at that data over time. Is it, in fact, improving? And if not, we want to identify other bottlenecks that are kinda holding that progress up.

    So, if I look at a set of components that make up an application and I see that the majority of those components have a really good cycle time, you know, we’re only as fast as our weakest link. So, if the database component, for example, is routinely slower to get through QA than the rest of the component, that’s going to slow down our time to market and therefore gonna slow down our release.

    And the beauty is, in turning on the flashlight, so to speak, so that you can see that data and actually do something with it, a lot of times we look at it and say, “Well, we know we have automation and therefore we know we’re going faster.” But that just might mean we’re going to QA faster or we’re going to dev faster. We want to make sure that we’re actually getting that ROI, so if we can set baselines with teams and say, “Hey, prior to doing this automation, it took you four months to get from dev to production out the door, right? This past release cycle we did it in three and a half months—great. What is that time savings? What does that time savings mean in cost?”

    And, we’re starting to see a big trend within the industry of many different companies starting to put together products to start to track these. So, I think it’s a whole new area for us to focus on, and in hopes—what we’re trying to share with customers is that, look, not only are the changes in people and process that you’re making working, but the tooling is working, and hey, here are some areas where you can improve those processes.

    Shimel: Yeah. So, Steve, obviously, I want to—you said a mouthful, there. [Laughter] But let me focus in on one thing you said that I want to re-emphasize to our audience, and that is, you know, DevOps is so much more than CI and CD, right? There’s config management, there’s APM—there’s a lot that goes into this umbrella term that we call DevOps, and it seems to be growing every day.

    That being said, though—you know, I once heard someone describe DevOps is the symptom and CD is the cure. So, you know, I don’t want to minimize the importance of CI/CD, but you know, automation—there’s so much that goes into this equation or this term that we call DevOps. And I think that’s—you know, Steve, it’s almost like it’s its greatest asset but it’s also its greatest liability, you know what I’m saying?

    Boone: Yeah, there absolutely is. I think that a lot of times, we definitely see, when people are talking DevOps, their focus tends to be on CI/CD. And I think that’s because, you know, out of the gate, especially if you’re just starting off, it’s kind of your biggest bang for your buck, right? You can get a lot of fast return on investment just by improving your processes and automating them and making them consistent.

    As we see teams mature, and as they transition into a more Enterprise wide DevOps solution, then we start to see—well, where are the real boundaries in my organization, right? Is it, we see a growing trend where app dev teams are focusing on automation, but there’s a whole different silo in infrastructure, you know? So, an app dev team wants to request an environment to do some testing in—they have automation, and the tools that they have for automation could easily provision that environment. But the business dictates that that’s the infrastructure’s just, and they have a completely different set of tools that they use for that, right?

    And so now we get into this challenge of really continuing to try to break down these barriers to make sure that these assets and tools that are out there can work together, and that there’s clear cut guidelines on that.

    So, yeah, I think it is a blessing and a curse, right? Because when we start thinking about DevOps, everybody wants that—you know, we’re a culture of having that instant gratification. So, it’s nice that we can get that with deployment automation and build automation and test automation. But we need to be looking ahead to the future, which is gonna be—hey, I’m gonna provision these things on demand and make these environments available to my teams, and today we use Amazon for that. What happens if, six months from now, we have to change and we need to support Azure or Google or SoftLayer or Bluemix, right? We need portability, we need full stack provisioning and config management on that.

    And that’s—I think that’s something that, a lot of times, people just starting out, they don’t look too far ahead. And my suggestion to folks is—hey, it’s okay to take that first step. You should be cautious about the first step, but keep in mind where you wanna be two years from now, three years from now, five years from now. What’s your DevOps end goal?

    Shimel: Yeah. You know what? So, Steve, I think that might be the first question we need to—especially for consultants out there who may be listening to this. You know, whether you work for an IBM or a small consultancy, I think that has to be the first question. You know, people come and say, “I want to do DevOps.” You gotta ask them, what’s the end goal, here? What’s the end game? Why? And that’s a huge piece of it.

    Steve, if I can, I’d like to turn to a little bit more about UrbanCode and, you know, UrbanCode’s kind of a unique animal, if you will, in that, you know, it was one of the earliest, earliest kinda startups playing in the CICD space, right? And so it had that whole startup culture, if you will, the startup thing going on. And then, of course, you know, acquired by IBM and really become a linchpin of, you know, IBM’s DevOps, and not only DevOps, but you know, in IBM, as you know, DevOps is tied into cloud and hybrid and Bluemix and SoftLayer and all the things you mentioned. You know, it’s such a critical piece of that puzzle.

    What is happening lately with UrbanCode? I saw Gartner give you guys some accolades recently.

    Boone: Gartner gave us some accolades. We scored very well, as well, on the Forrester Wave that just came out.

    Shimel: The Forrester—yes.

    Boone: We were named as a leader in the—yep, in the Forrester Wave. So, that was exciting. It was a great score for us. We’re about as far right in that quadrant as you can be.

    And there’s a lot of really good things coming out. I think the reason we scored so well is that they’re looking at the strategy within UrbanCode and seeing that, you know—as you mentioned, this isn’t our first trip around the block. We’ve been helping customers do this for over 10 years. And for us, you know, we work with companies that are small startups to everything that are enterprise financial institutions and healthcare and government agencies.

    So, there are, at any given time, different, I’ll say, business focuses that are in a different spot of transition. So, I can go to an enterprise and talk to 30 different groups and organizations in that enterprise—they’re all in a different maturity, they’re all in a different level and area of that DevOps transformation. But what we’re able to do is, we have a solution that can help everybody regardless of where they’re at, and as they mature together over time, ultimately help them reach the goal where the company wants them to be.

    You know, some of the new things that we’re focusing on—you know, last year, part of our vision, we had announced at Interconnect our DevOps Insights product as well as our continuous release product that are focused on helping customers one, transition into DevOps, do a lot of that deeper reporting and ROI analysis on where they are in their transformation, but as well as help companies manage to the cloud and for the cloud.

    What I mean by that is, you know, today, we talk about cloud like it’s ours, but for large enterprises, it’s still very much a challenge. You know, it’s hard for a team to just go request access and say, “Hey, I’m gonna push my data to the private cloud.” There’s still a lot of—or even public cloud, whatever it might be. There’s still a lot of hurdles to that.

    So, what we’re trying to do is, as teams embrace this and they’ve got deployments going on-prem and off-prem, how do we organize that? How do we have visibility and traceability and understand as you’re taking large applications and breaking them down, let’s say, into microservices? You know, some of those applications are easy to re-architect, some are not. And sometimes you’re left with applications where you’ve only got maybe three quarters of that application re-architected, or you’ve got databases that are always gonna be on-prem, or you’re using mainframe services.

    And that’s really where the UrbanCode products excel, is allowing you to really deploy anything, anywhere, but also have a cohesive look at, what are the interrelated appendices of those parts? If something on my backend mainframe changes, how is that affecting the things that I’ve deployed into my mobile app? And if something needs to fall out of just release, you know, what’s the impact, even? How is that gonna affect business? And I think those are some of the main reasons why we scored well within the Forrester Wave and why they marked our strategy so high.

    Shimel: Absolutely. You know, Steve, we’re coming up on the end of our allotted time, unfortunately, but I wanted to mention one thing if we can talk about it, and that is that you spoke about Interconnect, which has been the big IBM DevOps related show, as well as other technologies for the last couple years. This year, IBM is kinda consolidating a lot of the shows they do into a pretty big mega-event called Think 2018, and of course, that is gonna be once again at the Mandalay Bay in Vegas, and it’s happening March 19th to the 22nd. I believe the call for speakers has just opened, and I’ll put some links in the show notes so that people can, if they wanna speak or if they want to attend the event would be great.

    But in any event, what’s UrbanCode’s plans around Think 2018?

    Boone: Yeah, thanks. I hope folks do and are able to register and come out. It’s going to be a fantastic show, and it is very much a mega show for us. So, we’ve taken—I believe there’s 11 different topics that really, I’ll call them focal points or even think of them as investments within IBM. Everything from cloud to Watson to mobile to security, internet of things—there’s a number of different topics going on at this.

    UrbanCode will be under the cloud focus, and we’ll—underneath the cloud topic, there’s a section specifically for DevOps. So, if that’s what you’re interested in, come out and check us out—we’ll be there. We’ll be talking about our latest release that we’ll have done at that time, and we’ve got a lot of really cool features that were actually in development and testing right now that we plan to announce at the Think conference, so without be demo-ing those, and we’ll have—as always, have a bunch of UrbanCode customers there sharing their ideas, sharing their experiences, and really helping educate how they’ve transformed their business.

    And I think what a lot of folks will find appealing is that it’s never a one tool solution, right? And that’s one thing I always encourage folks is, when you’re trying to be in a DevOps transformation, a single product, a single methodology—it’s not gonna do it. You really need to embrace the various tools that are in the market, you need to embrace existing tools that are already in your company, and these are gonna be working examples and explanations of how some of the top companies in the world are doing just that using UrbanCode and using a variety of tools that we support.

    Shimel: Absolutely, absolutely. Alright, Steve, we’re actually way over time, I apologize, but I think we got some good information here that people will be interested in. I want to thank you for being our guest this week on DevOps Chat and invite you back soon. We want to hear more about Think 2018 as we get closer as well, but good luck with UrbanCode, Steve, and we’ll speak to you soon.

    Boone: Hey, Alan, thank you. As always, appreciate you having me today.

    Shimel: Alright. Steve Boone, Product Manager, UrbanCode Deploy—or Product Owner, excuse me, UrbanCode Deploy. Thanks for being our guest on this DevOps Chat. This is Alan Shimel, and we hope to see you soon on another DevOps Chat.

    — Alan Shimel

  • How I Bet on DevOps – and Won

    How I Bet on DevOps – and Won

    One evening in late 2015, after the kids were in bed, I sat down next to my wife and said, “I’d like to do something irresponsible. I want to gamble some of our savings on DevOps. I’d like to buy some stock.”

    Nicole Forsgren’s 2014 presentation, “DevOps and the Bottom Line,” opened my eyes to the business impact of DevOps. Then the 2015 State of DevOps Report rolled out with the following tucked into a footnote:

    The publicly traded companies that had high-performing IT teams had 50 percent higher market capitalization growth over three years than those with low-performing organizations.

    I believed the data. It matched my intuition and experience.

    DevOps and the Market

    Companies doing DevOps win in the market. In a world where digital transformation has made competition between companies increasingly dependent on their ability to differentiate through technology, the ones who do best in tech are likely to win. As I heard an executive at an airline put it, “Anyone can spend tens of millions on a new Boeing or Airbus jet. There’s no sustained differentiation there. But a great booking experience … a great mobile app … that can win loyalty.”

    So I found myself thinking that I sit in the middle of a DevOps community and know which companies are bragging about their DevOps successes. I truly believe it helps the business win.

    The Bet, and Winning It

    So that brings me back to that evening in December and the proposal I took to my wife.

    1. This was gambling. We’d risk only a fraction of our savings.
    2. We would buy and hold for one year, then re-evaluate.
    3. I would do no research on the companies we’d invest in outside of their DevOps practices. We would assume other public information would be priced in by professionals acting in an efficient enough market.
    4. Investments would be in companies “doing,” not “selling,” DevOps. No vendors.

    After getting the green-light, I bought a dozen stocks based mostly on the “who talks DevOps at conferences a lot” criteria: Amazon, Bank of America, Capital One, Cisco Systems, Etsy, Live Nation Entertainment, Macy’s, Netflix, Nordstrom, Sherwin-Williams, Target and Verizon Communications.

    So let’s talk about a few of these companies. Amazon and Cisco arguably violate the “no vendors” rule. Amazon I’ve excepted, as the company has a good reputation for DevOps internally, and many of the other retailers included are motivated to DevOps by fear of Amazon. They’re included as a hedge against Amazon killing all retail. In fact, Amazon was my only retailer to beat the S&P. Over the past three years, I found Cisco’s talks of its transformation at conferences (including IBM’s) compelling. Further, the hardware-to-network functions virtualization (NFV) transformation they’re going through seems similar enough to a retailer’s brick-and-mortar to e-comm to warrant inclusion.

    My employer, IBM, is not included because it is a vendor and as an employee its performance already has a big effect on my life. Etsy and Netflix are my “unicorn” contingent. Etsy crushed it for the year (+38 percent). Netflix underperformed (+6 percent) and was a major drag through the first half.

    Retail and e-commerce was generally a weak segment with Live Nation (Ticketmaster), Macy’s, Nordstrom, Sherwin Williams and Target all underperforming the S&P 500. Compared to a retail index fund (XRT), all but Nordstrom and Target came out ahead, though. It was a rough year for the segment, but those investing DevOps seemed to outperform their competition.

    All in all, the approach beat the S&P 500 by about half for the year, albeit with considerably more volatility.

    Good Sentiment, Sketchy Investment Strategy

    That said, a deeper look at this approach makes me think it was more luck than skill. While I believe that high-performing IT yields business wins, I didn’t actually know which companies have high-performing IT. The DORA team has the best data. I don’t. A big financial institution is likely to have more techies than Facebook. Do a handful of them presenting at conferences really say much about their thousands of colleagues? I have doubts.

    DevOps transformations, like Agile transformation, are hard to do at scale. It’s the scale that counts, and will generate the business differentiation. Some transformations led by brilliant champions will end up failing. Mid-year, I was at one of our DevOps networking events talking with someone from one of the companies in this list and suggested that they must be nailing DevOps given what I heard at conferences. The answer was, “Not really … we’re kind of starting over and the people championing DevOps have all left.” I’m not surprised that company is one of my underperformers.

    Sophisticated investors will point out approaches for managing exposure to segments and better isolate DevOps effects from overall market moves. Not researching and using those is another flaw in the approach.

    And yet, if picking stocks at random would yield average results, but DevOps helps company win, and people talking about DevOps likely represent companies with more DevOps than others, it’s not shocking to see this strategy happen to get lucky.

    What Will I Do Next?

    My focus will remain on ensuring the IBM UrbanCode business embraces DevOps practices, mindsets and approaches in every way and supporting IBM’s overall transformation. While transforming myself, I’ll remained focused on helping my clients with their own transformations.  Check out some DevOps success stories.

    As for investing, I’m not a gambler at heart and may simply close down this experiment while I’m ahead and pick a nice index fund. Or, I may refine the picks to only take those that are publicly talking about how they spreading these practices to thousands of practitioners.

    Disclaimer: I’m a techie, not a financial advisor. I recommend improving your own business with DevOps. I do not have a recommendation for how you should invest. Past performance is not indicative of future results. This experiment could have gone badly, and for a while in the first quarter, it looked as though it would. Please don’t take risks you can’t afford based on the experience of a rank amateur investor like myself. This experiment was mine and mine alone. I speak for myself, not my employer.

    About the Author/ Eric Minick

    Eric Minick is a technical evangelist. He joined IBM through its acquisition of UrbanCode. He has spent the last 10 years helping organizations large and small adopt continuous integration, delivery and, now, DevOps. He is a frequent speaker on the topic, and co-authored “Application Release and Deployment For Dummies.” Prior to consulting, Eric was a developer, test automation engineer and support engineer, and has contributed to multiple generations of UrbanCode products. Follow him on Twitter at @ericminick.

    — Eric Minick

  • The New Age of “Operations” in a DevOps Enterprise

    The New Age of “Operations” in a DevOps Enterprise

    My encounters with commercial clients in the DevOps space have been exciting, curious, political, and challenging. What most don’t realize is that DevOps is not just about infusing tool automation into a delivery pipeline, but it also has to do with re-mobilizing and challenging the status quo when it comes to “who does what”. As teams become more tightly integrated, functional lines blur, and uncertainty may set in.

    I find more and more, that clients and colleagues want to know:

    • What happens to the operations/run tower people if tools like UrbanCode Deploy automate the promotion of applications and releases to run-time environments?
    • What happens to our system administrators and “build out” teams, if tools like Chef, Puppet, Vagrant and pattern-based provisioning systems like IBM Cloud Orchestrator and UrbanCode Deploy with Patterns can perform solution stack build outs with minimal custom network, hardware, software, and middleware configurations?
    • If developers can provision and deploy their own apps, what do the sys admins do?
    • Will Operations Staff be replaced by tool automation?

     The truth is, now, more than ever, a savvy, astute, and innovative operations staff is essential to successfully execute effective DevOps within the enterprise.

     As development and test teams are being empowered to deploy their own applications with tool automation, Operations will need to shift the focus to enabling and empowering these teams with standardized, reusable automation assets. Design, development, maintenance and management of these automation assets will be the core foundation of DevOps success within the enterprise. A corollary to this is a set of standards and policies must be clearly defined and adopted as a framework for implementation.

    Standardization is paramount to making DevOps successful on a wide scale in the enterprise. If we were to think of our applications as a “solution stack” of network, hardware/virtual machine, operating system, middleware, and custom application components, standardized assets in each of the solution layers would enable faster assembly, development, test and delivery of a solution.

    When it comes to effectively enabling the enterprise for DevOps, you must become a hater of snowflakes. Snowflakes can be elegant, but they are unique and difficult to automate with tools. Examine applications and systems for uniqueness…and ask, can it be standardized? Typically, snowflakes occur higher up on the solution stack at the Application or Middleware layers. Network teams are not likely to implement new security policies for each application. However, moving up to OS and middleware, uniqueness is more likely to occur (OS release versions, MW versions and packages and so on).

    Once opportunities have been identified for standardized assets, operations teams must mobilize to enable the enterprise for automation:

    • Encapsulate enterprise policies in standardized automation assets (which can be reused across the enterprise).
    • Centrally manage and maintain automation assets within the enterprise (to maintain standard and policy compliance).
    • Evangelize, encourage, and incentivize the use of automation assets in delivery of applications.
    • Provide a continuous delivery pipeline tool set (preferable, as a service) providing an infrastructure to enable the automation assets for development and test teams

    Automation assets can occur at every layer in the solution stack, providing an opportunity for the new Operations team to inject enterprise influence and compliance at every level. This approach ensures standards and compliance, but also relieves application development and test teams from worrying about whether their application violates any corporate policies.

    Examples of automation assets and some enabling technologies are shown below, but this is obviously not an all-inclusive list (even a hardened shell script can be an asset). The point is, for each layer in the solution stack, assets and corresponding enabling technologies can be chosen to invest in. Some technologies can address multiple layers in the solution stack.

     img

    There is clearly a lot of good, solid, critically important work for the new age Operations team to manage and maintain. Interfacing with enterprise architecture and corporate standards groups are essential. However, the focus remains largely around empowering and enabling delivery using standardized assets.

    You can also watch this short video that I recorded recently. Please do share your feedback on this blog and how you see the evolving role of IT Operations in a DevOps Era.

    https://www.youtube.com/watch?v=TRlbiPcFOxc

    img2

    About the author

    Andrea Martinez is the DevOps Solution Leader for Cloud Services in IBM. Andrea’s mission is focused on delivery of DevOps solutions in cloud and traditionally hosted environments. Andrea has lead the solution architecture, implementation and initial adoption of one of IBM’s first DevOps Deployment Offerings. As a member of the IBM Academy of Technology, and a certified Thought Leader in application architecture, Andrea is keenly interested in enabling and empowering practitioners with innovation and technology to deliver solutions faster.

    Connect with Andrea LinkedIn | Twitter

  • Does Automating Application Release Mean the Same that it Used to?

    Does Automating Application Release Mean the Same that it Used to?

    Over the last ten years, we have seen a shift towards automation in how applications have been released. Automation has been encouraged first by agile’s embrace of continuous integration and delivery, and now the broader move to DevOps. As deployment automation left the sphere of the individual development team, another trend has emerged. The understanding of what it means to deploy an application in an automated fashion has steadily expanded. For developers in the early days of continuous delivery, production concerns were usually secondary. They would take a single build, and automate its deployment to test environments. Some teams would succeed in expanding this approach to production with a full-fledged delivery pipeline, but most would stumble. Ignoring production concerns in the lower environments resulted in their work being dismissed as unworkable in production environments. However, the success of agile development meant an increased demand for change in production. At the same time, the trend towards cloud services expanded the number of targets that a given deployment would impact. Production support teams had to automate, and in a way that would also work for the rapid rate of change in development and test. The build pipeline model was close, but didn’t meet the Ops needs of incremental change (rather than full builds), and orchestrating changes across multiple builds and tiers.

    A 2012 survey of over 500 technologists by UrbanCode found that only 12% of teams scoped production releases to a single build. With the business demanding faster change, and DevOps ascending, we have seen automation mature in the production environments rapidly in the past several years. This includes the rise of Application Deployment/Release Automation as a tool category at the start of this decade. These ADA tools are defined by automation scoped at a business application – they coordinate across multiple tiers and components. So they deploy not just the new version of a web service, but also five other web services the backend databases, etc. With DevOps better linking development and operations, and an increased willingness to automate in production, we saw the first big shift in the scope of automation. From deploying a build, to deploying the build and related builds, content and database changes. The web app was still the most common scenario. Today we are seeing the next major expansion underway, and it’s hitting on several fronts at once.

    1.  The first front is that organizations whose releases span multiple business applications are adding release centric orchestration to speed releases of coupled applications.
    2.  The next front is a move beyond the web application itself. Mobile development tied to backend services is getting pulled in to the definition of the “business application” as are systems of record including the mainframe.
    3. The third front is a shift down the stack. The environment and infrastructure are seen increasingly not as a place the application runs, but as part of the application itself. As that shift happens, we see a push to make a change to the CPU count in a VM go through the same types of automation and governance that updates to the behavior of a web service go through. Change is change.
    4.  Finally, we are seeing the normalization of Platform as a Service offering like Bluemix. That results in increased acceptance of the technology, but also the desire to coordinate change to services delivered through a PaaS platform and those delivered through other cloud or traditional data-center platforms.

    Broadly, IT is delivering value to the business by delivering services. Changes to those services tend to be scoped to applications that are complex. The trend is to treat everything in that application that is software defined the same through the same channels. That lets system level testing validate the whole system, and for the whole system to be promoted forward together. The above discussion not only informs about the change taking place but also prompts at taking the step towards the change. The move to DevOps is bringing about change rapidly. On November 20, some of the industry experts and leaders got together to discuss the effects and steps to adopt the change effectively, at the IBM DevOps Symposium in the New York area (Jersey City). Understand how to adopt DevOps successfully by listening to distinguished industry leaders and experts. Join us for the replay of the webcast. Be a part of the change

    About the Author:

    Eric

    Eric Minick is a Technical Evangelist. He joined IBM through its acquisition of UrbanCode. He has spent the last ten years helping organizations – large and small – adopt continuous integration, delivery and now –DevOps. He is a frequent speaker on the topic, and co-authored Application Release and Deployment For Dummies. Prior to consulting, Eric was a developer, test automation engineer and support engineer, and has contributed to multiple generations of UrbanCode products.

  • Transforming applications with Cloud and DevOps – one hybrid solution for multiple challenges

    Transforming applications with Cloud and DevOps – one hybrid solution for multiple challenges

    Are you on cloud yet or clouded? The answer lies in how you have adopted the transformation. Today, the world is Hybrid. For large enterprises and organizations, it always has been. Almost no enterprise is monolithic when it comes to their environments. They may already have different distributed environments and/or mainframes in their ecosystem. The advent of cloud has only added to this complexity and hybrid nature of the environments. Enterprises which have replaced their datacenter with cloud adoption, in some cases are unable to do so completely or even adopt a singular cloud solution as that remains the domain of born-on-the-web companies that started on the cloud (think Netflix) or started on physical servers and migrated very early to the cloud (think WhatsApp). You cannot think of a big bank or even a telecom giant that is a Cloud Service Provider (CSP) that fits this bill.

    For the typical Enterprise (IBM included), the cloud has replaced and consolidated large sprawls of physical servers. However, physical environments remain, and may never go away and cost of migration plays a very important part in this retention. There may be large data-heavy applications that are hosted on distributed environments that may be just too expensive to re-host on the cloud. Then there are mainframe-hosted applications that cannot be migrated to the Cloud. Or the migration to cloud may be a massive multi-year transformation that you are only starting on and will have to live with workloads spread between the cloud and the physical world for an extended period of time.

    What’s interesting is that, even the cloud itself will be ‘Hybrid’ in nature. There may be combination of on-premises and off-premises clouds adopted, with off-premise’s ‘cheaper’ cloud used for less critical workloads like Dev-Test environments, and on-premise’s cloud for business-critical workloads. There may also be the presence of a Platform-as-a-Service (PaaS) being used for developing innovative Systems of Engagement applications or for experimentation, which co-exists with an Infrastructure-as-a-Service (IaaS) Cloud for Systems of Record applications and other traditional workloads.

    That is the complex world we live in.

    DevOps and Hybrid Cloud

    Cloud is the transformation enterprises are looking for whereas DevOps practices help achieve the transformation with speed and quality. When we talk about DevOps in the Hybrid Cloud environments, there are two main scenarios that can be adopted.

    1. Cloud hosted application delivery pipeline: When adopting DevOps one adopts a set of tools that create what is an Application Delivery pipeline. This includes tools such as an Integrated Development Environment (IDE), a Source Code Management (SCM) System, a Build tool, an asset repository, Test tools, an Automated Application Deployment tool, Environment provisioning tools and application monitoring tools, etc. All these tools can be hosted in the cloud and made available as a service. If you are using a PaaS such as IBM Bluemix as your application delivery platform, it includes these DevOps services.
    2. Cloud Hosted Environments: As applications are developed and delivered to production, they pass through multiple environments. These include development environments, multiple test environments, System Integration Test (SIT), User Acceptance Test (UAT), Performance Test, and potentially other pre-production environments (names and type vary from organization to organization), and of course Production. These environments may be spread over cloud and physical infrastructure, or even multiple cloud environments.

    IBM has hosted offerings for the DevOps delivery pipeline that cover the first scenario, including its Collaborative Lifecycle Management as a Service (CLMaaS) and cloud hosted Rational Software Delivery Platform (SDP) tools available through IBMs business partner CloudOne. As mentioned before IBM Bluemix PaaS includes in it DevOps Services to deliver these capabilities in the PaaS.

    For the purpose of this post, we will examine the second scenario in detail.

    Application Delivery for Hybrid Cloud Environments:

    Let’s examine a customer scenario I worked on recently. This customer, a large bank, was looking to host all their application delivery and production environments to the cloud. For cost management, they had decided to host their highly dynamic Development and Test (Dev-Test) environments on an off-premise’s ‘public’ or ‘virtual-private’ cloud, and host their Production environments on-premise on a private self-managed cloud. At the same time, their core business systems, in this case their core banking systems, all remained hosted on a Mainframe z/OS system. They are exposing their core Banking Applications to other applications that consume their services as REST APIs via an IBM DataPower gateway.

    Enterprise_updated

    The goal of this organization is to be able to deploy complete business capabilities which comprises of services and middleware components deployed to the Production Cloud, and the back-end Mainframe. The primary challenge was to use a Deployment Automation tool that can deploy components and manage application configurations across all these multiple environments.

    The second challenge was the need to deploy applications under development as they progressed through different environments in the delivery pipeline. These environments were hosted in a public cloud. As the production environments are hosted in a private cloud, there was a need to use ‘pattern’ technology that would allow for the provisioning of ‘production-like’ environments through the lower pre-production environments. These ‘patterns’ would allow for the production environments and the pre-production environments that match, albeit with different configurations and scale, to be managed and versioned as code. These patterns would evolve as the applications and the environments they were deployed on evolved through the development iterations.

    Architecture for Application Delivery for Hybrid Cloud

    Our discussion so far now leads us to designing architectures for application delivery for Hybrid Cloud which requires a deployment automation tool that supports multiple technologies comprising the hybrid cloud environment. As discussed before, multiple technologies ranging from off-premise, on-premise clouds to physical infrastructure may be included in these hybrid environments. IBM UrbanCode Deploy with Patterns provides such support.

    IBM UrbanCode Deploy with Patterns supports two cloud pattern technologies:

    1. IBM Virtual System Patterns
    2. OpenStack HEAT/HOT templates

    This allows IBM Urbanenterprise2Code Deploy with Patterns to support both provisioning of cloud environments using these patterns, and the deployment of applications to these environments, whether to an on-premise or off-premise cloud. In addition, it supports application deployment to static environments on physical infrastructure – distributed and mainframe. The Cloud technologies supported by UrbanCode Deploy with Patterns include OpenStack Private Cloud, Softlayer, Amazon Web Services and VMWare vCenter. In addition, IBM UrbanCode Deploy with Patterns also supports deploying buildpacks to IBM Bluemix PaaS.

    It is apparent from the example above that hybrid cloud is changing the face of enterprises and organizations today. With the speed the market is changing today, one cannot depend on waiting for transformation. IBM can help enterprises with their Cloud and DevOps journey leveraging our unique cloud and DevOps expertise. On November 20, you can know more about Hybrid cloud strategies and interact with some of the industry experts like Rosalind Radcliffe (Distinguished Engineer, Chief Architect for CLM and DevOps, Member of the Academy of Technology at IBM), Richard Irving (Certified Client Technical Professional at IBM) and Wayne Monk (Vice President, Business Development and Alliances at Skytap) at the IBM DevOps Symposium in the New York area (Jersey City). We are streaming the first hour as a series of lightning talks given by few distinguished industry leaders – so join us live or on the web. 

  • IBM Webcast Nov 18 : Rapid and Continuous Delivery to Hybrid Clouds

    IBM Webcast Nov 18 : Rapid and Continuous Delivery to Hybrid Clouds

    Organizations need to innovate at speed. As software has become increasingly critical to business outcomes, delivering high quality changes quickly has become a competitive necessity. With rapidly changing applications has come a dynamic, programmable infrastructure that can meet changing business needs in the blink of an eye. In a word: Cloud.

    But how do development teams take advantage of cloud resources? How do organizations coordinate application changes across clouds? Where do platform as a service tools like Bluemix from IBM fit in? Can we move quickly without losing control or quality?

    Join Eric Minick, IBM DevOps Evangelist (and UrbanCode guy), as he examines best practices, and approaches for tying together cloud infrastructure, platform as a service and deployment automation to boost the responsiveness of IT as a whole.

     

    Date: Thursday, November 18th, 2014

    Time: 1:00pm – 2:00pm eastern standard time

    Registration link: https://ibm.biz/BdEqve

     

    About the Speaker:

    Eric joined IBM through its acquisition UrbanCode.  He has spent the last ten years helping organizations – large and small – adopt continuous integration, delivery and now –DevOps. He is a frequent speaker on the topic, and co-authored Application Release and Deployment For Dummies. Prior to consulting, Eric was a developer, test automation engineer and support engineer, and has contributed to multiple generations of UrbanCode products.