Welcome!

Ruby-On-Rails Authors: Liz McMillan, Pat Romanski, Elizabeth White, Hovhannes Avoyan, Yeshim Deniz

Related Topics: Cognitive Computing , Java IoT, @CloudExpo, @DevOpsSummit

Cognitive Computing : Article

PaaSt Times By @HoardingInfo | @DevOpsSummit [#DevOps]

One of the biggest mistakes a PaaS consuming organization can make is to ignore the log data from their PaaS system

PaaSt Times
by Chris Riley

Boy was I naive. When I first learned about the term PaaS, I threw it away quickly into a metaphorical garbage can. Of course you need your servers I thought. This was about five years ago. But now, I realize how silly that was.

While IaaS is still the primary back end for applications, there are many out there that contain a combination of PaaS and IaaS, and a rare handful that are 100% PaaS. And for both of these scenarios the importance of log management and analysis remains.

PaaS is an abstraction of the server. A services layer that can run independently of any IaaS and provide specific functionality like a NoSQL back end, MySQL, workers etc. The nice thing about PaaS is that all infrastructure considerations are up to the vendor. And in fact, the infrastructure your PaaS services are running on probably changes frequently.

Importance of logging on PaaS

The downside to PaaS is that if the need arises to get server level access for special patches, add-ons, configurations, etc you can't. So for whatever PaaS solution you use, it will need to be vanilla. Unless you have the resources and breadth to build an internal PaaS solution, which is also possible.

There are, usually small, applications which are 100% PaaS. For example a stack could be:

  • Azure Websites - Application Layer
  • GitHub - Source Repository
  • MongoLabs - NoSQL Backend
  • ClearDB - MySQL backend
  • Azure Cache - in Memory key/value store
  • Azure Machine Learning - data manipulation
  • Visual Studio Online - release automation

With the above stack you will never touch a VM, in fact you cannot.

A lot of tooling in the market is also PaaS. For example for the end-user Logentries is a PaaS solution. It would be more commonly considered SaaS, but because they have an API for log ingestion and consumption it's also "PaaS."

A hybrid scenario is where a similar stack to the above has components on IaaS. Such as AWS compute running a manually configured instance of MySQL that has to integrate with all the other PaaS services.

In IaaS it is obvious how to setup, and what to log in your log analysis system. You get admin level access to your VM. You install your agents. And then you pick your data sources. But with PaaS you cannot do this. This does not mean you should not log your data however.

Especially in the hybrid scenario where you need to correlate data from the other services with your infrastructure data. This is especially important in 100% PaaS solutions where you need to know what is going on with data you may not necessarily have access to. But how do you get PaaS into your log analysis system?

The biggest challenge in  getting logs out of your PaaS solutions is that the ideal implementation, the solution provider gives you the logs directly, the setup is unique for each. And you are walking on ice with vendor changes.

For example it is cool that Microsoft provides you logs for Azure websites. You have to setup and retrieve the data in visual studio, but it is all there, and pretty easy to consume. In this case you would most likely write a separate application, on your backend, to periodically download and store these logs in your log analysis service. This might be similar to what the agents do for IaaS, except you are writing the agent. If you want to be really tricky you could setup a worker on Azure Worker Role, or AWS Background Task in Elastic Beanstalk. PaaS to log PaaS.

And with other solutions, especially DBs, you can download, via a REST call, XML or JSON formats of all transaction logs over a short period of time. Here you would make two calls simultaneously to download, and store into your log system.

This is a lot of work, and there is an easier way. And that is to create your own wrapper for PaaS logging. This is a very nice way to log every call to, or event received, from your PaaS solution. And it would live within the application itself. You can use a log variable that always takes the result of every call to the PaaS solution, or an even more comprehensive way is a function that takes the call, and logs all actions around it, even start, and end times.

If you plan ahead you can actually extend all your functions for your PaaS components to do this automatically. So after it's set-up the developer doesn't even need to think about it. The hardest part is making sure it's in your standard design pattern or corporate development standards. And making sure IT understands that a developer is going to need to set this up.

One of the biggest mistakes a PaaS consuming organization can make is to ignore the log data from their PaaS system.

If you do, your log analysis service is standing on one leg. And you can get misleading information about an outage. For example your PaaS provider caused an unhandled exception due to lost packets or request timeout. Without the proper logs this will look like your IaaS server receiving the result had an issue, but really it was your PaaS provider.

As the trend of hybrid applications grows, some PaaS and some IaaS, this all becomes even more critical. And instead of waiting for it to bite you, build a wrapper around your PaaS services so they can be logged along with everything else.

More Stories By Trevor Parsons

Trevor Parsons is Chief Scientist and Co-founder of Logentries. Trevor has over 10 years experience in enterprise software and, in particular, has specialized in developing enterprise monitoring and performance tools for distributed systems. He is also a research fellow at the Performance Engineering Lab Research Group and was formerly a Scientist at the IBM Center for Advanced Studies. Trevor holds a PhD from University College Dublin, Ireland.

IoT & Smart Cities Stories
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...