Welcome!

Microservices Expo Authors: Liz McMillan, Pat Romanski, Mehdi Daoudi, Stackify Blog, Mamoon Yunus

Related Topics: Java IoT, Industrial IoT, Microservices Expo, Machine Learning , @CloudExpo, Apache

Java IoT: Blog Feed Post

Deploying APM in the Enterprise | Part 4

The Path of the Rockstar

Deploying APM in the Enterprise. In the last installment we covered how you find, test, and justify purchasing an APM solution. This blog will focus on what to do after you’ve made a purchase and started down the path of deploying your coveted APM tool (ahem, ahem, AppDynamics, ahem). Just clearing my throat, let’s jump right in…

APM RockstarWelcome to Part 4 of my series It’s time for a celebration, time to break out the champagne, time to spike the football and do your end zone dance (easy there Michael Jackson, don’t hurt yourself). All of the hours you spent turning data into meaningful information, dealing with software vendors, writing requirements, testing solutions, documenting your findings, writing business justifications, and generally bending over backwards to ensure that no objection would stand in your way has culminated in management approving your purchase of APM software. Now the real work begins…

The 7 Ps
A co-worker of mine shared some words of wisdom with me a long time ago which have served me well over the years. It’s a little saying called the 7 P’s and goes something like this… Piss Poor Planning Promotes Piss Poor Performance. Deploying and using APM software is not a time for spontaneity or just winging it. If you want to make mistakes and derive little value from the investment you just put your reputation behind then by all mean just jump in with little or no planning. If you want to be a rockstar you need a solid plan for deploying, configuring, verifying, operationalizing, using, and evangelizing your APM tool (ahem, ahem, AppDynamics, ahem). Just clearing my throat again, I think there’s a bug going around ;-P

This blog post is a great general outline for planning your implementation. Everything covered in this post should be part of your planning process and should be considered the bare minimum for APM deployment planning within your organization.

Best Practices
The planning stage is a perfect time to ask your APM vendor for documentation on best practices related to deploying their software. Your vendor (AppDynamics, wink) has seen their software deployed in many situations across many industry verticals. They will have important advice for you on how to make the deployment and operation of their product as successful as possible. Use your vendors depth and breadth of information to your advantage, you’re paying them so it’s the least they can do.

Controller: The Brain, Narf!

The first major decision will be an easy one. You probably already covered this during the evaluation, vendor selection, and negotiation phases but we will recap here. You need to decide if you will host your own controller or use the vendors SaaS environment. In case you don’t already know, a controller is the server component that collects, stores, analyzes, etc… the monitoring data from the agents. Basically the controller is the brains behind the operation. There are many factors that you need to consider when deciding to use a SaaS or On-Premise model and we will not cover them in this post. Your vendor of choice (ahem, ahem, AppDynamics, ahem) will help you decide which option is right for your business circumstances.

SaaS
Easy peasy lemon squeazy! I have just embedded those words in your head for potentially days, weeks or years to come. Sorry about that but it really describes the SaaS option well. You don’t have to get a server racked, VM allocated, disk space configured, solve a Rubiks Cube in 3 minutes or less, or whatever other convoluted deployment process your company may have in order to host your own software. All you really need to do is point your agents at the SaaS controller and you are off and running. Your chosen APM vendor (AppDynamics of course) will handle the server sizing, capacity, maintenance, etc… for you. Nice!

On-Premise

So you’ve decided to host your own controller(s). We have many clients that choose this route for one reason or another and we make every effort to support you just as well as using the SaaS option. In this case we wont be doing all of the work for you so you need to get cracking on your server deployment process. I hope it’s super easy and streamlined and you can have a new host set up and ready to load software in an hour or less. In reality it may take you a few weeks or even months so you need to be familiar with the lead time so that you can appropriately plan the rest of the deployment. You NEED a controller so there is no point in deploying agents without one. Use this lead time to generate the most awesome plan ever!

Agents: Deploying and Configuring
Agents need applications to do anything meaningful so it’s a requirement that you figure out what applications you want (or will be allowed) to monitor. You most likely had at least one problematic yet important application in mind when you started your search for an APM tool. Create a list of the applications that need monitoring and prioritize that list. I personally prefer creating a top 10 list (you could also call it a “next 10” list) that is an equal mix of application I suspect will be difficult to instrument as well as applications I think will be really easy. I do this because you usually don’t work at deploying agents to application components in a serial manner. It’s typically a parallel process where you can jump from one deployment to the next while you are waiting for approvals, personnel, or anything else that gets in your way of doing actual work.

Deploying APM agents should be easy. Add a very small amount of software to the server you want to monitor, reference the agent software in your application configuration and restart your application. It’s basically that easy to deploy an agent. It should also be really easy to configure. In fact, the agent should automatically detect what it needs to monitor and simply just work. This is how AppDynamics works but the same does not hold true for most other APM vendors. Hopefully you saw this when you ran each vendor solution through your POC environment. In the interest of full disclosure I will admit that there are circumstances where NO APM solution can automatically detect your application properly and there is more configuration work to do. This is a problem that every APM vendor has to deal with but thankfully AppDynamics sees this condition with only a very small subset of its customer base. Usually you plug in our agent and we show you what you need to see. It just works!

Awesome, now that we just saved you 80% of the configuration time versus deploying “the other guys” what’s next?

Verification
After you deploy agents (whether it be straight to production or advancing though pre-production environments) and you have used the monitored application a bit, you want to look at the user interface to see if the information contained within looks correct.

  • Look at your application flow map to see if you are missing any application components.
  • Check the business transactions to see if the expected transactions are there and reporting metrics.
  • Do you have end user experience metrics showing up?
  • Do you have transaction snapshots showing your custom code executing in the run time?
  • Send out test alerts to see if they make it to their destination. (Alerting is important so we will cover it in another blog post)

If things don’t look right you need to figure out why. It might be that your application really is different than you thought (we see this quite often), or it could be a problem with the monitoring. Resolve any issues you see before declaring deployment and configuration victory.

Production Load Cannot Be Simulated Exactly!!!
To realize the most value from your APM purchase you MUST run it in production. No matter how good your Quality Engineering team is they cannot code all of the crazy things your users will try to do in production. It can also be very difficult to duplicate your application environment in production. Example, you have 5000 JVMs spread across multiple cloud provider data centers. Replicating that environment would be time consuming and really expensive.

Beyond the technology aspects of running in production you also need to consider your existing processes. Your shiny new APM tool will provide incredible insight into application issues as long as you have it integrated into your processes. Here are some points to consider:

  • Are alerts configured so that they are routed to the proper people?
  • Does the operations center know about the new alerts that will be coming from your new APM product?
  • Is there a process that application owners can follow to request monitoring by your new tool?
  • Is there a process to smoothly and efficiently on-board a new application?
  • Is the APM tool integrated with other corporate systems? (LDAP, Events Aggregations, Business Intelligence, etc…)

What I am trying to say is; Give your company every opportunity to use the hell out of your new tool!

Teach Them Well
Educate and evangelize, this will pay dividends ten fold.

Educate
Create a short training curriculum for anyone who will need to work with your APM tool. You should have training material for basic usage, advanced concepts (memory leaks, policies, dashboard creation, etc…), and operations (alerts/events) training. You need to make sure the people who will touch the product or consume the data have the information they need to be successful. Their success drives your success.

Evangelize
Tell everyone you can about the success you are having with your new tool. Don’t be annoying to the point where people run the other way when they see you coming but make sure they know what you are working on and how much of an impact it is having on the business.
For every problem you solve with your new APM tool take 30 minutes to put together a 3–5 slide presentation. Include the following information on each presentation you create:

  • Problem Description: Describe the application, problem, and impact level.
  • Resolution: Describe the resolution steps and root cause. Use screenshots from your APM tool.
  • Business Impact: Describe how long it took to resolve the issue, how long it normally takes without APM, and quantify the impact to the business of this outage for both scenarios (with and without APM).

These short presentations will equip you with the information you need to defend your decision to purchase APM, justify a larger investment, and propel yourself to rockstar status within your organization.

There is a lot of work that needs to be done to successfully deploy, configure and use an APM tool in the enterprise but the potential rewards are staggering. Think about how much lost revenue can be avoided by ensuring your revenue generating applications don’t go down at peak times. People notice when the decisions you make and the work you do directly impact the bottom line. Put in the effort and get noticed!

Join me next week for the next installment in this series. It will be a blog post dedicated to alerts, yes they are that important.

Read the original blog entry...

More Stories By Jyoti Bansal

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.

@MicroservicesExpo Stories
Most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes a lot of work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reduction in cost ...
Enterprise architects are increasingly adopting multi-cloud strategies as they seek to utilize existing data center assets, leverage the advantages of cloud computing and avoid cloud vendor lock-in. This requires a globally aware traffic management strategy that can monitor infrastructure health across data centers and end-user experience globally, while responding to control changes and system specification at the speed of today’s DevOps teams. In his session at 20th Cloud Expo, Josh Gray, Chie...
"At the keynote this morning we spoke about the value proposition of Nutanix, of having a DevOps culture and a mindset, and the business outcomes of achieving agility and scale, which everybody here is trying to accomplish," noted Mark Lavi, DevOps Solution Architect at Nutanix, in this SYS-CON.tv interview at @DevOpsSummit at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
We have already established the importance of APIs in today’s digital world (read about it here). With APIs playing such an important role in keeping us connected, it’s necessary to maintain the API’s performance as well as availability. There are multiple aspects to consider when monitoring APIs, from integration to performance issues, therefore a general monitoring strategy that only accounts for up-time is not ideal.
Web services have taken the development world by storm, especially in recent years as they've become more and more widely adopted. There are naturally many reasons for this, but first, let's understand what exactly a web service is. The World Wide Web Consortium (W3C) defines "web of services" as "message-based design frequently found on the Web and in enterprise software". Basically, a web service is a method of sending a message between two devices through a network. In practical terms, this ...
As many know, the first generation of Cloud Management Platform (CMP) solutions were designed for managing virtual infrastructure (IaaS) and traditional applications. But that’s no longer enough to satisfy evolving and complex business requirements. In his session at 21st Cloud Expo, Scott Davis, Embotics CTO, will explore how next-generation CMPs ensure organizations can manage cloud-native and microservice-based application architectures, while also facilitating agile DevOps methodology. He wi...
API Security is complex! Vendors like Forum Systems, IBM, CA and Axway have invested almost 2 decades of engineering effort and significant capital in building API Security stacks to lockdown APIs. The API Security stack diagram shown below is a building block for rapidly locking down APIs. The four fundamental pillars of API Security - SSL, Identity, Content Validation and deployment architecture - are discussed in detail below.
While some vendors scramble to create and sell you a fancy solution for monitoring your spanking new Amazon Lambdas, hear how you can do it on the cheap using just built-in Java APIs yourself. By exploiting a little-known fact that Lambdas aren’t exactly single-threaded, you can effectively identify hot spots in your serverless code. In his session at @DevOpsSummit at 21st Cloud Expo, Dave Martin, Product owner at CA Technologies, will give a live demonstration and code walkthrough, showing how ...
Translating agile methodology into real-world best practices within the modern software factory has driven widespread DevOps adoption, yet much work remains to expand workflows and tooling across the enterprise. As models evolve from pockets of experimentation into wholescale organizational reinvention, practitioners find themselves challenged to incorporate the culture and architecture necessary to support DevOps at scale.
We define Hybrid IT as a management approach in which organizations create a workload-centric and value-driven integrated technology stack that may include legacy infrastructure, web-scale architectures, private cloud implementations along with public cloud platforms ranging from Infrastructure-as-a-Service to Software-as-a-Service.
With Cloud Foundry you can easily deploy and use apps utilizing websocket technology, but not everybody realizes that scaling them out is not that trivial. In his session at 21st Cloud Expo, Roman Swoszowski, CTO and VP, Cloud Foundry Services, at Grape Up, will show you an example of how to deal with this issue. He will demonstrate a cloud-native Spring Boot app running in Cloud Foundry and communicating with clients over websocket protocol that can be easily scaled horizontally and coordinate...
Did you know that you can develop for mainframes in Java? Or that the testing and deployment can be automated across mobile to mainframe? In his session and demo at @DevOpsSummit at 21st Cloud Expo, Dana Boudreau, a Senior Director at CA Technologies, will discuss how increasingly teams are developing with agile methodologies, using modern development environments, and automating testing and deployments, mobile to mainframe.
DevOps at Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to w...
If you cannot explicitly articulate how investing in a new technology, changing the approach or re-engineering the business process will help you achieve your customer-centric vision of the future in direct and measurable ways, you probably shouldn’t be doing it. At Intellyx, we spend a lot of time talking to technology vendors. In our conversations, we explore emerging new technologies that are either disrupting the way enterprise organizations work or that help enable those organizations to co...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
IT organizations are moving to the cloud in hopes to approve efficiency, increase agility and save money. Migrating workloads might seem like a simple task, but what many businesses don’t realize is that application migration criteria differs across organizations, making it difficult for architects to arrive at an accurate TCO number. In his session at 21st Cloud Expo, Joe Kinsella, CTO of CloudHealth Technologies, will offer a systematic approach to understanding the TCO of a cloud application...
Docker is on a roll. In the last few years, this container management service has become immensely popular in development, especially given the great fit with agile-based projects and continuous delivery. In this article, I want to take a brief look at how you can use Docker to accelerate and streamline the software development lifecycle (SDLC) process.
API Security has finally entered our security zeitgeist. OWASP Top 10 2017 - RC1 recognized API Security as a first class citizen by adding it as number 10, or A-10 on its list of web application vulnerabilities. We believe this is just the start. The attack surface area offered by API is orders or magnitude larger than any other attack surface area. Consider the fact the APIs expose cloud services, internal databases, application and even legacy mainframes over the internet. What could go wrong...
The goal of Continuous Testing is to shift testing left to find defects earlier and release software faster. This can be achieved by integrating a set of open source functional and performance testing tools in the early stages of your software delivery lifecycle. There is one process that binds all application delivery stages together into one well-orchestrated machine: Continuous Testing. Continuous Testing is the conveyer belt between the Software Factory and production stages. Artifacts are m...
Cloud adoption is often driven by a desire to increase efficiency, boost agility and save money. All too often, however, the reality involves unpredictable cost spikes and lack of oversight due to resource limitations. In his session at 20th Cloud Expo, Joe Kinsella, CTO and Founder of CloudHealth Technologies, tackled the question: “How do you build a fully optimized cloud?” He will examine: Why TCO is critical to achieving cloud success – and why attendees should be thinking holistically abo...