Welcome!

Blog Feed Post

Hackathoning with IoT, Blockchain, and AppDynamics

Early in the new year, AppDynamics hosted a hackathon to give employees a chance to explore technologies they were curious about, have fun, and build cross-functional relationships.

I teamed up with a group of women who were interested in researching blockchain. Other members of the team included Balwinder Kaur, Nicole Hu, Audrey Nahrvar, Jeanie Oh, and Ana Le.

There has been much speculation that blockchain will be as disruptive as the Internet revolution of the 90s. This got us thinking about what we could learn from building a dapp, a decentralized application where the backend code runs on a peer-to-peer network. We also wanted to understand the performance aspects of executing and maintaining the application on the blockchain.

A voting app struck us as a great example of a blockchain use case. As a voter, you want to be anonymous but verifiable, and you want your vote to be tamper proof. Blockchain solves these requirements in a couple of ways. It uses public key cryptography to ensure that each vote is recorded accurately. At the same time, the integrity of each transaction is safeguarded by the multiple nodes on a blockchain, making blockchain applications extremely secure. Our goal was not only to code an application but to learn the entire process of deploying smart contracts on the blockchain. We wanted to interact with the blockchain, identify the performance metrics associated with our app, and ingest those metrics into an AppDynamics dashboard. To that end, we bootstrapped a Smart Ballot dapp that initialized the contestants running in the election and tracked the total votes received by each of the contestants. We developed the application on Ganache, a personal blockchain for Ethereum for reasons I’ll explain below.

We chose the Ethereum blockchain because we thought the large and supportive community would make it easier for us to set up the development environment and publish an application during the two-day hackathon.

The next step was to use Raspberry Pi as a voting device running Web3js (an Ethereum compatible Javascript API). The end-to-end flow of our application was designed to work in the real world in the following way: Each time someone placed a vote on our voting machine, it would convert the ballot into a smart contract that was then compiled into bytecode and sent to the blockchain. The blockchain would then execute this contract, record it in a block (the equivalent of a page in a ledger book), and add the block to the blockchain. From a business perspective, the total cost of processing the smart contracts translated into the cost of registering each vote

With the end-to-end flow in place we now had the opportunity to monitor the performance aspects of the voting application. For example, the total cost of executing each smart contract could be tracked, and if it began to fluctuate in a way that didn’t match our expectations we could decide whether our implementation needed adjustment. Research into blockchain metrics led us to Geth (the Go implementation of the Ethereum protocol). We learned that Geth processes were created when we spun up an Ethereum blockchain environment. Once created, these processes kept track of arbitrary events and measured their duration. We queried a variety of metrics derived from the Geth processes through an RPC API.

One of the most important metrics we looked at was “Gas.” In the blockchain world, gas is the price of computation that is paid to individuals, known as miners, who participate in transacting on the blockchain. Gas is correlated to tera-hashes per second. When a transaction is originated, it has a gas price associated with it, allowing miners to pick and choose the most lucrative transactions. Typically, transactions vary in cost depending on the computational power they require to complete various operations. In this experiment we captured costs per transaction using gas price multiplied by the transaction volume. We also looked at “Difficulty,” which is a standard blockchain measure of how difficult it can be to find a hash below a given target. Significant departures from the baseline performance of the application triggered an alert.

Finally, we wanted to provide visibility into any network issues that could be affecting blockchain actors. We understood that any issues would clearly impact end users as well as applications relying on a blockchain transaction. To that end we captured, total requests/min and response times. Here is a view of the metrics we collected on the AppDynamics IoT dashboard:

Naturally, we encountered some glitches. The main problem we faced was creating an account for ourselves on the Ethereum blockchain. It turns out that it’s huge and not suitable for quickly getting up and running. We tried for twelve hours to download the entire Ethereum development environment before we decided to use the Ganache client.

Experimenting with a new technology is always rewarding. It was gratifying to see how easy it was to deploy AppDynamics to monitor a distributed application running on a blockchain and begin collecting useful information. It is one thing to know that metrics are available in theory, and other to see them displayed on a screen, tracking transactions as new blocks were mined and added to the chain.

 

 

The post Hackathoning with IoT, Blockchain, and AppDynamics appeared first on Application Performance Monitoring Blog | AppDynamics.

Read the original blog entry...

More Stories By AppDynamics Blog

In high-production environments where release cycles are measured in hours or minutes — not days or weeks — there's little room for mistakes and no room for confusion. Everyone has to understand what's happening, in real time, and have the means to do whatever is necessary to keep applications up and running optimally.

DevOps is a high-stakes world, but done well, it delivers the agility and performance to significantly impact business competitiveness.

Latest Stories
Sometimes I write a blog just to formulate and organize a point of view, and I think it’s time that I pull together the bounty of excellent information about Machine Learning. This is a topic with which business leaders must become comfortable, especially tomorrow’s business leaders (tip for my next semester University of San Francisco business students!). Machine learning is a key capability that will help organizations drive optimization and monetization opportunities, and there have been some...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
The question before companies today is not whether to become intelligent, it’s a question of how and how fast. The key is to adopt and deploy an intelligent application strategy while simultaneously preparing to scale that intelligence. In her session at 21st Cloud Expo, Sangeeta Chakraborty, Chief Customer Officer at Ayasdi, provided a tactical framework to become a truly intelligent enterprise, including how to identify the right applications for AI, how to build a Center of Excellence to oper...
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...
"Storpool does only block-level storage so we do one thing extremely well. The growth in data is what drives the move to software-defined technologies in general and software-defined storage," explained Boyan Ivanov, CEO and co-founder at StorPool, in this SYS-CON.tv interview at 16th Cloud Expo, held June 9-11, 2015, at the Javits Center in New York City.
ChatOps is an emerging topic that has led to the wide availability of integrations between group chat and various other tools/platforms. Currently, HipChat is an extremely powerful collaboration platform due to the various ChatOps integrations that are available. However, DevOps automation can involve orchestration and complex workflows. In his session at @DevOpsSummit at 20th Cloud Expo, Himanshu Chhetri, CTO at Addteq, will cover practical examples and use cases such as self-provisioning infra...
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory? In her Day 2 Keynote at @DevOpsSummit at 21st Cloud Expo, Aruna Ravichandran, VP, DevOps Solutions Marketing, CA Technologies, was jo...
As Marc Andreessen says software is eating the world. Everything is rapidly moving toward being software-defined – from our phones and cars through our washing machines to the datacenter. However, there are larger challenges when implementing software defined on a larger scale - when building software defined infrastructure. In his session at 16th Cloud Expo, Boyan Ivanov, CEO of StorPool, provided some practical insights on what, how and why when implementing "software-defined" in the datacent...
Blockchain. A day doesn’t seem to go by without seeing articles and discussions about the technology. According to PwC executive Seamus Cushley, approximately $1.4B has been invested in blockchain just last year. In Gartner’s recent hype cycle for emerging technologies, blockchain is approaching the peak. It is considered by Gartner as one of the ‘Key platform-enabling technologies to track.’ While there is a lot of ‘hype vs reality’ discussions going on, there is no arguing that blockchain is b...
Blockchain is a shared, secure record of exchange that establishes trust, accountability and transparency across business networks. Supported by the Linux Foundation's open source, open-standards based Hyperledger Project, Blockchain has the potential to improve regulatory compliance, reduce cost as well as advance trade. Are you curious about how Blockchain is built for business? In her session at 21st Cloud Expo, René Bostic, Technical VP of the IBM Cloud Unit in North America, discussed the b...
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected in a way that makes the public cloud a non-starter. You’re looking at private cloud solutions based on hyperconverged infrastructure, but you’re concerned with the limits inherent in those technologies.
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
The use of containers by developers -- and now increasingly IT operators -- has grown from infatuation to deep and abiding love. But as with any long-term affair, the honeymoon soon leads to needing to live well together ... and maybe even getting some relationship help along the way. And so it goes with container orchestration and automation solutions, which are rapidly emerging as the means to maintain the bliss between rapid container adoption and broad container use among multiple cloud host...
The cloud era has reached the stage where it is no longer a question of whether a company should migrate, but when. Enterprises have embraced the outsourcing of where their various applications are stored and who manages them, saving significant investment along the way. Plus, the cloud has become a defining competitive edge. Companies that fail to successfully adapt risk failure. The media, of course, continues to extol the virtues of the cloud, including how easy it is to get there. Migrating...
Imagine if you will, a retail floor so densely packed with sensors that they can pick up the movements of insects scurrying across a store aisle. Or a component of a piece of factory equipment so well-instrumented that its digital twin provides resolution down to the micrometer.