Tag: software delivery

  • How DevOps Optimizes Use of Resources

    How DevOps Optimizes Use of Resources

    How is DevOps changing the way we compute? One big DevOps innovation is helping developers and admins consume exactly what resources they need to deploy an app—nothing more and nothing less.

    Traditionally, using (and paying for) only what you need has been tough in all parts of life. If I want to park my car for just 10 minutes on a Baltimore street, I have to pay $1 for a half-hour’s worth of time, because that’s the minimum parking fee. In similar fashion, I pay about $50 a month for the heating bill in the unoccupied house I just bought, even though the heat is turned off, because that’s the minimum monthly charge.

    The problem of having to pay for more than you actually need was a big issue in the pre-DevOps digital world, too. In the past, if you wanted to deploy an app, you had two options. The first was to run it on a bare-metal server. If you did that, to help mitigate the risk of the server becoming overloaded, you’d dedicate more resources to the app than would be necessary during normal usage. That meant paying for capacity that you were not using most of the time.

    The other option was to use a virtual machine (VM). Thanks to tricks such as live-migration and “hot-plugging,” commercial virtualization platforms provided some elasticity to VMs, helping to assure that the VMs consumed only the resources they needed at any given time. But virtualization still means you are wasting resources on hardware emulation and running guest operating systems that needlessly duplicate most of the functionality of the host. Even the leanest VM environment requires you to dedicate more resources to deploying an app than the app actually requires.

    DevOps and the Consumption Revolution

    DevOps technologies are changing all of this. They are revolutionizing the way we consume digital resources and introducing efficiencies that were not possible in the age before DevOps.

    The most obvious example of such innovation is containers. With a containerized app, you get the portability and elasticity that traditionally have been available only from virtual machines. But with containers, you don’t have to waste resources on virtualization. Your apps only consume what they need at any given moment in time.

    Technologies such as Lambda functions on AWS are bringing the same efficiency to the public cloud. With Lambda, you don’t have to pay for virtual servers, memory or disk space on an ongoing basis just to ensure that you have them available when you need them. Instead, you can use Lambda functions to get access to a large amount of compute capacity in the cloud instantly, and stop paying for it the millisecond you no longer need it.

    Also worth noting is all of the automation that DevOps brings to software delivery by promoting continuous delivery practices. In the age of waterfall development, each part of the organization had to wait around on other teams to push code or test results down the pipeline before it could perform its own tasks. With continuous delivery, everyone works continuously and in parallel. The result is no more wasted time and skills.

    In a multitude of ways, then, DevOps is optimizing the digital consumption. In the future, we’ll wonder why we ever accepted “miminum” fees or had to pay for more than what we needed to get the job done.

    — Chris Tozzi

  • Mainstreaming the Mainframe: DevOps, Automation, Unified Deployment

    Mainstreaming the Mainframe: DevOps, Automation, Unified Deployment

    The mainframe is alive and well.  That big metal beast in the data center is not going anywhere anytime soon—nor are its applications.

    “If mainframe applications disappeared tomorrow, planes couldn’t fly, people wouldn’t get paid, and the economy would come to a halt,” wrote Forrester analysts in a recent report, “Digital Transformation Needs Mainframe DevOps.”

    I couldn’t agree more.

    Mainframe systems are the brain of most enterprises. Unfortunately, many mainframe applications have failed to keep pace with technology innovations, forcing enterprises to update them at any cost.

    Those “dinosaur” apps need to be modernized so they can become part of the mainstream IT ecosystem that revolves around the web, the cloud, and everything mobile. To make that leap into the modern software world, mainframe apps need to be re-engineered to fit into what is increasingly a cross-platform, predominantly digital world.

    Digital enterprises need to apply the same continuous delivery management practices to mainframe environments that they use for their distributed, web and cloud platforms.

    Scripting is Not the Solution

    Complex, multi-tier enterprise applications often include back-end mainframe applications and data. Upgrades and enhancements of these applications, therefore, require modifications of application code, data interfaces and other components across multiple platforms simultaneously.

    Scripts are virtually impossible to audit and typically depend on the knowledge of the individuals who write them. Furthermore, scripts lack the end-to-end process visibility and auditability vital to the success of continuous delivery.

    The Need to Re-Engineer Mainframe Apps

    DevOps, which mostly revolves around adopting or improving automation, increasingly is being embraced by enterprises. Having initially chosen DevOps for pilot projects, departmental needs and individual applications, big companies now are taking a broader perspective of DevOps—focusing on their needs to drag their mainframe applications into the modern world.

    Most enterprises that embark on transforming their legacy applications realize it is smarter, easier and more cost-effective to build a bridge with modern engineering than to start from scratch. Typically, these companies deploy DevOps principles because research and analysis prove they accelerate the delivery of top-quality software. At the same time, they realize their existing investments in their mainframe applications cannot be thrown away or ignored.

    Applying DevOps principles to the mainframe application delivery pipeline can help enterprises cut risk, cost and complexity, while improving their responsiveness to ever-changing customer needs.

    Unified deployment means that enterprises might need to work with two or three leading vendors to achieve their vision of automated, cross-platform DevOps. Such a vision typically involves unifying COBOL applications, DB2 databases, z/OS processing power and other mainframe assets into a single, shared pool of enterprise digital resources that IT can adapt wherever and whenever they are required by the business, without operational or staffing impediments.

    The Need for a Unifying Software Delivery Infrastructure

    In enterprises, it is common to have a broad mix of back-end systems, middleware and various platforms from a vast array of vendors. These technologies might be managed by distributed teams and potentially in different parts of the world as well. When it comes to the process of creating and delivering software, the same level of distribution and diversity also is common.

    To connect these islands of technology and expertise, enterprises need a unifying technology that sits on top of everything else, connects to everything, and helps to orchestrate, automate and provide visibility into the process of creating and delivering software. Improving traceability, auditability, security and risk compliance through orchestration and automation of the entire stack of applications is critical to any organization.

    What that means in practice is that people with different skills in different parts of the world can collaborate easily without having to learn new skills. For example, if you know all about the mainframe but know nothing about middleware or distributed systems, that’s no problem. You can still contribute to the process through a unified pipeline.

    In the same vein of thinking, a unifying technology should reduce, if not eliminate, the gap between highly technical and non-technical contributors. That means the unifying technology should provide a solution where people don’t have to write (or even understand) code to make core changes to software.

    In Summary

    Modernizing the way organizations deploy applications to the mainframe is crucial to their success and very survival. Organizations need to embrace change at all levels of their IT infrastructure and begin automating their processes today. By applying DevOps processes and tools to their mainframes, these organizations will help their “dinosaur” applications evolve and survive under the pressures of modern software delivery processes and deadlines.

    About the Author / Sunil Mavadia

    sunil-mavadia_xebialabsSunil Mavadia is director of Customer Success for XebiaLabs, provider of software for continuous delivery and DevOps. A former customer, he was the head of major DevOps transition projects with his previous company. Sunil runs Client Services, including consulting and implementation of the XebiaLabs product suite: XL Release, XL Deploy and XL TestView.

  • Follow the Simple Path of Nirvana to DevOps

    Follow the Simple Path of Nirvana to DevOps

    Perhaps the title of this post is a misleading, as nothing is truly “simple. But there is a well-defined pathway to achieving DevOps goals for any size company. Just follow a step-up pattern by adopting the principles of agile, continuous integration and continuous delivery, and you will reach your goal of DevOps. This path is a natural progression of DevOps maturity that an organization can follow while adopting key principles and technology solutions along the way.

    pipe

    Agile Development

    Adopting agile development methodologies often is the first step maturing organizations take, as they no doubt have heard the resounding benefits of leaving behind waterfall software development life cycles. There is a reason this is the first step. It helps your organization’s employees mature into a tightly knit working machine that fosters improvements in driving down technical debt while also laser-focused on building key features.

    As agile teams continue their maturation, they’ve roped in key business stakeholders who are able to grasp the drivers of technology challenges and are able balance out the growth needs of the business with the sustainability requirements of the technology teams. Suddenly, teams are investing a minimum of 20 percent of their sprint time to dealing with technical debt and reporting out these victories to their product owner(s). These small wins become major victories as the unwieldy pieces of infrastructure and software of the business become relics and folklore of yesteryear.

    But there is an underlying reason why agile development is the most crucial first step: It truly empowers the developers to improve the customer experience and feel good about it. With the scrum master’s shields up protecting the team from burnout and ensuring sprint planning happens, team members are more likely to be passionate about their work and the results of their efforts to the business and customer. This is where the empowerment of DevOps really begins.

    Continuous Integration

    As teams mature along the agile development continuum, the next step in their DevOps maturation is moving on to  continuous integration. Continuous integration is the process by which a company automates its software build process: code check-in triggers a build job that then triggers a test validation job and so-on. This process enables teams to continuously integrate their code build with downstream processes, avoiding manual touchpoints.

    In addition, this paradigm allows for faster feedback loops to ensure a higher quality product, and empowers diverse teams to work together utilizing automation as the “middle man.”

    Continuous Delivery

    The third step in DevOps maturation is continuous delivery. Often businesses confuse “delivery” with “deployment”—in fact, continuous delivery is simply the process to ensure that at any given point a company’s software is in a state where it can be deployed. This is useful for quick iterations, A/B testing and a more mature way of delighting customers fast and often.

    A key component of continuous delivery is ensuring that software is ready for production. When a team is doing continuous delivery, they’re assured that they’re nimble and responsive and adhere to the highest quality standards.

    DevOps

    At this point, the company has reached the DevOps nirvana state. This is where software is not just delivered continuously, but all of the operational needs are constantly met. Monitoring, metrics, the ability to automatically roll back software releases, scalability and much more are the key building blocks to a powerful DevOps organization.

    With this thoughtful step-by-step process of DevOps adoption, organizations can meet the needs of business in a mindful and cohesive way without compromise.

    I’d love to hear any feedback or tips on DevOps at @jsin.

    About the Author/Jason Shawn

    jason-profileJason Shawn is a technology leader in DevOps and Cloud. His began his career as a software developer and has held multiple functional and managerial roles which has found him with a unique perspective on the software development lifecycle. He’s extremely passionate about Continuous Delivery, Agile software development, and empowering teams to adopt DevOps and Agile principles in their daily lives. He is also a member of the Cloudbees Customer Advisory Board and enjoys public speaking, travel, and time with his family.

  • Webinar: How One of the 15 Safest Banks in the World Outcompetes the Tech Disruptors

    Webinar: How One of the 15 Safest Banks in the World Outcompetes the Tech Disruptors

    The financial services industry has changed more in the last 15 years than in the previous thousand. Customers expect constant access through secure mobile interactions with providers; interactions that no longer take place within the four walls of a bank. At the same time, financial services companies are dealing with ever-growing regulation.

    Join Sander Ettema, Manager, Linux Infrastructure Services at Rabobank and Andrew Phillips, VP, Products for XebiaLabs as they examine how Rabobank has transformed its software delivery by implementing Agile development, Continuous Integration and Continuous Delivery. Learn tips on how to stay ahead of the curve in an age where the competitive landscape is shifting at light speed and rapidly moving beyond other financial services companies to include tech giants like Google and Apple.

    Attend and learn how to:

    • Create a culture of innovation and adapt your IT organization for rapid change.
    • Deliver on customer expectations by modernizing your IT software delivery landscape with an open platform for Continuous Delivery.
    • Get started quickly and leverage your existing IT infrastructure for rapid results and understand the key metrics to watch along the way.
    • Lead an IT transformation in the highly regulated environment of financial services.

     


    Recorded:  Wednesday, July 22, 2015

    Recording

    Slides

    [seoslides embed_id=”4d4ddd2a9c8e” script_src=”https://devopsy.kinsta.cloud/embed-script/8598/8629/” overview_src=”https://devopsy.kinsta.cloud/slides/8598/” site_src=”https://devopsy.kinsta.cloud” site_title=”devopsy.kinsta.cloud” title=” ” /]

     


    Your Host

    alan_new_head_shotAlan Shimel, Editor-in-Chief devopsy.kinsta.cloud, An often-cited personality in the security and technology community and a sought-after speaker at industry and government events, Alan has helped build several successful technology companies by combining a strong business background with a deep knowledge of technology.

    About the Panelists

    AndrewPhillipsAndrew Phillips

    VP, Products, XebiaLabs

    Andrew Phillips heads up product management at XebiaLabs where he drives product direction, positioning and planning. He is an evangelist and thought leader in the DevOps, Cloud and Delivery Automation space.

     

     

    Sander Ettema

    Manager, Infrastructure Linux Services, Rabobank

    Sander Ettema manages Linux/Unix Infrastructure Services for Rabobank, a global leader in food and agri financing and sustainability-oriented banking.  In addition to being a member of the DevOps workgroup, Sander oversees Linux/Unix/Appliances Hosting, Continuous Delivery services for Java as well as log management services.