Tag: orchestration

  • Splunk Aims to Trigger DevOps Processes

    Splunk Aims to Trigger DevOps Processes

    Splunk this week at its .conf18 conference continued a campaign to extend the reach of its operational analytics platform into the realm of DevOps through a partnership with Puppet.

    Spunk also announced the 4.0 release of Splunk IT Service Intelligence (ITSI), which extends a platform for managing IT using machine learning algorithms by integrating it with incident management software Splunk gained via its acquisition of VictorOps. Other new capabilities include support for a set of key performance indicators (KPIs) for tracking metrics such as application workloads and the ability to do root cause analysis on any event the machine learning algorithms predict.

    Andi Mann, chief technology advocate for Splunk, said the alliance with Puppet furthers Splunk’s ambitions to be a primary source of data used to inform automation frameworks that are at the heart of any set of DevOps processes. Over time, Splunk will continue to expand its DevOps partnerships with an eye toward being the analytics platform used to trigger automated processes using frameworks developed by Puppet and others, he said.

    At the same time, Splunk continues to develop orchestration capabilities of its own based on technologies it gained via its acquisition of Phantom. While that orchestration software primarily is used today in a security management application, Mann said Splunk is now looking at applying that software more broadly, as it encouraged developers to build applications using a Splunk Developer Cloud now in beta.

    Mann said that when it comes to machine learning in IT operations, otherwise known as AIOps, the most challenging task ahead is establishing trust. IT professionals are not going to sanction a “black box” approach that doesn’t enable them to see how a machine learning framework is determining what to automate. Because of that issue, Mann said, providing a root cause analysis capability in ITSI is critical.

    The next big issue facing organizations, he noted, is improving the quality of the data being used to inform a machine learning framework. One of the benefits of the DevOps movement is that, as developers take responsibility for both building and running applications, more of them are paying attention to how log data is being created. Mann said the notes developers leave within an application on how to resolve issues are becoming more detailed, a process that Splunk refers to as “semantic logging.”

    Mann noted the goal is to create a closed-loop system where every IT issue eventually creates a ticket in a DevOps system for developers to address. The bridge between those processes will be the chat capabilities provided by the VictorOps incident management platform. In fact, Mann said Splunk is moving from being a provider of log analytics software to being a provider of a continuous monitoring solution that analyzes data both stored in logs and in near real-time using a Splunk Data Stream Processor, which is currently in beta.

    It may take a while for that loop to be completely closed. But it’s clear that many of the tools that IT operations teams rely on today are becoming increasingly DevOps-friendly.

    — Mike Vizard

  • Orchestration: How To Get Everyone in Tune

    Orchestration: How To Get Everyone in Tune

    Automation is key to success in the cloud. When your entire infrastructure is accessible via an API, it doesn’t make sense to configure and install your applications by hand. This is where orchestration tools come into play.

    Simply put: You will not have long-term success in the cloud unless an orchestration tool is a core part of your strategy.

    Orchestration Tool Uses

    Each orchestration tool works in roughly the same manner, taking a set of instructions (Chef uses recipes, Puppet uses manifests and Ansible uses plays) and applying them to one or more systems. The syntax of the instructions and how they are applied changes with each tool, but the principles are consistent.

    This leads to the most common use case: configuring a new server.

    Instead of manually installing all of the required libraries, applications, config files and other tools, you simply run the matching set of instructions. Need a new web server? One command and you’re set. Need a database server? Another command has it up and running quickly.

    That’s the basic idea, but with each of these tools you easily can build out a more complex configuration by nesting sets of instructions. Taking the two examples above, you could have a baseline server configuration with all of the common tools and configurations, then customize each server with a smaller set of configurations specific to web servers and database servers.

    Does a new utility need to be on all of your systems? Do you have a new version of your app? Do you need to push out a new configuration file for your data stores? Send one set of instructions through your orchestration tool and you’re done.

    It doesn’t take long to see the value of these tools and to mandate their use for all of your cloud deployments.

    Not So Fast

    Like most challenges in the DevOps space, orchestration isn’t that simple. You can’t just wave your magic wand and get all of your teams using a centralized orchestration tool. This is not a new challenge, we’ve been trying to get this right since the early ’90s (remember Novell ZenWorks or the first version of Microsoft Systems Manager?) and are just now starting to see wide(r)spread success.

    Culture is the No. 1 blocker when it comes to this category of tool.

    You’ll hear some common objections from teams:

    • The choice of technology (is Chef versus Puppet versus Ansible versus the Emacs versus Vi?)
    • It wasn’t built here.
    • The manual process works just fine.

    These objections rarely hold up to scrutiny, but that doesn’t matter. Any objection raised needs to be addressed in some manner until you’ve got enough people on the target team to sway the rest over to the direction you’re trying to head.

    When you’re facing a cultural challenge, you have to address the people side of the equation in your strategy!

    3 Steps to Take

    No solution is going to work in all cases, as every organization is unique. You know the culture of your organization best, so go with your gut. With that in mind, here are the three approaches that tend to work best for most organizations.

    1. Empathy

    No one likes to be told what to do from up on high. While mandating that a team switch over to this shiny new orchestration tool might get the work done initially, it also will build resentment. That’s the opposite of what you want. You want buy-in.

    Odds are, each team in your organization already has a to-do list a mile long. Regardless of the benefits, your orchestration project probably isn’t very high on the list. Accepting that your priority isn’t their priority is a key step toward understanding and empathy.

    2. Pitch In

    One way to help move up the priority list is to offer to help out and pitch in.

    Learning a new tool and new way of conducting ops doesn’t just happen overnight. Have a strong, step-by-step plan to help bring other teams up to speed. A core part of that plan has to be one of your team working with the new team for as long as it takes to get them comfortable with the new tool.

    Take a patient, hands-on approach. Let other teams learn by doing … and by making mistakes. Your role is to guide them along the path of adopting the new tool. Time and time again, this type of approach has proven to be far more successful than other options.

    3. Duct Tape

    As your efforts progress, you may reach the point where the other teams are comfortable with the tooling, understand the workflow and are ready to adopt the new tool.

    The problem is now either:

    1. Developing new sets of instructions or
    2. Converting old scripts or hacks to the new tool.

    To tackle the first challenge, make sure you’ve set up an easy way for teams to share sets of instructions. A centralized set of git repos work great for this. This will reduce the overall workload and encourage collaboration. It’s better to borrow than to rewrite.

    You’ll also want to make sure there is a regular communication highlighting successes with the new tooling. This will help remind teams of the value of the new way of working.

    To tackle conversion (problem No. 2), plug your nose and use this messy hack. All three major orchestration tools allow you to execute another script or program. If you already have working sets of instructions, keep using them. Just wrap them in the new tool to gain the workflow benefits.

    Eventually you will replace them with native instruction sets, but if it’s working “as is,” that’s one less set that you need to build.

    Smoother Operations

    A lot of operational issues happen because of a manual error. Asking someone to make the same configuration change on six systems is bound to lead to a mistake. By moving to the cloud, you’ve already accepted the ability to program your infrastructure. Manually configuring the assets in that infrastructure doesn’t make any sense.

    Orchestration tools allow you to reduce the number of mistake made, ensure consistent results and amplify the productivity of your teams.

    What’s not to love?

    What have your experiences moving a number of teams to a common tool been like? What tips and tricks did you learn along the way? Share in the comments below or on Twitter, where I’m @marknca.

  • Docker Automates and Democratizes Container Orchestration

    SEATTLE–(Business Wire)–DockerCon – Docker today announced Docker Engine 1.12 with built-in orchestration, a powerful combination that provides Developers and IT Operations with a simplified and automated experience to deploy and manage Dockerized distributed applications – both traditional apps and microservices – at scale in production. By adding this additional intelligence to Docker Engine, it becomes the orchestration building block, creating a model for engines to form a self-organizing, self-healing pool of machines on which to run multi-container distributed applications. When integrated into Docker Engine, these new capabilities optimize ease of use, resiliency, performance-at-scale and security – all key requirements that are missing in other orchestration systems. As a result, organizations can be assured that their dev and ops teams are aligned on unifying the software supply chain to release applications into production more rapidly and frequently.“Orchestration is at the same stage today as containerization was before Docker. You either need an army of experts to build it, or you lock yourself to a monolithic platform which will drastically reduce your choice of suppliers,” said Solomon Hykes, founder and CTO at Docker. “Three years ago we brought containerization into the mainstream by making it usable for non-experts, without lock-in. We think it’s time to do the same for orchestration. This is a necessary step for the industry to move forward, and as the leaders of the containerization market it’s our responsibility to lead this change.”

    As with all Docker tooling, this integration is always about choice and flexibility for users. “Swarm mode” is an optional feature that users can select to “turn on” built-in orchestration, or they can also elect to use either their own custom tooling or third-party orchestrators that run on Docker Engine. This approach aligns with the Docker platform’s batteries included but swappable architecture, which has spurred the growth of a vibrant and collaborative ecosystem.

    “As the adoption curve for Docker continues to grow, developers have encountered growing pains with orchestration at scale,” said Fintan Ryan, industry analyst with RedMonk. “With the inclusion of secure built-in orchestration in the 1.12 release, Docker is providing developers with a simple-to-use, yet extremely powerful, orchestration tool while further investing in a consistent, easy-to-manage experience for operations.”

    As organizations begin to make increasing investments in containerization, and with more than 60 percent of them running Docker in production, they are seeking more sophisticated orchestration tooling to expand their deployments across both applications and teams. Docker 1.12 addresses these requirements with functionality that spans the entire application stack across compute, network and storage.

    Ease of Use

    Docker 1.12 dramatically simplifies the process of creating groups of Docker Engines, also known as swarms. The self-organizing, self-healing capabilities of swarms are now backed by automated service discovery and a built-in distributed datastore. As a result, it takes just one command to add a Docker Engine and horizontally scale a swarm.

    Resilient

    The new service deployment API describes all the resources and components with a single command that allows operations teams to run and scale a service. Through the API, the swarm is aware of the application defined and will continuously check and reconcile the environment against the requirements of the application when something adverse happens. Unlike other systems, the swarm itself has no single point of failure. The state of all services is replicated in real time across a group of managers so containers can be rescheduled after any node failure.

    Performance at Scale

    Docker orchestration includes a unique in-memory caching layer that maintains state of the entire swarm, providing a non-blocking architecture which assures scheduling performance even during peak times. Additionally, the system has a built-in routing mesh technology that addresses the challenge of how to provide container-aware load balancing. The routing mesh ensures that requests are made to the right containers regardless of where they have been scheduled within the swarm.

    Secure By Default

    Each Engine is automatically assigned a cryptographic identity which ensures that only validated Engines can be accepted into a swarm. Moreover, Docker Engine comes with mutually authenticated TLS, providing authentication, authorization and end-to-end encrypted communications among every node participating in the swarm, without the operator having to take any steps to enable it.

    Availability

    There are three ways that users can get Docker 1.12, which is currently a release candidate with general availability planned for July 2016. First, it is available now as part of the newly opened public beta of Docker for Mac and Docker for Windows athttps://www.docker.com/getdocker. Second, it is available through cloud-optimized experiences that bundle custom plugins that provide deep integration between Docker and the target platform capabilities including networking, load balancing and SSH key management. Docker for AWS and Docker for Azure are the best ways to deploy Docker Engine on these platforms and are available in private beta at https://beta.docker.com. Last, Docker 1.12 is also available as a binary download or a package for all major Linux distributions at https://docs.docker.com/engine/installation/linux.

    For more information:

    About Docker, Inc.

    Docker, Inc. is the company behind the Docker open source platform, and is the chief sponsor of the Docker ecosystem. Docker is an open platform for developers and system administrators to build, ship and run distributed applications. With Docker, IT organizations shrink application delivery from months to minutes, frictionlessly move workloads between data centers and the cloud and can achieve up to 20X greater efficiency in their use of computing resources. Inspired by an active community and by transparent, open source innovation, Docker containers have been downloaded more than 4.1 billion times and Docker is used by millions of developers across thousands of the world’s most innovative organizations, including ADP, Baidu, the BBC, Goldman Sachs, Groupon, ING, Yelp, and Spotify. Docker’s rapid adoption has catalyzed an active ecosystem, resulting in more than 4,300,000 “Dockerized” applications, over 100 Docker-related startups and integration partnerships with AWS, Cloud Foundry, Google, IBM, Microsoft, OpenStack, Rackspace, Red Hat and VMware.

    Mindshare PR
    Heather Fitzsimmons, 650-279-4360
    press@docker.com

  • 5 Key Aspects of High Fidelity DevOps

    5 Key Aspects of High Fidelity DevOps

    As much as we talk about how we should have shared goals spanning Dev and Ops, it’s not nearly as easy as it sounds. To fuel a DevOps culture, we have to build robust tooling, also. That means investing up front in five key areas: abstraction, composability, automation, orchestration, and idempotency. Together, these concepts allow sharing work at every level of the pipeline. Unfortunately, it’s tempting to optimize work at one level and miss the true system bottlenecks.

    Creating production-like fidelity for developers is essential: We need it for scale, security and upgrades. It’s not just about sharing effort; it’s about empathy and collaboration.

    But even with growing acceptance of DevOps as a cultural movement, I believe deployment disparities are a big unsolved problem. When developers have vastly different working environments from operators, it creates a “fidelity gap” that makes it difficult for the teams to collaborate.

    Before we talk about the costs and solutions, let me first share a story from back when I was a bright-eyed OpenStack enthusiast:

    I was at the fourth OpenStack Summit in Boston. My team at Dell had created open deployment automation, Crowbar, that could turn raw servers and install a fully working OpenStack cluster in about 30 minutes. I don’t want to oversell it; there were plenty of rough edges and preconditions. However, the automation worked and OpenStack came up like a kudzu seedling. In fact, we’d actually brought a half-rack of servers to the summit for live production demos.

    On my way back up to the demo rack, I was riding an elevator with one of the founding developers of the project. He was positively glowing over a new project that he’d created called “Devstack” and wanted to show off the cool logo they’d designed. He gushed, “It’s awesome! It runs all of OpenStack in a single python environment on my laptop! You don’t even need Vagrant anymore—it’s a super fast and easy for developers to get OpenStack running because all the configuration is in Python.” I watched as he typed a command, text scrolled and welcomed me to the OpenStack API. “See, now I’m running OpenStack!”

    At the time, it seemed like a harmless toy, since a single-node cloud deployment is useless to users, testers and operators. I pointed out that we’d gotten our multinode automation working in virtual machines (VMs) now so it would be easy to use even without dedicated hardware. He asked what we’d written it in. “Mainly Chef with some Rails UI,” I responded, thinking we’d made some solid 2011 DevOps choices. He was less enthusiastic, because we were not using the developer-preferred Python. Even so, I encouraged him to come by the rack for a demo, but without any anticipation.

    We left the elevator on a friendly wave of OpenStack synergy. He sprinted into the developer lounge and I trudged back to the user and vendor showcase. Even without words to describe it, I saw that the project had started diverging between developers and operators. Developer collaboration drove a need for something fast to set up that ran on a single laptop. More importantly, Devstack stripped away all that messy multinode networking and DevOps tooling that made it hard to configure and run OpenStack. In what turned out to be a one-way journey, there was now a universal developer environment.

    Unfortunately, that developer environment configuration did not translate into production.

    In fact, OpenStack deployments are notoriously challenging and there is an overabundance of divergent approaches. Even with so many efforts, few have managed basic operational milestones such as upgrades and high-availability configurations. I believe a wide fidelity gap is a key, if sad, part of this story.

    We don’t have to live with fidelity gaps!

    In fact, DevOps exists to close those gaps by bringing developers and operators to a shared space. You are already well-versed in the need to treat development as a pipeline with automation to keep it repeatable.

    If we know the challenge, why do we allow these gaps? It’s because fidelity can have too high a cost in terms of complexity, system overhead and time. These costs multiply the faster we try to iterate. That creates a conflict between the organizational benefits of agility and fidelity; sadly, few teams have been willing to burden developers with fidelity or operators with change frequency.

    How Can We Make Fidelity Cost-Effective in Initial and Ongoing Costs?

    There are five components to consider: abstraction, composability, automation, orchestration and idempotency/repeatability.

    Platform abstraction

    Platform abstraction hides the differences between environments and tools that make developer and production environments different. For true fidelity, we use “platform” in a very broad way. A cloud API or server is a platform, but so is an operating system or container system. In practice, there are many possible and acceptable abstraction layers.

    Teams need to invest in ways that allow the same automation to work on multiple platforms in the same way. That requires modifying the automation to be resilient in different environments and accept configurations instead of making assumptions. These changes are good hygiene, anyway, and make your automation more robust and portable.

    The simplest way to add abstraction is externalize environmental configuration. Since it’s difficult for operational systems to detect the broader system configuration, we need to inject that information into your deployments. Unfortunately, that leads to the “massive pre-deploy inventory file” antipattern and our next component.

    Composability

    Composability goes beyond making automation modular. It means that we can flow information, à la functional programming, through the discrete parts of the install.

    In a good composable design, each unit has defined inputs, outputs, preconditions and behaviors. That allows us to chain them together to accomplish work. Our systems should be able to connect outputs from earlier modules to inputs from later ones. This eliminates the “pre-configuration file of doom” because we can build up system knowledge as the work is done. Since the functions are well-known, we can determine if we’ve completed all the needed setup.

    Substitution is even more important than having a chained configuration flow. Since modules are isolated actions and known parameters, we can create alternate modules based on user- or infrastructure-driven requirements. For example, choosing CentOS vs. Ubuntu changes package management; however, downstream applications only care that their packages are installed. We need to make it acceptable to detect and adjust modules based on situational awareness without breaking up our downstream components.

    This type of change tolerance is essential to fidelity.

    Automation

    You may assume this is obvious; however, we all have a tendency to overlook manual steps or setup in our daily work. Common statements such as, “It takes a day to build my dev environment,” or, “We always run this pre-config script the systems are up,” indicate that we are not as automated as we want to admit.

    Fidelity gaps open when teams have different processes.

    We don’t expect developers to use hundreds of physical servers; however, we can expect them to isolate components in ways that are similar to operations. That adds overhead to their work that requires automation. We don’t expect operators to reset and redeploy systems 10 times a day; however, we can expect them to use repeatable configurations that do not require manual intervention.

    Remember: It does not have to be the same automation in all cases! Composability allows us to have equivalent but different paths to the same state.

    Sequence/Orchestration

    There is a downside to composability. If you’ve replaced your fragile monolithic automation with robust composable modules, then you’re going to have to add some complexity to chain them together. It an unavoidable tradeoff because the composite system needs glue to hold together. That glue is orchestration.

    Truthfully, adding orchestration is not a downside. It is a necessity for scale. Any multisystem configuration process requires orchestration to be sustained. The nature of scale applications is that we have to coordinate activities horizontally across the system during deployment, scaling and upgrade. That allows us to create trust relationships between nodes, set up networks before trying to use them and coordinate servers and clients while we upgrade APIs. Wait loops and iterative convergence are difficult to troubleshoot and more difficult to predict.

    There is a concrete benefit when you combine composition and orchestration: Small work units create a system that is very transparent and parallelization in operation. Those are key values in scale ops.

    Idempotency / Repeatability

    The last component is one of the most elusive: idempotency. The objective is to allow multiple runs of modules in our automation system to leave the system in a consistent state. That allows us to repeat execution of a component without harming or undoing work that we’ve already done.

    The concept is not simply skipping work we think we completed! If we rerun an action, then the action should exit in the requested state every time. If the state is already good, then do nothing. If the state is not configured, then create it. If the state is not good, then fix it. Basically, we want to be confident that we can achieve our end goal every time but never make unneeded changes.

    This is not a simple task! The nature of configuration is to change systems, and we usually assume that we are going from unconfigured or misconfigured to correctly configured. For idempotent scripts, we have to guard against going from correctly configured to broken.

    This may seem like a lot of work for developers who usually start from clean systems, but it’s life-saving for operators when a timing error causes a unit to fail.

    Hey, You’re Adding a Lot of Work to my Deployments!

    Following these five principles does add some overhead; however, all of the changes are good hygiene anyway. They make your automation more robust and portable. More importantly, they reduce friction between your development, test and ops processes.

    Deployment fidelity is a real benefit that helps drive success. Hopefully, these five principles have made it a more concrete and obtainable goal.

  • Streamlining Cloud Tools, Platforms Management

    Streamlining Cloud Tools, Platforms Management

    DevOps and microservices have transformed the way organizations develop, deploy and manage applications—as well as the underlying infrastructure required to support it, be it cloud on on-premise. On the one hand, DevOps and microservices enable much greater speed and agility. On the other hand, that speed and agility come with a heaping side of complexity.

    It’s a beautiful thing when all of the elements of DevOps development are working in harmony. The diverse array of tools and platforms utilized, though, often are missing key security features and capabilities IT teams need.

    Apcera has a comprehensive portfolio of open source projects that provides customers with the ability to effectively manage and secure applications across various platforms and cloud infrastructures. The Apcera portfolio includes, among other things, NATS, a cloud-native messaging system; Kurma, a flexible container runtime; and Libretto, a virtual machine provisioning library. The company recently announced that it is extending its platform to also support Kubernetes.

    “Apcera … allows customers to securely move to any cloud, and deploy, orchestrate and govern the widest range of workloads on any infrastructure—including on-premises,” said Derek Collison, Apcera founder and CEO, in a press release statement. “Customers and developers are rapidly aligning behind Kubernetes as their API of choice when deploying container-based workloads. With its fast-growing ecosystem and strong market momentum, this was the obvious direction for us to take.”

    Kubernetes is an open source container orchestration platform, originally created by Google and now managed by the Cloud Native Computing Foundation (CNCF). Kubernetes enables organizations to manage large collections of containers as a single system. Embracing Kubernetes expands Apcera’s sphere of influence to include hybrid cloud management. Apcera also will actively contribute to the Kubernetes open source project.

    “We believe delivering trust to the cloud is critical, and Apcera has deep and proven expertise in this area,” said Kelsey Hightower, developer advocate, Google Cloud Platform. “We welcome their support of Kubernetes and future participation in the project.”

    Containers in particular have been a major security concern. A blog post from Gartner noted, “Security properties of containers are a largely unexplored field and there is a lot of controversial discussion about whether containers do contain or not. At times it seems that the discussion is driven by (hidden) business agendas, partnerships and financial dependencies rather than by plain technology. So, leaving all of this aside, can you make your containers contain or not?”

    A lot of progress has been made in the past year toward more secure container technologies. Hyper-V Containers from Microsoft, Clear Containers from Intel, and recent improvements from CoreOS are all examples of the fact that the container world is aware of—and vigilantly working on addressing—the security problem.

    Organizations need to understand how secure their infrastructure is, and be able to answer questions such as, “How can I effectively move into production quickly and with scalability?” Streamlining management of diverse cloud tools and platforms enables IT organizations to balance innovation and speed with safety and stability. Rolling Kubernetes support into the Apcera portfolio may be the key to effectively managing and protecting applications and infrastructure in a hybrid cloud environment.

  • SaltStack Data-Driven Orchestration on Display at SCALE 14x

    SaltStack sponsors the Southern California Linux Expo with talks and demonstrations highlighting event-driven infrastructure automation.

    Pasadena, CA (PRWEB) January 21, 2016

    SaltStack®, the creators of data-driven orchestration software for the management of any infrastructure or application stack at scale, today announced it is a sponsor of the Southern California Linux Expo for the fifth year in a row. SaltStack will demonstrate the power of data-driven orchestration for event-driven infrastructure through talks and demonstrations delivered by speakers from Adobe and SaltStack. Also, SaltStack can be found in the expo hall in booth #117. SCALE 14xwill be held this year in Pasadena, Calif., Jan. 21-24, 2016.

    Don’t miss these Salty talks from Christer Edwards, Adobe senior systems administrator, and David Boucha, SaltStack software engineer, highlighting SaltStack for data-driven orchestration:

    Christer’s talk titled, “Ops Tools for Infrastructure Hardening,” will highlight how Adobe Systems is leveraging SaltStack for full system auditing, reporting and compliance. His presentation outlines how Adobe automates infrastructure hardening for FedRamp compliance and highlights the custom tools and modules we’ve created for SOC-2 and beyond. The initiative also includes components for HIDS, FIM and CIS compliance auditing with extensions that include osquery integration for SQL-like querying capabilities across the entire Adobe data center.

    Dave’s talk titled, “Beyond Configuration Management with SaltStack for Event-Driven Infrastructure,” will show how SaltStack is so much more than just a configuration management tool. Specifically, Dave will outline and demonstrate SaltStack intelligent, data-driven orchestration for event-driven infrastructure automation. SaltStack is built to help optimize the entire infrastructure and application stack via dynamic adjustment of resources based on monitored data, changes and events. Dave will provide an overview and demonstration of SaltStack Beacons combined with the SaltStack Reactor for proactive and autonomic system monitoring and management.

    Read the SCALE 14x speaker interview with Dave to learn that Dave expects presentation attendees to bring and use cell phones during his talk and encourages group participation during his demonstration of SaltStack data-driven orchestration.

    Register for SCALE 14x now using promo code “SALT” to receive 40% off the registration price.

    SaltConf16

    The 3rd annual SaltStack user conference is coming back to Salt Lake City, April 19-21, 2016. Attend to hear how organizations like Adobe, Aetna, Dun & Bradstreet, Dutch Government Data Centers, Lyft, Pure Storage, National Instruments, TD Bank, the U.S. Department of Agriculture and many more are using SaltStack to orchestrate and automate any infrastructure or application stack at scale. SaltConf16 is the most effective and economical way to get Salted but the best discounts are available for a limited time only. Register now.

    SaltStack recently announced new SaltStack Support offerings to provide Salt Open users and SaltStack Enterprise customers with dedicated, prioritized access to the Salt brain trust for any Salt implementation. Customers that subscribe to a SaltStack Support package by Friday, Jan. 29, 2016 receive complimentary SaltConf16 passes.

    About SaltStack

    SaltStack is a complete systems management software platform for scalable orchestration and automation of any infrastructure or application stack. SaltStack is used by IT operators, system administrators and DevOps engineers to automate configuration management, private cloud building, public cloud orchestration and event-driven infrastructure. The Salt open source project was launched in February of 2011 and is now one of the fastest growing, most-active communities in the world. SaltStack was founded in August 2012 to support the Salt project and to deliver SaltStack Enterprise packaged for the world’s most dynamic large and small businesses, web-scale applications and clouds. SaltStack won the Best of VMworld Gold Award for virtualization management, won an InfoWorld 2014 Technology of the Year Award, won the 2013 GigaOm Structure LaunchPad competition, was named a Linux Journal Reader’s Choice product in five categories, was named a Gartner 2013 Cool Vendor in DevOps, and was included on the GitHub Octoverse list for 2012 and 2013 as one of the largest, most-active open source projects in the world. For more information, please visit http://www.saltstack.com

    For the original version on PRWeb visit:http://www.prweb.com/releases/SaltStack/SCALE14x/prweb13176718.htm

  • TASC used pipeline orchestration to onboard DevOps

    TASC used pipeline orchestration to onboard DevOps

    I often talk about how development teams ignore their pipeline. It is easy to focus on specific tools and process, but by and large the pipeline that contains them is not being treated as its own entity. Your entire process is something that should be managed, iterated over, and measured just like the code within it. While pipeline oversight is rare, there are some companies doing it, and TASC is one. At the DevOps Enterprise Summit I was able to sit down with John Gildenzoph, a DevOps Engineer at TASC, to better understand how they took a holistic strategy to adopt DevOps.

    See John’s #DOES15 talk here and his interview with devopsy.kinsta.cloud’s, Alan Shimel along with Automic’s CEO here.

    TASC is a large health benefits provider based out of Madison, Wisconsin. They have a technology team of about 100, including Developers, QA, and Ops. Their development is supporting both web and mobile applications. The mobile application is a critical tool for their customers to submit claims and manage their information, and a core web application that serves both customers and employees. After listening to John talk, I discovered that TASC found their path to DevOps by addressing the pipeline holistically.

    The problem – an inefficient pipeline

    Around 2011 TASC realized they were struggling with an outdated development process, based on the waterfall methodology. According to John, ‘deployments were manual, inconsistent, and time consuming, and infrastructure was monolithic, static, and inconsistent.’ In addition to slow processes their was no transparency into what was going on and how processes were executed. This resulted in an inability to scale, and did not support the objective they had to package and deliver apps faster, and at a higher quality.

    The solution – automate the entire pipeline

    They could have made some incremental changes to their processes to make them faster and more efficient, but this would ultimately lead them back to square one with all the same issues to fix sooner or later. They needed a new approach, one that can adapt and scale as their needs change over time. Especially with the rate that DevOps tooling is changing. John and team realized automating the entire pipeline is the only viable strategy.

    “How do we move all of this stuff forward at the same time, not just the development cycle? We wanted to move everything forward together so we did not paint ourselves into a corner” – John Gildenzoph

    It did not happen overnight, first they needed to know what they already had, and start somewhere. The first step they took was to automate parts of their development, QA, and deployment cycles. They started by automating builds with Jenkins. Jenkins being the standard in build automation, they didn’t want to reinvent the wheel and make a build automation tool themselves. These quick wins allowed them to start somewhere, and set them up for bigger wins down the road.

    The next step was to automate the entire pipeline. They realized that their needs will change over time, requiring new tools frequently. The same tools may not always be suited for the job, and new tools may rise to replace existing tools. Because single do-it-all tools tend to overpromise and underdeliver, building for the future required a ‘rip & replace’ approach to tools that makeup the pipeline. This being the case, TASC wanted to take a long term approach to managing and automating their pipeline. To achieve this they needed a pipeline orchestrator. This would make it easy to add and remove components from the pipeline as needed, and give them a holistic view.

    “we can re-evaluate … we have no real dependency on a tool. We just made a move from SVN to Git. I only had to modify a handful of SVN commands with Git and I was done.”

    To orchestrate the entire pipeline, they opted to use Automic Release Automation, an enterprise wide orchestrator. A tool they already owned but were not fully leveraging – “we basically used it like Cron to move files around” John explained. The new implementation of Automic not only abstracted their existing production deployment but also made the interfacing and execution of that deployment process simple enough for non-operations users to handle. It enabled deployment to production environments which required a sophisticated workflow to be automated.

    While Automic could in some cases be seen as a competitor to Jenkins. In their environment considerations for existing business applications was important, a place where Atomic apparently excels, which provided a greater breadth than Jenkins alone could provide.

    In addition to Automic, they are not afraid of leveraging tools. They incorporate many tools to help with automation, but also governance like Sonatype Nexus a component and artifact repository. Sonatype helped how they packaged and delivered artifacts and simplified the consistent deployment of those artifacts. And Docker to get closer to full-stack deployments and supporting their micro-services setup of around 20 services.

    The outcome – Faster delivery, higher quality

    The automation was not the only benefit. TASC found that automation is a great way of driving process change through the organization.  By taking the time to examine the current process and asking the hard questions of why they were doing certain things actually brought a lot of things to light and in the process of automating they actually improved the core processes.

    The new orchestration engine led to increased visibility into development, better QA process, and more stable infrastructure. Easy workflow monitoring meant that even business stakeholders could now gain visibility into the pipeline. All this combined to drastically reduce deployment times to less than an hour, and with zero downtime.

    The only way to break the cycle of inefficiencies in a software delivery pipeline is to automate every cycle within it – Dev, QA, and Ops. This can’t be a half-hearted, or partial effort, it needs all hands working together to overhaul every section of the pipeline. While this may sound daunting, the payoff is worth every ounce of energy spent on it.

    Adopting a pipeline orchestration tool like Automic that allows you to ‘rip & replace’ tooling whenever you see fit might not be an immediate need, but helps sustain the environment in the long term and ensures you can adapt to what comes. This takes your focus off the tools, and puts it where it belongs, on your software delivery strategy. By doing so it’s easier to adopt DevOps and enhance your pipeline in the future.

    TASC made the transition to modern development without calling it ‘Devops’. This goes to show that as long as you’re concerned about delivering higher quality software faster, a Devops-like methodology is where you’ll naturally land. Pipeline orchestration might be a new concept, but from an execution standpoint it is not new at all. It has been executed successfully within even large environments, and is the easiest way to make sure your pipeline supports current and future development.

  • 10.28.2015 Systems Orchestration

    10.28.2015 Systems Orchestration

    Good talent is hard to find
    Good talent is hard to find

     

    Here are some other ROELBOB’s you might like

    RoelBob150x120

     

    A Containers Angst

    The Pink Slip

     

    Hot off the Press – Other great devopsy.kinsta.cloud content

    HotPress

    The DevOps Dozen

    DevOps Must Also Mean OpsDev

     

    Upcoming devopsy.kinsta.cloud Events

    Events

    DevOps Connect: cdSummit SoCal

    Webinar: Testing Infrastructure as Code with Security: 5 Practical Tips

    — ROELBOB

  • Puppet Application Orchestration: Orchestrate the entire stack

    Puppet Application Orchestration: Orchestrate the entire stack

    In advance of next week’s PuppetConf, Puppet Labs is announcing a major new addition to their lineup, Puppet Application Orchestration. The orchestration functionality will allow users to automate configuration, deployment and management of your entire infrastructure stack, wherever it resides.  This is a significant uplift from managing just one instance or server at a time.

    I had a chance to speak with Luke Kanies, founder and CEO of Puppet Labs ahead of today’s announcement. Kanies has led Puppet through its 10+ year existence and has seen it grow from an open source project to over 400 employees, raise $87m in venture with over 1000 customers and more than $75m in revenue.

    I asked Luke what orchestration meant to him, as I think it is a term that is thrown around a lot in technology but not everyone agrees on exactly what it means. He gave me one of the best definitions I have heard, “orchestration is doing related things in a related way”.  In Kanies view the new functionality from Puppet Labs allows organizations of all sizes to “orchestrate their complete software stack allowing for the automation of the software supply chain.”

    This orchestration functionality is another step along the way of the eventual goal of a world where software is written primarily by software. This Matrix-like future Kanies believes is inevitable. It may happen in 20 years or maybe 50 years, but it will happen.

    The real key to this new orchestration tool is that it is more than just being able to automate multiple servers or instances. It actually orchestrates (there is that word again) how these disparate parts of your infrastructure run. It takes into accounts dependencies and events from other parts of the infrastructure in determining how and when to run other parts of it. Puppet says it best in their press release, “ensures that the right things happen in the right order on the right machines as the application is deployed, updated or destroyed.” This awareness is what makes this really special.

    Of course another big part of the equation is that this really does run across your entire stack. Whether it be in a public cloud, private cloud, hybrid cloud, bare metal, on prem or even containers, Puppet’s application orchestration can manage them all from one central app.  That is pretty impressive.

    To enable this functionality Puppet Lab’s team had to develop some new extensions and additions to its scripting language or DSL. This shouldn’t present much of a hurdle to the thousands of people who already use Puppet Labs products.

    Puppet’s new orchestration tool is another indication that the IT industry is becoming more and more app-centric. Applications are driving business and IT with it. Where they live and how they are built is complex and IT teams are looking for tools that make it simpler to deploy and manage these far flung, multi-homed applications that are popping up at ever increasing rates.

    Kanies himself will be demonstrating the orchestration module at PuppetConf next week during his keynote on Thursday, October 8, at 9 a.m. PT. If you are not attending PuppetConf you can follow along on the Livestream.

    It will be interesting to see how this new Puppet tool changes the market. It could set off another wave of integration and third party functionality that leverages this full stack management.  Who knows maybe somewhere right now there is some software writing some software that will take advantage of Puppet Application Orchestration.

  • From QA to Continuous Testing

    From QA to Continuous Testing

    My prior blog “DevOps – It’s All About Continuous Testing” posits that QA testers don’t need to fear DevOps because continuous testing QA is a central part of DevOps infrastructures that are implemented according to best practices. That is not to say however that continuous testing is precisely the same as traditional QA testing or that QA test engineers can rest on their laurels in the new world of DevOps and continuous testing.

    Traditional QA testing is a serial process that constitutes a distinct phase that follows the development phase and is conducted by an SQA test team “independent” of the development team. The idea was clearly described by Glenford Myers in his seminal books “Software Reliability – Principles and Practices” and “The Art of Software Testing” published in 1976 and 1979 respectively. According to Myers “4th Axiom [of testing] “It is impossible to test your own program”. Myers felt programmers shouldn’t do any testing, even unit testing. While the application of this axiom to unit testing was not followed by most practitioners in the software industry, the idea of independent software functional and system level testing has been a widely accepted practice for many years. The underlying rationale is that it is “impossible” for the same person (the developer) to objectively test his/her own code due to the inherent bias to want the code to work, while a good QA tester must have the opposite attitude to want to break it in order to uncover bugs in the code. If you follow this logic only “unusual” developers would be able to perform both roles successfully and therefore building a team based on this rare personal quality is essentially not practical.

    Despite the obvious logic of “independent QA test” concept, many very complex software projects without an independent QA test team resulted in extremely high quality products. There are many high quality open source software products that had no independent test organization behind each release version. Meanwhile there are countless examples of software projects that had massive independent test resources that resulted in products that failed miserably. How can this be? Perhaps it is not “who” is doing the test that matters but rather it is the quality and frequency of the testing itself that is important.

    Continuous testing, with its fundamental concept of “fail early and fail often”, is the new QA test method of choice. Sure, testing is still essential and QA test experts that are most skilled in the best practices of test design are valued because they will produce the best quality products. Years of software engineering experiences have demonstrated that developers can learn these skills if they are taught and even “normal” developers can do a great job of testing. Instead of QA testing “after development”, testing is conducted continuously as the software is developed, build-by-build, feature-by-feature. Obviously it is better to find bugs earlier rather than later. So why didn’t we always have continuous testing as part of development processes?

    Several industry developments converged to make continuous testing the winning method for software engineering quality assurance. Numerous “modern” test methods such as agile testing, test driven development, behavior test methods, model based testing, and automated regression testing, to name a few, describe how quality software can be accomplished without the need for an independent QA test team. The advent of Agile development processes and DevOps infrastructures, in which development build-test cycles are accelerated to minutes or hours instead of days or weeks, has accelerated the development and adoption of automation and orchestration tools and methods. There is simply no other way to get a reasonable amount of testing done on each build-test cycle unless the tests themselves and the environment for testing are supported by orchestration tools and reliable regression tests are systematically automated as the product is developed.

    Meanwhile virtualization technologies have enabled a wide variety of product test topologies to be stood up on demand at a speed compatible with the rapid build test cycles and yet not require expensive dedicated equipment configurations. It is this combination of improved test methods, Agile processes, continuous integration speed afforded by automation and orchestration tools, and low-cost test dynamically configurable infrastructures afforded by virtualization that has resulted in DevOps.

    Continuous testing is “the new QA.”

    At Spirent we think testing has a bright future in DevOps. You can read more about our views at spirent.com/solutions/devops