Tag: devops

  • How DevOps Can Effect Culture Change to Improve Business

    How DevOps Can Effect Culture Change to Improve Business

    The rift between Dev and Ops teams has long been one of the main obstacles for organizations managing their IT capabilities. Overcoming it can be crucial for a successful business. In fact, every company should be able to achieve harmony by improving process automation, implementing better procedures and refining workflow regulations. This is where DevOps culture steps in.

    To be successful, your DevOps approach must include a detailed understanding of your culture and learned behaviors that will influence the changes you want to see in your organization.

    According to recent Gartner research, DevOps will only work when both Dev and Ops are willing to collaborate. They need to embrace change at a behavioral level to initiate and achieve culture change. If not, there is a 90 percent likelihood that any DevOps initiative will fail.

    In discussing the importance of communication in implementing DevOps know-how with Consultancy UK, Gartner’s research director Laurie Wurster explained: “With respect to culture, DevOps seeks to change the dynamics in which operations and development teams interact. Key to this change are the issues of trust, honesty and responsibility. In essence, the goal is to enable each organization to see the perspective of the other and to modify behavior accordingly, while motivating autonomy.”

    Theory vs. Practice

    In reality, the existing autonomy of the operations and development teams is one of the most common reasons for a possible failure of the DevOps approach. While the business culture of developers is founded on innovation and breaking the status quo, life in Operations can seem unthinkable without a procedure-based routine.

    Going further, these two teams can be pushed apart by their own executives. After all, handing out separate tasks and objectives without actually putting the Dev and Ops teams in a room together (even when working on the same project!) has been a traditional approach that dates back decades.

    Deadlines and Objectives

    With Dev and Ops each being unaware of the business value of the other, the departments end up sharing only two business factors: deadlines and objectives. This often leads to a blame game—explaining a delay or a failure seems much easier when you have someone else to blame and a team with an unknown value is always an easy target.

    Putting a stop to this poor practice by initiating cooperation and reminding both they are part of the same organization is the best way to improve efficiency and speed of innovation. IT managers must build bridges and encourage Dev and Ops to discover new ways to accomplish their shared objectives.

    DevOps for an Agile Reboot

    Modern business has realized that while Agile improves speed and service delivery, it may have skipped some very important aspects of culture change resulting in the birth of “fragile infrastructure.” The term is used to describe the damage that can be caused by Agile’s ‘shortcut policy,’ in which teams may compromise to meet their deadlines.

    Many see DevOps as the savior that comes just in time to influence business on a cultural level and unite with Agile toward excellence.

    One of DevOps’s flagmen, Mike Kavis, vice president and principal architect at Cloud Technology Partners and a Forbes contributor, points out that “the solution is for dev and ops to collaborate on the environment specs and together build the appropriate automation scripts that can provision environments with a single touch of a button without the need of additional configurations.”

    When implementing the DevOps approach, developers can be the toughest audience. They may remember all the arguments and rifts with operations, potentially caused by tentative coding leading to functionality issues within the environment—a destabilization every Operations team fears and detests. So, one question remains: How can you build this collaboration?

    Incentivize Accordingly

    As stated by Forrester analyst Kurt Bittner, IT companies of today are helping the cultural rift between dev and ops by incentivizing the teams to do different things—developers are prompted to deliver quickly, while operators are targeted to keep the services up and running.

    Encouraged to pull in opposite directions, it is only natural that the two business units end up facing a rift, making cooperation seem more illusion than reality.

    Because most companies set their priorities based in part on its incentives policy, it is important that those priorities agree with the company goals. In short, once you “go DevOps,” make sure your incentives policy is encouraging rather than hindering collaboration.

    Set Shared Goals

    DevOps supporters see DevOps as a cultural movement and a philosophy, rather than a framework or simply an approach.

    “DevOps is a mindset of moving away from fragile systems that take too long to deploy to reliable software that can be deployed quickly. DevOps requires great collaboration and teamwork, not just within IT, but also with management and product,” Kavis notes.

    Identifying a goal that can bridge the gap and make teams work together is a great way to initiate a change in a positive direction. As Bittner explains, “Part of that means measuring devs on stability, and part of that means measuring ops on innovation. But the best thing is to reward everybody on improving the customer experience.”

    A recent case study presented by Orbitz Worldwide’s senior software engineers Greg Burton and Ori Rawlings at the Velocity Conference neatly demonstrated how setting a common goal for Dev and Ops can bring actual results.

    The goal itself was simple but ambitious: to double the hotel search capacity across the whole website. While achieving it by working closely with operatives, the development team managed to get a hold of many issues plaguing the system on day to day.

    In fact, being a back-end developer himself, Burton defined the term “feature guilt”—the belief among developers that any time spent in aiding operations to resolve outstanding performance issues is lost and unproductive, so everything that does not involve new features must be completed quickly.

    Like many other professionals, Burton also believes change should be realized as soon as possible throughout the organization to prevent substantial losses for everyone. Working on a shared goal, such as improving the customer experience, for example, can help influence developers to appreciate that maintaining a system is as important as developing new features.

    Change the Culture of Fear

    As Bittner notes, “If agile was the opening act, continuous delivery is the headliner.” Once the culture change is favorable and the company is running at full capacity thanks to the DevOps approach, favoring innovation and experiments within the organization becomes one of DevOps’s main advantages. Still, allowing it to work might prove unattainable to some companies. What lies beneath is the fear of failure that can paralyze every manager and employee.

    Randy Bias, director of the CloudStack Foundation and vice president Technology at EMC, speaks of “a culture of fear” that exists within organizations, which is driven by an “endemic” fear of failure.

    This is caused by the widely adopted practice of heavily penalizing every form of failure instead of focusing on how to minimize the potential losses and still allow experimentation for the sake of innovation.

    The real question is, How can you make this possible when your business is at stake? The secret to success, according to many industry experts, is creating a structure based on separate components that can malfunction without leading the company to bankruptcy.

    As hard as this may be for companies relying on monolithic applications, it is best to adopt microservice architecture that will permit managers to allow developers freedom, even if this means paying the cost for the potential mistakes.

    According to Mike Kavis, vice president and principal architect at Cloud Technology Partners, and Etsy’s CEO Chad Dickerson, it is essential to allow people to make mistakes as freely as reason allows and turn postmortems into productive and proactive meetings, not a blame game.

    One of the greatest success stories of today’s business practices, the e-commerce platform Etsy is a great example of the benefits of DevOps practices and blame-free meetings.

    Senior vice president of Technical Operations John Allspaw, who is in charge of Etsy’s “blameless postmortems,” told Business Insider: “Less-skilled companies name, blame and shame. It’s not about avoiding accountability. In a blameless culture, it’s easier for people to take responsibility for their mistakes and learn from them. Developers already feel quite guilty when they break the site.”

    Seeing is Believing

    One-on-one meetings with management, prearranged brainstorming and specially made presentations are no longer enough to effectively influence culture change. Encouraging communication between teams with the right incentives is vital, but modern management needs to push even further.

    The best way to make developers understand operations and vice versa is to get them together and even share job descriptions.

    Companies like OnShape, for example, have taken a big step in reorganizing on-call duty by making developers and operations actually work together. According to Paul Beltrani, webops at MC10 Inc. and former techops at Onshape, this has been a win-win game, as the change has helped both teams.

    Developers have gotten a grasp of the after-effect of a faulty code, while operations have gained a better understanding of how the code works. Furthermore, making dev and ops share a responsibility has also proven to be less stressful, as developers and operations were effectively cooperating by exchanging knowledge to handle the issues.

    CenturyLink goes even further in this direction, by transforming its dev and ops teams into product teams able to support the entire service.

    “It aims to be light on management and process, with each product team assigned each aspect of the product with a laser focus,” explains Jared Wray, CTO of CenturyLink Cloud and head of the development center. “There’s no throwing it over the fence, and there’s no distractions between the two organizations.”

    Patience is a Virtue

    If you’re willing to transform your organization according to DevOps, you should invest all of your patience and good will; be ready to listen and improve.

    As every business is unique in its organizational structure and services, and is counting on many individuals, there is no strict route to follow when implementing DevOps. Of course, there is something all professionals agree on: “Most people think they’re going to snap their fingers and it’s going to happen overnight by doing a reorg. But it’s a full culture shift. It took us three years to make this model, and we’re still evolving it,” Wray says.

    According to Chris Nowak, senior vice president and head of DevOps Services at Bank of America, it’s natural to face initial resistance when presenting teams with new requirements and processes and the best way to handle it is with care. Nowak recommends the human approach: finding and encouraging opinion leaders who can influence change and “eventually help other teams let go and embrace a new way.”

    So, setting clear goals is the first step to becoming a DevOps success and rushing change has only ever resulted in a temporary workaround. DevOps is gaining more and more popularity, making it possible to gather opinions and learn from the forerunners.

    Industry experts have come together to found the DevOps Institute and share a common language through the DevOps Foundation course, so maybe now more than ever is a good time for your business to “go DevOps” and see the value.

  • DevOpsQA NJ Meetup:  Pipeline Patterns with ThoughtWorks

    DevOpsQA NJ Meetup: Pipeline Patterns with ThoughtWorks

    DevOpsQA NJ held our January Meetup on Pipeline Patterns, with Max Griffiths (@_maxamg), Max Lincoln (@devopsy) and Gary Stafford (@garystafford) from ThoughtWorks  as speakers. The meetup took place at the sensational ThoughtWorks NYC location, with welcoming, open meet-and-greet area and a huge presentation area with bright, distinctive wall paintings.

    Following speed networking with pizza and beer, the discussion kicked off with a brief intro from the speakers, who each has been in the DevOps space for 10+ years. They gave a high-level overview of ThoughtWorks and some FullSizeRender (1)book recommendations including, “Continuous Delivery” by Jez Humble, “Release It!” by Michael Nygard and “The Phoenix Project” by Gene Kim.

    So what is the issue that we’re trying to solve? We are trying to gain an ability to make decisions early on to impact how our pipeline is going to scale, with the focus on culture, feedback and governance.

    Max Lincoln gave a good definition of a “good” pipeline. It should have incremental QA, fast feedback, visibility of the progress and a consistent, auditable software delivery process.  It’s a good idea to be very selective with how you name things in the pipeline. “The purpose of the pipeline is to kill the build as soon as possible,” he said. As the pipeline gets longer, quick feedback becomes more difficult.

    Next, each speaker addressed how the pipeline can scale in three difference directions: X (more stages between commit and productions); Y (more projects/applications); and Z (concurrent releases). Max Griffiths gave overview of X-Axis patterns which includIMG_6635e Linear, Parallel and Layered (with artifact promotion and release channels). Linear is the simplest pattern, which works for simple applications. With a parallel pattern, you start to parallelize where possible; however, that might create dependencies and make it difficult to reorder. The layered pattern encourages parallelizing but prevents direct dependencies between stages.

    The layered pattern is further enhanced by adding a separate artifact repository for each layer, which makes artifact retention policies a lot easier. You can use bronze, silver, gold as names for the layers to easily understand how release candidate progresses from one stage to another.

    Gary Stafford introduced Y-axis patterns which include joint labeling, aggregate labeling, independent pipelines and VCS labeling. among FullSizeRender (4)others.  Gary used the Microservices example to demonstrate how to do continuous delivery with loosely related applications or services.

    Max Lincoln spoke about concurrent releases with Z-axis patterns. As per Max,   instead of a branching strategy, dev needs a merging strategy, especially if a release branch gets created six months in advance. “If you have Jenkins do 1,000s of builds a day, it does not mean you have CI,” he said.   IMG_6637

    The speakers concluded by each introducing an extra pattern which they referred to as “different dimensions.” The parting word of advice was to keep CI (whether it’s Jenkins or GoCD) in source control and test your pipeline continuously.   At the end we had a great Q&A session and a very warm, open discussion.

    Looking forward to our next session.

    FullSizeRender (2)
    If you would like to learn more about ThoughtWorks and/or Pipeline Patterns, you can continue the conversation on the GitHub page: https://github.com/thoughtworks/PipelinePatterns

  • Devops meme monday

    Devops meme monday

    Today starts a new week and a new round of entertaining memes. Last week we featured “Be Like Bob”, and this week we will leave it open to you. Simply find a picture and create a funny and/or cunning devops themed meme. You can use https://imgflip.com/memegenerator as an easy source for generating memes.

    To submit your meme for a chance to win a t-shirt (top 5 memes receives a t-shirt), simply post it to twitter tweeting @DevOpsDotCom and using the hashtag #DevOpsMM.

    Here are your winners from last week:

     

    Here are some examples of DevOps memes to help get the wheels spinning: 

    download

    446644

    images

  • DevOps Debates: Image-Driven or Build-Driven Delivery

    DevOps Debates: Image-Driven or Build-Driven Delivery

    In the last 12 months, Docker and the containerization paradigm has challenged the foundation of some of the software delivery principles. People are resorting to things that were unheard of 18 months back and are now using them to successfully deliver software faster and cheaper. One such thing is the debate around build-driven delivery vs image-driven delivery.

    Over the last few decades, software has been packaged and built by a build system and tagged with a number; testers aligned their testing to the tag as the entity being tested and promoted them until it reached production. The build number was one of the most important tag for anyone to communicate about the status of the software in the delivery pipeline.

    For some time now—primarily due to Docker—several teams are moved to a methodology in which the image defines the version of a software. Every change in application program and deployment program will together create a new image, which is tagged and used as the version of the software to be launched for downstream use and finally into production.

    The debate then is, which option is better?

    Let me take a shot at this, and will invite your thoughts on this as well.

    For builds-driven delivery:

    1. Builds helps software to be tagged irrespective of the target hardware and other deployment options. It bundles all dependencies to ensure the software works when deployed to the expectation. This provides the development team a good hand-off point to move on to the next set of work, or sprint.
    2. Builds are much smaller in size, as the build bundles only necessary software needed by the application; hence, keeping them aligned with every change will not be a costly storage proposition.
    3. Versioning of artifacts and bundling them at run time has given tools such as maven to build and link dynamically, collecting all dependencies from the cloud. This makes it easier to keep a thin build and further reduce the redundant data to be kept in each build.
    4. Build repositories have matured over the years to provide a very easy way to version and mark dependencies so deployment tools can find new versions and automatically upgrade environments as needed.

    For images-driven delivery:

    1. Images takes the concept of build to the next level and ensures the variability in target hardware and deployment options are removed completely. It bundles the application as given in the build or built as part of the image creation and pushes the image as a build.
    2. Docker registries have started to compare and contrast themselves into a build repository by providing similar options for end users.
    3. The images-driven option provides a much better benefit of standardizing all your environments, removing the question,”It works in my environment; does it in yours?” If it works in the container in a developer’s laptop, it should work in production as well—everything is same, except for the size and number of resources.
    4. Images are much larger than builds, given that it has to now carry the system software and the application base software within the image. This option was unheard of earlier, but with container images coming down to megabytes, this is not such a big issue today. With layering sizes can be reduced much further as you start peeling the onion of dependencies. Take a look at this nice article by Brian on this topic.

    I guess the choice depends on where your application is in its life cycle, the questions teams should really ask are:

    a) Do we need to change too much to pick an option for an incremental benefit?

    b) Do I have the issue of environmental differences?

    c) Can I merge these options to get a hybrid solution going?

    But for me the larger question is, Which option would you choose, if you were starting from scratch tomorrow? I would love to hear your thoughts.

    Finally, irrespective of which way you lean, image-driven solutions is one of the best way to bring DevOps culture to a team: If the image works, the team has won; it doesn’t matter whether it was ops code or dev code!

     

  • Dynatrace Underpins Huawei’s End-to-End SmartCare Offering, Spanning Every Touchpoint Across Traditional and Digital Channels

    Boston, MA – February 4, 2016 –Digital Performance software company, Dynatrace, today announced that Huawei has selected its suite of performance monitoring and management solutions to deliver the telecommunication industry’s first holistic ICT customer experience management (CEM) solution.

    The HUAWEI SmartCare® offering marks the beginning of a new era for the telco industry, enabling operators to shift from network-based experience management to an actual user-based model that directly addresses the diverse and demanding behaviors of end users today – across all channels and touchpoints.

    Powered by Dynatrace and Huawei technologies, this new CEM offering will allow operators to measure and map the true customer experience, irrespective of IT environment complexities.

    Wayne Ju, Regional Director for Dynatrace Greater China, explains: “Future-proofing Huawei’s offering in the CEM industry was a critical factor in their decision to select Dynatrace. Our solutions make enterprises truly proactive in how they manage and monitor each customer’s journey and adapt to changing behaviors, market trends and technology developments.

    “These powerful and flexible capabilities make us the ideal partner for Huawei. They had the vision for a CEM solution that encompasses every aspect of the customer experience – from brand awareness to purchased services and how those services are being used, seeking customer support and make recommendations to peers,” said Ju. “This kind of granular, holistic customer detail will enable telco operators to survive and thrive in the digital economy.”

    “Together with our industry partners, Huawei places tremendous focus and effort into advancing our CEM portfolio. We develop the metrics, processes, organizations and platforms required to help operators transform from network-centric to customer-centric operations. In collaboration with Dynatrace, we will give operators a clear competitive advantage in the digital economy,” explains Liu Feng, HUAWEI SmartCare® CEM Domain General Manager.

     

    About Dynatrace

    Dynatrace  is the innovator behind the industry’s premier digital performance platform, making real-time information about digital performance visible and actionable for everyone across business and IT. We help customers of all sizes see their applications and digital channels through the lens of their end users. More than 8,000 organizations use these insights to master complexity, gain operational agility and grow revenue by delivering amazing customer experiences.

    Read more about Dynatrace’s leadership in the digital performance and APM market, here.

    Follow Dynatrace on:

    Try the free Dynatrace Performance Test here.

    Press Contacts

    Kayla Siefker, Sr. Global Public Relations Manager, Dynatrace, kayla.siefker@dynatrace.com, 313-227-3092

    Will Clark, Warner Communications, 401-714-4192, will@warnerpr.com

    For Sales and Marketing Information

    Dynatrace, 404 Wyman St., Suite 500, Waltham, MA 02451, 781-530-1000, http://www.dynatrace.com

  • XEBIALABS ANNOUNCES RECORD GROWTH AS ENTERPRISE DEVOPS AND CONTINUOUS DELIVERY ADOPTION ACCELERATES

    Global Market Leaders Select XebiaLabs for Enterprise-Scale DevOps & Continuous Delivery
    BOSTON, MA — (Marketwired) — 02/04/16 — XebiaLabs today announced record software subscription growth as market demand for its DevOps and Continuous Delivery solutions accelerates. Some of the largest and most successful companies in the financial services, manufacturing, retail and technology sectors have selected XebiaLabs’ deployment automation and release orchestration software to gain full visibility into their software release process, reduce application deployment failures, dramatically reduce deployment times and help them ship better software.

    To take advantage of the growing momentum and accelerate growth, in April 2015 XebiaLabs appointed Derek Langone as Chief Executive Officer. The 20-year software industry veteran has held multiple leadership roles in high-growth software companies, including President of SmartBear Software, where he helped the software quality tools provider grow 1,500% in five years while executing four acquisitions. Since Derek has taken the helm at XebiaLabs, the company accelerated its revenue growth and completed the last quarter of the year with 148% growth in subscription bookings.

    “XebiaLabs is uniquely positioned to capitalize on the massive shift to DevOps in the enterprise. Our agentless technology allows for automated deployment to mainframes right through to automation of the newest container technologies and on to connected devices. Our focus on data collection and reporting brings insight and actionable intelligence to the software release orchestration process for the first time,” said Langone. “However, the greatest asset XebiaLabs brings to the market is our six years of singular focus guiding the largest companies with the most complex environments across the globe to realize the benefit of DevOps at scale.”

    “Rapid software delivery is becoming increasingly business-critical as evidenced by growth and interest well beyond the ‘unicorn’ phase to a broader, more mainstream enterprise DevOps market,” said Jay Lyman, Research Manager, 451 Research. “DevOps and Continuous Delivery increasingly represent standard practices in the enterprise, but organizations still struggle with complexity, culture and gaining visibility into their process to ensure releases are safe and reliable, as well as fast. Providers such as XebiaLabs sit in between large enterprise users and the expansive array of tools, systems and other software critical to effective DevOps implementations.”

    Other XebiaLabs highlights from 2015 include:

    • Major customer wins and multi-year contracts from leading brands such as ING Bank, Priceline, Hyundai and many other global financial services, retail, manufacturing, and technology organizations.
    • 2015 was marked by product innovation and multiple new product releases. These releases included new features for advanced release orchestration, satellite deployment, and dependency management as well as new dashboards for software quality, which allow teams to significantly simplify the management of large and complex software releases.
    • XebiaLabs pioneered release automation with industry-first capabilities to manage the complex dependencies between microservices throughout the application release and deployment process. This capability is becoming crucial with the proliferation of microservices in enterprise application architectures.
    • As companies begin to implement Docker and other container technologies at scale, they discover that release management and deployment problems present new challenges. XebiaLabs continued to innovate to help companies manage hybrid deployments and multiple interdependent release pipelines with ease. The company’s tools provide enterprises with much-needed visibility, compliance, security, reporting, auditability, and process enforcement for their container releases.
    • To support the growing enterprise demand for cloud solutions, XebiaLabs announced partnerships with Amazon and Microsoft. XebiaLabs was selected to the Amazon AWS DevOps Competency Network and enables Amazon’s CodePipeline users to deploy applications to on-premises and hybrid IT infrastructures. In addition, XL Deploy was accepted into the Microsoft Azure Marketplace.
    • XebiaLabs received recognition as a key vendor in all major industry reports from Gartner, 451 Research and Forrester Research. The most recent report from 451 research is available for download: https://xebialabs.com/resources/analyst-reports/speed-in-growing-devops-deployment-of-applications/.
    • In 2015 XebiaLabs was also selected as the DevOps and Continuous delivery partner for several recognized systems integrators who are dedicating considerable resources to their expanding Enterprise DevOps practices.
    • The XebiaLabs team was tapped to share its domain expertise and market vision at scores of DevOps and Continuous Delivery conferences, webinars and other events. It also launched The Periodic Table of DevOps Tools online. Since its launch, the table garnered more than 250,000 unique views and has been used to illustrate the DevOps market landscape at industry conferences worldwide.

    About XebiaLabs
    XebiaLabs develops enterprise-scale Continuous Delivery and DevOps software, providing companies with the visibility, automation and control they need to deliver software faster and with less risk. Global market leaders rely on XebiaLabs to meet the increasing demand for accelerated and more reliable software releases. For more information, please visit http://www.xebialabs.com.

    Press Contacts:
    Heather Moses
    VP Marketing
    Email Contact

  • OpsClarity Introduces Monitoring for Data-First Applications

    SUNNYVALE, Calif.–(Business Wire)–OpsClarity, the intelligent web-scale applications monitoring company, today announced that its Intelligent Monitoring solution now provides monitoring for the growing and popular suite of open source data processing frameworks. OpsClarity understands the extremely complex and distributed runtime characteristics of modern data processing frameworks like Apache Kafka, Apache Storm, Apache Spark as well as datastores such as Elasticsearch, Cassandra, MongoDB and others that act as sinks to these data processing frameworks. The solution enables DevOps teams to gain visibility into how these technologies are dependent on each other and troubleshoot performance issues.

    “Open source data processing frameworks have rapidly matured and gained enterprise adoption to provide immediate business value, whether it be to identify customer preferences on the fly, detect online fraud or IOT-enable the next electronic device in our homes,” said Amit Sasturkar, Co-Founder and CTO of OpsClarity. “OpsClarity has deep domain understanding of these distributed and complex data processing frameworks and how they work together and has built an intelligent assistant that visualizes the entire environment, detects and correlates failures, and provides guided troubleshooting.”

    Enterprises use big-data frameworks to process and understand large-scale data. Technologies like Apache Kafka, Apache Spark and Apache Storm are constantly expanding the scope of what is possible. However, most of these data processing frameworks are themselves a complex collection of several distributed and dynamic components such as producers/consumers and masters/slaves. Monitoring and managing these data processing frameworks and how they are dependent on each other is a non-trivial undertaking and usually requires an extremely experienced operations expert to manually identify the individual metrics, chart and plot them, and then correlate events across them.

    “Unresponsive applications, system failures and operational issues adversely impact customer satisfaction, revenue and brand loyalty for virtually any enterprise today,” said Holger Mueller, VP & Principal Analyst at Constellation Research. “The distributed and complex characteristics of modern data-first applications can add to these issues and make it harder than ever to troubleshoot problems. It is good to see vendors addressing this critical area with approaches that include analytics, data science, and proactive automation of key processes to keep up with the changes being driven by DevOps and web-scale architectures.”

    OpsClarity leverages an advanced data-science and real-time streaming analytics-based approach to ingest huge amount of metrics and events data from a disparate set of the open source frameworks and intelligently correlate metrics and events across them. OpsClarity synthesizes the various metrics, alerts and signals into an intuitive visual service topology along with overlaid health status. This radically simplifies the effort required by DevOps to set up and troubleshoot these modern data frameworks.

    The OpsClarity Intelligent Monitoring solution provides the following for data processing frameworks:

    • Auto-Discover: Automatically discover all the components of various data processing frameworks and automatically configure a deep and specific collection of metrics, events, alerts, process and network data. For example, Kafka brokers, Spark masters/slaves, Storm supervisors/workers are auto-discovered and auto-configured.
    • Visual Topology: Automatically discover the service connections and dependencies to generate a logical visual topology for these data processing frameworks.
    • Health Analysis: Enables immediate understanding of data processing framework component health, prioritized anomalies, and service-level metrics – all within the context of the topology.
    • Troubleshooting: a highly-specific and actionable anomaly detection and event correlation capability that allows for rapid root cause analysis.

    To learn more about OpsClarity and its Intelligent Monitoring solution, please click here.

    About OpsClarity

    OpsClarity is transforming modern software operations with data-science-driven monitoring solutions that help today’s DevOps teams continuously visualize, understand and troubleshoot performance of their rapidly changing web-scale application environments. Built by alumni from Yahoo, eBay, Facebook, Twitter and Google, the OpsClarity Intelligent Operations Platform is the only solution that can dynamically adapt to and learn every component of a company’s applications and infrastructure and extract key insights needed to maximize operational speed and agility. OpsClarity is privately held and headquartered in Sunnyvale, Calif. For more information about OpsClarity, visithttp://www.opsclarity.com.

    OpsClarity
    Sachin Agarwal, 408-462-9538
    Press@OpsClarity.com

  • Cloud Security: Software Defined. Event Driven. Awesome.

    Cloud Security: Software Defined. Event Driven. Awesome.

    I get it. Cloud and DevOps are disruptive and create new risks. I’m a security pro; one with decades of hard-earned experience telling me that with great chaos comes great opportunity… for the bad as much as the good. And once again it’s time to circle the wagons, make sure policies are enforced, and our organization’s are protected. Or maybe that’s just all the subliminal vendor FUD leaking past my mental firewalls.

    But maybe it’s time to tell that part of my brain to shut the blank up and start looking for all the ways cloud and DevOps make things better for security. Because they do. And not merely on the surface, but in deeply fundamental changes that upend a lot of our previous conceptions. The best part is that, for once, all of this is real, practical, and achievable today.

    Major cloud providers provide solid security foundations (otherwise no one can use them), typically better than most self-managed data centers. Great baseline security is all well and good, but I’m far more interesting in ways cloud enables us to do security better. Not a little better, but fundamentally improve our existing practices, processes, and capabilities. This isn’t a theoretical concept, but a practical one that some of us are using today in the real world, and I’m going to show you a concrete example.

    These capabilities are thanks to Software Defined Security and Event Driven Security.

    Software Defined Security is the ability to programmatically manage our security technologies, including the security capabilities of non-security technologies. For the most part it’s been an abysmal failure since security companies don’t exactly have the best track record when it comes to APIs and automation (well, outside of marketing materials). Even today the burgeoning on-premise automation tools often find themselves having to remotely log into consoles and issue command lines to manage activity. Security automation has usually been a good way to automate your rapid departure from your current employer.

    Cloud computing changes that in two ways. First, the broad accessibility of robust REST-based APIs to manage security features of cloud services and, on occasion, security tools or services themselves. SOAP APIs are usually too difficult to work with for anyone short of dedicated developers, while REST is often consumable for strong scripters and admins. Second, the non-security APIs allow security professionals to integrate with the infrastructure and platforms directly. We now use the same interfaces as operations and development, except we can use them to achieve security objectives.

    For example, at various conferences I demonstrate an automated incident response workflow that quarantines and instance, locks down the AWS management, images the storage, launches a forensics analysis server and connects the images, and performs a deep analysis of it’s state, connected resources, and potential exposure. An old version is up on GitHub and I have a vastly updated version I’ll be releasing soon. All of this happens in a few seconds.

    Another example, in that same project, nearly instantly identifies any instance in your account not managed by Chef. Identifying unmanaged servers in a traditional network is a common audit function that takes weeks or months. In cloud computing it’s two API calls and a three line comparison function. Last year at the RSA Conference I demonstrated automatically inserting a cloud WAF in front of detected web servers in less than a minute.

    The second piece of the puzzle is newer. With Event Driven Security we leverage the core instrumentation of infrastructure and platforms to detect events and initiate security automation. Until now nearly all security tools relied on polling/scanning or custom agents that have a pesky tendency to kill performance or otherwise break things. For example, instead of scanning the network to detect a change, the network tells us when it changes, and that event triggers actions. It’s a subset of Software Defined Security, yet still distinct.

    In this example I posted earlier this week I leverage Amazon’s new CloudWatch events and Lambda to automatically revert any security group changes, or only changes that fail to meet certain criteria, within 10 seconds. You could use the some template to reverse nearly any change in your environment, or kick off more complex workflows like the automated incident response.

    Software Defined Security allows us to build security operations that are as elastic and agile as the cloud itself. Event Driven Security further reduces the changes of manual error, bringing even greater automation and speed, especially when paired with frameworks and concepts like DevOps and immutable infrastructure. These aren’t new concepts, but unlike in the past they are viable and actively used by real organizations in real production environments.

    The combination fundamentally changes how we can build our security programs. Yes, we can still do all the old things we’ve always done, but with a little creative thinking we gain entirely new, and practical, capabilities. It’s a ridiculously exciting time for our community and profession.

  • Force Multiplication

    Force Multiplication

    Recently, I have found myself reflecting on the statement, “Be a force multiplier.” This usually comes to mind when faced with some sort of burnout: hearing it indirectly from a colleague or friend, or experiencing it firsthand. The intent is good and aligns well with some core tenants of DevOps. Force multiplication fits into the DevOps ethos by encouraging the need to cross-train and collaborate. By working together and sharing knowledge about respective domains (development or operations), team members gain empathy for each other. This in turn has a downstream effect of now enabling better collaboration around the repair/growth/operation/expansion of the delivery pipeline.

    The only challenge I have seen over and over again is that one or more major bottlenecks exist by the time this idea of “force multiplication” is needed in a team. These bottlenecks are often real and result from an imbalance of resources: servers arriving faster than there are resources to rack/stack/configure/turn up. Database administrators cannot handle the number of schema changes needed to be reviewed/tested/deployed. Developers must wait on a certain person or people who have access to publish a package before it can “go live.” You probably have your own bottleneck that you see very clearly in your own mind.

    The next question: Have you (or someone you know) attempted to be a “force multiplier”? The answer always is complex, but a there is always a common theme in noble attempts at team cleanup: lack of training. Think about it: Have you been taught how to be a force multiplier? How to build well-formed teams? How to effectively pass on knowledge? To compound issues even further, our current incentive structure actually celebrates the “heroes” and “unicorns” of the world, calling out these as examples of success. Our economy rewards those first to market, and team-building and normalization often are not high priorities for budding startups today. Unless improvement efforts have a direct impact on the bottom line, often it isn’t a priority. The folks that are brave enough to still even take on the challenge of being a “force multiplier” in these conditions often find little success because knowledge transfer must happen in synchronous fashions: code-pairing, over-the-shoulder demonstrations, etc. These are expensive activities in both time and energy. Opportunity cost is now lost because one resource is cross-training another. Eventually the benefits will be realized, but not today …

    The amount of work is too large. As a result, the can is kicked down the road until such a time that the pain is unbearable and something must be done. At this point, everyone wants to burn down the offending code and start again. But next time, we’ll learn. We won’t make the same mistakes we did last time.

    Bite-sized changes

    The problem is that when looking at the road in front of you, you’re constantly optimizing for the next day or week as opposed to months and years ahead. In the world of quarterly returns, this is the incentive that drives us. Thus, by the time problems are real problems, it is easy to immediately begin the bikeshed conversation and begin designing v2. The next step is to re-adjust the optimization factor. Growing the meat-cloud and getting additional resources often takes too long (three-to-six month onboard time, at least), the time cost of cross-training can be too much, and overworking resources can only go so far. What is the answer?

    Level the playing field

    One of the ideas that I share around ChatOps and Event Driven Automation is to expose small tasks to users. By doing this, you allow team members and others in your company to “consume” actions that you curate. As the curator, you can expose safe actions to users and allow them to do things once relegated to a single individual or team. I’d like to share a real-world story with you and show you how we solved it.

    Bottlenecks at StackStorm

    Recently, our team was bottlenecked in releasing updates to our Puppet module for StackStorm. The team could make changes all day long in the test environment, but getting changes out to the world depended on a single person releasing code to the Puppet Forge. Obviously, this was not ideal.

    Let’s break it down. To release a module to the forge, a user must know:

    • Know how to make a change to the puppet module
    • Update module itself
    • Update metadata
    • Update git repository (tags)
    • Know how properly package up the module for release to the forge
    • Know the credentials for the Puppet Forge

    At face value, this seems minor—just throw these commands into a README, and let others just copy/paste commands. But, my team is not full of Puppet experts. They are developers, eager to help solve interesting problems. But because of this barrier to release, the natural reaction was to shy away from making changes—not because of capability or willingness, but to avoid the pain of friction involved with releasing the code. This meant that any change to the codebase usually required at least two people (change and release). Likewise, any changes that were small or simple naturally got relegated to Puppet people because they knew how to manage the debt and navigate the waters.

    Instead, let’s sprinkle some magic ChatOps dust.

    The Setup

    First, let’s set up our user interface: ChatOps. User experience is a topic that will come up over and over again with ChatOps, so the best place to begin is to decide how to expose commands to colleagues and users. The first thing to set up is the ChatOps Alias.

    Screen Shot 2016-01-27 at 10.56.23 AM

    Source: https://github.com/stackstorm-packs/st2-publish_puppet_forge/blob/master/aliases/publish-puppet-st2.yaml

    I want an all-encompasing command that a user should have to input a minimal amount of information toward. The goal is to have a big red button that can be mashed, and magically a Puppet module is released. This should now happen anytime a user types in !puppet publish puppet-st2 … StackStorm will run the stackstorm.publish-puppet-st2 action with the branch attribute set to whatever the user types in. We choose to reuse the puppet namespace since it is already populated with similar actions.

    The next step is to set up some accompanying Action Metadata for the new stackstorm.publish-puppet-st2 action. We’ll want this to run a new workflow that will take care of all the actions we discussed above. The only variable that I need to get from the user is the branch parameter, so writing the metadata should be a snap. We’ll only take a look at the workflow today.

    Screen Shot 2016-01-27 at 10.59.04 AM
    Screen Shot 2016-01-27 at 11.00.26 AM
    Screen Shot 2016-01-27 at 11.01.04 AM
    Source: https://github.com/stackstorm-packs/st2-publish_puppet_forge/blob/master/actions/workflows/publish-puppet-st2.yaml

    At the top of the file includes our vars section. The puppet-blacksmith application was not built to be run with multiple users, so our workflow needs to be able to adapt. As such, we need to know that the gem will expect a credential file (forge_file) with a username (forge_username) and password (forge_password). We also need to know where our staging directory is (repo_dir), where the upstream target is (repo_url). Simple enough. The next few steps, clone-puppet-module-from-git, bootstrap-puppet-module, cleanup-vendored-gems and set-puppetforge-credentials ensure the build host is setup properly. These actions serially download the repository from Upstream, runs all bootstrap commands, attempts to ensure a pristine directory, and then sets up the puppet-blacksmith forge file. At this point, nothing has actually been done, just some preparation.

    It’s important to note the third step here (cleanup-vendored-gems): This was a small step that often was forgotten and ended up creating archives in the size of megabytes as opposed to kilobytes, which is more reasonable and expected.

    The final steps—tag-puppet-module, build-puppet-module, upload-module-to-forge and push-git-tags—are where the bulk of work occurs. The next steps are focused on running several rake tasks, as well as then tagging the git repository and republishing the package upstream. Most of these actions were enabled by the puppet-blacksmith gem, but now are encapsulated in a nice workflow that is easily consumable.

    And sure enough, if you build it, they will come …

    slack slack_1

    Techniques like this directly enable force multiplication within your team. Essentially, your role shifts from a person “responsible” for delivering to the person for “enabling” delivery. This is a very small example, but powerful. Enabling others on your team to be a force multiplier enables them to keep working, enables you to focus on more important things and also creates a new degree of transparency that may not have existed before. Everyone knows when software is released; anyone has the ability to do this. Add up enough of these small building blocks, and suddenly team members are more apt to take risk and help drive change knowing there is a safety net behind them.

    Worth consideration

    Two very interesting points were presented to me that are worth discussion here:

    Agile Manifesto, rule #1: Individuals and interactions over processes and tools. Tools that try to enforce a workflow of a human? GTFO!

    How far does this paradigm extend? For sure, “process” is the worst. When invoked, it usually means a large amount of paperwork or rules that must be strictly adhered to. The downside is that many of said process are manual in nature and, as a result, error-prone. Likewise, in companies that implement a tool before understanding what they want to achieve or, at the very least, defining a set of principles, the tools end up shaping how the company works rather than the other way around. The point here is that humans are in charge.

    Agreed. What is unreasonable here is the underlying expectation that exists here and across the IT industry: technologists must know an immense amount about an immense number of things. Even in my own domains of expertise, I can think of nothing more demotivating than trying to remember how to deploy code that I haven’t touched in three-plus months. Eventually I’ll remember, but it’s a drag and introduces unnecessary friction. Now, play that out in a larger team and multiply.

    ‘I will become redundant’: I have yet to see this happen. What instead happens is collaboration. Developers can focus on shipping and keeping their code up to date without bugging operations, and operations can care about aggregate problems (capacity, power, storage) as opposed to transactional tasks such as “push this code” or “reset this password.” Most devs I know are not afraid to get dirty, but it’s not where they would rather spend time. Devs want to develop. If you can enable them with better tools to do exactly that, everyone wins. The glucose you were once burning on smaller tasks can and often do become self-service, and you get to go and create even more cool interfaces for users to consume.

    Wrap Up

    Bottlenecks exist. They can and will continue to pop up as companies grow and expand. Sometimes you may find yourself in a situation where bottlenecks accumulate over time as a result of technical debt, while other times you join a new team and that debt may already be gaining interest on amounts owed. Either way, the situation exists where something needs to be done. Instead of going directly for the RPG, burning down the house and starting over, consider smaller approaches to enable others to do the things you do.

    Some thoughts to take with you today:

    • Tend your technology garden: curate, don’t operate
    • Make small, transparent changes for lasting effect
    • Grow it together: don’t control the change

    Until next time!

    About the Author/James Fryman

    jamesNow a senior DevOps engineer at StackStorm, James most recently worked at GitHub assisting in the development and curation of systems scaling within the Operations group. James is also a frequent speaker on the topic of automation at conferences throughout the world.

    Twitter: @jfryman
    email: james@fryman.io / james@stackstorm.com
  • Polatis and Quali Deliver Dynamic Fiber Layer Management Solution for Automating Network Equipment and System Lab Testing

    New solution enables dynamic provisioning of Layer 1 resources to create flexible “production-like” environments for network equipment and system-wide testing.

    Bedford, MA and Santa Clara, CA – February 4, 2016 – Polatis, the performance leader in all-optical switching, and Quali, the leading provider of cloud sandbox software for DevOps automation, have developed and delivered an integrated fiber layer management solution.  Quali’s CloudShell cloud sandboxing platform integrated with Polatis’ family of fiber layer switching products provides an easy-to-use and extremely flexible solution for configuring fiber layer connectivity on-demand.  The joint solution enables infrastructure vendors, data center operators and network service providers to quickly, and simply, execute complex equipment, system and service testing on high-speed (10/40/100+ Gbps) optical backbones.

    The integration allows Quali’s CloudShell software to control Polatis’ all-optical switching products, providing the ability to reconfigure Layer 1 resources dynamically from anywhere in the world. Further, it enables the orchestration needed to seamlessly manage higher layer network elements, and other connected equipment, from a single control point. Quali’s visual modelling tool dramatically simplifies the process of modelling and provisioning complex connectivity. The low loss and superior optical performance of Polatis switches enable the most accurate and reliable testing, in a wide range of network applications, with virtually no latency and minimal system impairments.

    CloudShell’s cloud sandboxing and DevOps automation platform manages the entire lab and data center infrastructure: inventory, modelling, provisioning, lab-wide connectivity, resource planning and reporting.  Together with Polatis, the result is a highly efficient, multi-tenant system that enables fiber and equipment resources to be easily shared across multiple test topologies simultaneously without concern for conflict.

    “By abstracting complex system environments, CloudShell enables Polatis customers to greatly simplify testing on high speed networks, and greatly increase productivity by enabling our switches to be used independently and simultaneously for multiple test beds,” said Gerald Wesel, president and CEO of Polatis. “Quali truly understands the need for the highest standards in testing, which is evident in the CloudShell platform when coupled with Polatis switches.  Driven by our common customers, we are extremely pleased to partner with Quali to bring them the best possible solution for their testing needs.”

    With CloudShell’s architecture based on abstracting connectivity and Polatis’ rich software interfaces, including NETCONF and OpenFlow, the integration enables testing of SDN (Software Defined Network) and NFV (Network Functions Virtualization) applications.  This includes stressing network topologies with intense packet generation, and simulating fiber cuts and degrading optical signals, among other tests.

    “Our customers want to increase the productivity and efficiency of their labs and data centers while at the same time maintaining the highest standard of accuracy and reliability,” said Lior Koriat, CEO of Quali.  “The ability to support existing and emerging environments, along with the flexibility to deploy Polatis’ wide range of fiber layer switches in their environments, makes this an extremely compelling solution.”

    “WWT has been working with both Quali and Polatis for a number of years, and both provide the best solution in their respective market segments of Lab Automation and Optical Switching,” according to Kathi Bomar, WWT Technical Solutions Architect.  “Not only will this partnership provide WWT with a tool for our internal Labs and technical showcases, but we look forward to helping our Networking and Data Center clients implement the combined solutions utilizing Cisco, Polatis and Quali.  We believe our customers will benefit from the automation of these solutions orchestrated by Quali’s CloudShell, as can be seen in WWT’s Advanced Technology Center.”

    Polatis is the only all-optical switch vendor to release a NETCONF interface and associated YANG models required for integration with transport SDN and network functions                           virtualization (NFV) management platforms. Polatis’ range of embedded SDN and network management interfaces include NETCONF, OpenFlow, REST, TL1 and SNMP.
    About Quali Quali is the leading software provider of Cloud Sandboxes.  Their innovative CloudShell software automates the DevOps lifecycle, by providing dev, test, QA, and compliance teams personal replicas of their production environments enabling total control over the development, test, and release of products and applications.  The Global 100 depend on Quali to ensure speed to market while enhancing the quality of the products they deliver to customers. For more information visit www.qualisystems.com.

    About Polatis
    Polatis delivers the world’s lowest loss all-optical switching solutions for remote fiber-layer provisioning, protection, monitoring, reconfiguration and test, with over 3 billion port-hours accumulated in service to date.   Dependable, field-proven DirectLight™  optical matrix switch technology scales from 4×4 to 192×192 ports, applying class-leading performance to provide dynamic optical networking for telecommunications, data center, government, test and video markets.  For more information, please visit www.polatis.com.

    Matt Burke
    matthew.burke@polatis.com
    +1 603.315.0618