• Skip to main content
  • Skip to footer

INT

Empowering Visualization

CONTACT US SUPPORT
MENUMENU
  • Products
    • Overview
    • IVAAP™
    • INTViewer™
    • GeoToolkit™
    • Product Overview
  • Demos
    • GeoToolkit Demos
    • IVAAP Demos
  • Success Stories
  • Solutions
    • Overview
    • For E&P
    • For OSDU Visualization
    • For Cloud Partners
    • For Machine Learning
    • For CCUS
    • For Geothermal Energy
    • For Wind Energy
    • For Enterprise
    • Tools for Developers
    • Services Overview
  • Resources
    • Blog
    • Developer Community
    • FAQ
    • INT Resources Library
  • About
    • Overview
    • News
    • Events
    • Careers
    • Meet Our Team
    • About INT

microservices

Jan 31 2020

What Is Kubernetes?: An Introduction and Overview of the Popular Platform

Over the last several years, Kubernetes has been a developing trend in the tech world, gaining popularity as more and more companies begin to take advantage of cloud-based services. As a non-developer living in a developer world, I wanted to understand more about why we develop our software to work with Kubernetes. So I sat down with INT’s Senior Product Manager Steven Reynolds and Senior Architect James Velasco to learn more about Kubernetes and the advantages of working with it.

Christin: So, Steven, tell me — what in the world is Kubernetes??

Steven: Kubernetes is described as an orchestration platform. It’s usually associated with getting big software up and running. For example, with some of our clients, we have our build set up so that all of the software assets are pushed out and deployed using Kubernetes which takes care of monitoring (pods). If a pod fails, Kubernetes will restart it, and it has nice hooks that can spin up new pods if there’s too much work for one pod to handle.

Christin: What are the advantages of using Kubernetes?

James: Traditionally, you have a service provided by a server. If you migrated, changed, or updated the service, there would be a lot of work to change or configure, set up the new server providing it, and with cloud and cloud providers like AWS, they are moving to automating things. So instead of manually going in and doing all of it, you have tools to automate updating an old version, and switching over to the new one automatically.

Christin: The term microservices is used with Kubernetes — can you go into what microservices does?

James: Microservices is an architectural trend happening right now. Instead of having one big server running everything for a web service, you may have that same web service decomposed into little servers that do separate, well defined parts.

Steven: So the idea of Kubernetes and microservice are different concepts, but they’re talked about together. When using a microservice architecture, it’s an advantage, but it’s also a headache to keep track of all the components.

Christin: So when is it best to use Kubernetes?

Steven: We have 15 to 20 services, and it’s a headache to manage, but you can use Kubernetes to help organize it and help it be more manageable for human beings. There are trade-offs because it makes it better to manage, but there are many tradeoffs as in anything else. It’s the engineer’s dilemma.

James: It tends to only be an advantage if you’re managing a lot of services. So if you’re just managing one or two, then it’s iffy. But if you’re managing 10+ or even just 4 or 5 and those 4 or 5 are made up of 10 or 15 subparts, that is when it makes sense. If I divided all my services like that I may have 10 or 20 and then you may have other vendors or services and you can literally have 100 to 200 of these things. You have to swap out in a unique order and all need to come up and down and all need to be monitored, so that’s what Kubernetes helps you do. Kubernetes is also great to scale up or down.

Christin: That’s really cool. So, Steven mentioned that we have built projects to run on Kubernetes. Does that mean IVAAP can be supported on Kubernetes if requested?

James: Kubernetes is one of the environments that IVAAP targets, if a client requests it. It’s important that we do support it because it is one of the modern deployment styles. And it is common that clients use IVAAP running on Kubernetes. Some clients use Azure or AWS so we have to make sure we can run in all different environments.

******

So there you have it. As a growing trend in software development, Kubernetes can be a better way for companies to deploy and maintain software quickly, especially in a cloud environment. For INT, supporting Kubernetes is an important aspect of how we help meet the needs of our many diverse clients. For more information on IVAAP, check out int.com/ivaap or schedule a demo with one of our team.

Filed Under: IVAAP Tagged With: AWS, Azure, cloud, ivaap, microservices

Oct 24 2018

My Experience at INT with IVAAP: A First Look as a Developer

I started at INT a few weeks ago and my first task as a new INT developer was to add a data connector to IVAAP, INT’s HTML5 visualization framework for upstream E&P solutions.

As a new member of the software development team, I had no prior experience with development on this platform. To gain knowledge of IVAAP and to understand more about the IVAAP software development kit, I used the IVAAP developer’s guide. I found this guide quite useful as it made the key points behind IVAAP easily understandable.

With only a few years of experience with Java, I was surprised by the lookup system. IVAAP has a microservices REST architecture and is very modular in nature, and the lookup system ties all these modules together. It’s quite powerful, but this is something I had never encountered before.

Coding with IVAAP uses a simple model where each entity implementation consists of implementing a POJO (Plain Old Java Object) class and its finder. This paradigm is consistent throughout the entire code. Essentially, for this project, I plugged only a few classes:

  • A data source type class
  • A data source class
  • A log curve class and its finder
  • A log curve data series class and its finder
  • A log curve data frame class and its finder

Implementing these classes essentially consists of following templates, where the public API provides hooks and the developer adds the implementation specific to their project. The public API is documented, making it clear what each method or class is meant to perform.

Even though this project is to be deployed on Linux, my development environment was on Windows. It consisted of an Integrated Development Environment (the NetBeans IDE) and the Postman tool for testing individual services. This project accessed a SQL server database, so I used dbVisualizer to browse the data.

Since this project only included adding a data connector to IVAAP, I didn’t try to add new services, only extend the data sources it supports. Building a connector on top of the existing web services allowed me to validate my work as it progressed. For example, after plugging a new data source type, I could immediately verify that it worked as intended using Postman and following the HATEOAS links. This remained true when I plugged a data source and each finder. No need to wait until all classes are plugged to verify that the logic works. I also found that the error management built into IVAAP helped me be efficient since the error report made it easy to trace the actual issue.

The learning curve of the IVAAP software development kit is gradual. The API guides you. Unlike some of the frameworks I have worked with, there is no prior knowledge necessary to get started. You can be effective from day one with just basic Java knowledge.

Visit our products page for more information about IVAAP or contact us for a demo.

Filed Under: IVAAP Tagged With: API, ivaap, microservices, SDK

Footer

Solutions

  • For E&P
  • For OSDU Visualization
  • For Cloud Partners
  • For Machine Learning
  • For CCUS
  • For Geothermal Energy
  • For Wind Energy
  • For Enterprise
  • Tools for Developers
  • Customer Success Stories

Products

  • IVAAP
  • GeoToolkit
  • INTViewer
  • IVAAP Demos
  • GeoToolkit Demos

About

  • News
  • Events
  • Careers
  • Management Team

Resources

  • Blog
  • FAQ

Support

  • JIRA
  • Developer Community

Contact


© 1989–2022 Interactive Network Technologies, Inc.
Privacy Policy
  • Careers
  • Contact Us
  • Search

COPYRIGHT © 2022 INTERACTIVE NETWORK TECHNOLOGIES, Inc