Can you “foresee the feature?” Do you know if proposed changes to your application will have the desired impact to your business? Let’s drop the crystal ball approach and start practicing some hypothesis-driven development so you can test your assumptions. Not every new feature is guaranteed to be a success. Some might just waste time and increase your technical debt. Join us for the next online DevNation Live on July 5th at 12pm EDT for Feature Toggles and Hypothesis-driven Development, presented by Red Hat director of Developer Experience, Edson Yanaga.
In this session, we’ll demonstrate how feature toggles can be incorporated into your software development process to let you quickly assess the business results of changes. By toggling functionality on and off, you can measure the impact and make better decisions based on real data.
Join us to gain an understanding of how the use of hypotheses, not requirements, can help you deliver what your business actually requires while learning quickly what works and what does not.
Register now and join the live presentation at 12pm EDT, Thursday, July 5th.
Continue reading “Next DevNation Live: Feature toggles and hypothesis-driven development, July 5th, 12pm EDT”
The Summer 2018 ISO C++ standards committee meeting this year was back in Rapperswil, Switzerland. The new features for C++2a are coming fast now; the Core language working group had very little time for issue processing because of all the proposal papers coming to us from the Evolution working group.
Red Hat sent three of us to the meeting, to cover different tracks: myself (Core), Jonathan Wakely (Library), and Torvald Riegel (Parallelism/Concurrency). Overall, I thought the meeting was very successful; we made significant progress in a lot of areas.
New C++ language features that were accepted at this meeting:
Continue reading “June 2018 ISO C++ Meeting Trip Report (Core Language)”
Have you ever wondered why you are deploying your multi-platform applications using containers? Is it just a matter of “following the hype”? In this article, I’m going to ask some provocative questions to make my case for Why Kubernetes is the new application server.
You might have noticed that the majority of languages are interpreted and use “runtimes” to execute your source code. In theory, most Node.js, Python, and Ruby code can be easily moved from one platform (Windows, Mac, Linux) to another platform. Java applications go even further by having the compiled Java class turned into a bytecode, capable of running anywhere that has a JVM (Java Virtual Machine).
The Java ecosystem provides a standard format to distribute all Java classes that are part of the same application. You can package these classes as a JAR (Java Archive), WAR (Web Archive), and EAR (Enterprise Archive) that contains the front end, back end, and libraries embedded. So I ask you: Why do you use containers to distribute your Java application? Isn’t it already supposed to be easily portable between environments?
Continue reading “Why Kubernetes is The New Application Server”
As we discussed in the last post, most of DevOps today focuses on the process blocks that mostly impact engineering or technical aspects of a product rather than the design aspect. Even though DesOps was primarily born out of the primary need of how to design at scale, the factors that shaped it are of a similar nature to the factors that shaped DevOps.
With recent software delivery processes, for example, the Agile process and Continuous Integration (CI) and Continuous Deployment (CD)of code, the DevOps approach provided a faster highway to ensure faster delivery with low risks. So the earlier SDLC model got redefined over time with Agile and then with DevOps to its current shape.
However, because design is an integral part of any product delivered, there is a need to ensure that gaps are bridged between the traditional design lifecycle and the fast track of the DevOps development lifecycle. DesOps and DevOps both are complementary to each other. The design delivery process improvements try to optimize the overall delivery process and thereby contribute to DevOps, for example, in aspects such as testing of the product that involves design aspects, usability, accessibility, etc.
The need for tighter integration between the design team and the engineering team became a necessity to ensure to design at scale. During the past two to three years, the top five big companies have made heavy investments in this area that have paved the way for other organizations and design communities to be more explorative in this area.
Continue reading “DesOps is “DevOps 2.0””
The scavenger hunt game developed for the audience to play during the Red Hat Summit 2018 demo used Red Hat Data Grid as storage for everything except the pictures taken by the participants. Data was stored across three different cloud environments using cross-site replication. In this blog post, we will look at how data was flowing through Data Grid and explain the Data Grid features powering different aspects of the game’s functionality.
Continue reading Using Red Hat Data Grid to power a multi-cloud real-time game
DesOps, aka. DesignOps, refers to an approach to design that is inspired by the culture of DevOps. In this and the following posts, we will explore, the practical approaches for
- How to prepare for the next wave in design that compliments the DevOps concepts of a cultural shift, collaboration, and automation.
- We will also see what solutions are available today that contribute to bringing the full circle of design in the context of the software development lifecycle.
Today, design as a discipline is getting more and more recognition across the entrepreneur world and many industry efforts, such as IBM‘s Enterprise Design Thinking framework, RedHat‘s Open Studio and similar ones, are at a large scale, trying to create a synergy between the Agile approach to the software development lifecycle and the Design Thinking. It is an interesting crossroad where the next big thing in product delivery is to bring scalability as well as automation to the creative process.
In the context of the software industry, I always see “design” as an intersection between creativity and technology where both shape each other—with help from user needs—and blend the results into successful products.
Any typical software product that is delivered involves many complex as well as divergent technologies, processes, people, and visions. Though software delivery mostly happens with team members segmented into two major groups—developers and designers—ultimately, the best outcome always depends on how the two teams communicate with each other and how efficiently their thoughts and ideas are shared, propagated, and translated.
Continue reading “DesOps – The Next Wave in Design”
A significant challenge of moving from a traditional monolithic application design to a microservices-based architecture is the ability to monitor the business transaction flow of events throughout your entire distributed system. Join us for the next online DevNation Live on June 21st at 12pm EDT for Advanced Microservices Tracing with Jaeger, presented by Red Hat software engineers Pavol Loffay and Juraci Paixão Kröehling.
In this session, we’ll examine in detail the Cloud Native Computing Foundation (CNCF) OpenTracing API, a consistent, expressive, vendor-neutral API for distributed tracing and context propagation. We will also analyse Jaeger, an open source distributed tracing system inspired by Google Dapper and OpenZipkin.
Join us to gain an understanding of Jaeger’s open source distributed tracing system and how it can help you monitor and troubleshoot microservices-based distributed systems.
Watch the video of the recorded session:
Continue reading “Next DevNation Live: Advanced Microservices Tracing with Jaeger, June 21st, 12pm EDT”
The most common problem when people are trying to deploy an Open vSwitch with Data Plane Development Kit (OvS-DPDK) solution is that the performance is not as expected. For example, they are losing packets. This is where our journey for this series of blogs will start.
This first blog is about Poll Mode Driver (PMD) thread core affinity. It covers how to configure thread affinity and how to verify that it’s set up correctly. This includes making sure no other threads are using the CPU cores.
Continue reading “Troubleshooting Open vSwitch DPDK PMD Thread Core Affinity”
If you saw or heard about the multi-cloud demo at Red Hat Summit 2018, this article details how we ran Red Hat Data Grid in active-active-active mode across three cloud providers. This set up enabled us to show a fail over between cloud providers in real time with no loss of data. In addition to Red Hat Data Grid, we used Vert.x (reactive programming), OpenWhisk (serverless), and Red Hat Gluster Storage (software-defined storage.)
This year’s Red Hat Summit was quite an adventure for all of us. A trip to San Francisco is probably on the bucket list of IT geeks from all over the world. Also, we were able to meet many other Red Hatters, who work remotely for Red Hat as we do. However, the best part was that we had something important to say: “we believe in the hybrid/multi cloud” and we got to prove that live on stage.
Photo credit: Bolesław Dawidowicz
Continue reading “Red Hat Data Grid on Three Clouds (the details behind the demo)”
We are very pleased to announce the general availability of .NET Core 2.1 for Red Hat Enterprise Linux and OpenShift platforms!
.NET Core is the open-source, cross-platform .NET platform for building microservices. .NET Core is designed to provide the best performance at scale for applications that use microservices and containers. Libraries can be shared with other .NET platforms, such as .NET Framework (Windows) and Xamarin (mobile applications). With .NET Core you have the flexibility of building and deploying applications on Red Hat Enterprise Linux or in containers. Your container-based applications and microservices can easily be deployed to your choice of public or private clouds using Red Hat OpenShift. All of the features of OpenShift and Kubernetes for cloud deployments are available to you.
.NET Core 2.1 continues to broaden its support and tools for microservice development in an open source environment. The latest version of .NET Core includes the following improvements:
Continue reading “Announcing .NET Core 2.1 for Red Hat Platforms”