September 7, 2016 | Written by: Andrew Hans
Share this post:
If you’re like me, you enjoyed playing with toy building blocks growing up. I distinctly remember sitting for hours, creating all kinds of buildings, cars, planes and a number of unidentifiable structures out of these little blocks. The building process is just as important as the management process, so let’s connect toy blocks to IBM Application Management.
What is so amazing about these blocks is their simplicity and uniformity. They have a standard number of pegs and holes that always fit nicely together. How you put them together and what ends up being created is only limited by your imagination, with a near-infinite number of combinations.
Now imagine how difficult it would be to build that car or plane if the blocks weren’t uniform. What if they kept shifting in shape or only fit nicely together some of the time? This would certainly impact your final creation, whether a majestic castle or that perfect abstract building you were so proud of as a kid.
What do little toy bricks and creating successful applications with delightful user experiences have in common? You’ve probably seen microservices represented as building blocks. But what if other aspects of that microservice acted as simply as those blocks did all those years ago? Every time you wanted to call it, the microservice returned the right information, and no matter what order you stacked them or how many wide, they all worked together seamlessly. This can only occur if you ensure that they behave and work from day one. Just as the toy blocks are created uniformly at the factory, applications must be tested and made interoperable in the development phase.
How exactly can you ensure this development phase is successful? You must test aspects of your code, not only as individual microservices themselves, but also the interfaces, interactions, performance and responses between them (or the pegs and holes, if you will). All of this should happen far before microservices are built into that working application.
This is done by thinking of application performance monitoring from day one of your development cycle. Inserting the tooling to watch performance early in your DevOps lifecycle can save you significant amounts of time and money along the way. Demo the monitoring environment to streamline this process.
As an example, something you want to learn far before your rollout date is if you can successfully call your public API from your primary deployment location in Boston, but cannot from your subsequent, planned deployment site in Beijing.
You can use synthetic API monitoring to verify your app from various points of presence around the globe as part of your development cycle before even a line of application code is written. Clearly understanding varying response times for your application APIs to notice and correct any uptick ensures performance of your final application. Utilizing performance monitoring and transaction tracking ensures that with each code update, you are within the set boundaries of desired performance.
Application performance monitoring cannot be an afterthought in your development process. Each developer should have the knowledge and tools to monitor their code, its interactions and dependencies throughout the development lifecycle. As a result, you can achieve the real shift required to create an efficient, agile and competent organization. This creates reliable building blocks with known edges that fit nicely together with any number of other microservices or APIs. You are now creating those uniform, reliable and dependable building blocks from which to build a delightful user experience.
So next time you are creating code, preparing for a push of an updated microservice or about to hit the “go live” button, think to yourself, “Is this a solid building block of code my 9-year-old self would be proud of?”
Want to test your ability to build for a monitoring environment? Try the demo out for yourself.
Interested in learning more about why APM needs to shift left in DevOps lifecycle? Join the webinar.