Maintenance & Upgrade Service
There’s a reality of the software development lifecycle that people often don’t realize until they are in the middle of a production emergency. Mature, production systems grow brittle over time as core components like application servers and servlet containers grow out of sync with new versions of a JVM or new versions of critical libraries. When a project is in production, upgrading to a new version of an application server involves a high amount of risk and the longer a business puts off an upgrade process the harder it becomes. As a result, many find themselves supporting outdated application stacks in production.
Tomitribe is here to help you upgrade your TomEE or Tomcat-based infrastructure. We understand the challenges involved in the upgrade process, and we’ve upgraded some of the world’s largest installations without skipping a beat. Our experts know how to assess your current systems and can propose an upgrade path that minimizes risk.
Is Your System Past Its Expiration Date?
Business often find themselves frozen in production using technologies from the last decade. For some systems this isn’t a problem, if you are running back office systems based on COBOL in a zOS mainframe environment it isn’t a problem to be a few years (or a few decades) out of date. But, this isn’t your situation. If are using Java EE technologies, you are developing customer-facing systems that need to scale with demand. A systems that need to adapt to changing technologies and standards. If you are like many of our customers you might be powering one of the world’s largest eCommerce systems, supporting command-and-control or logistics for a fleet of ships, or powering a critical financial exchange. Running businesses like these on unsupported, outdated application stacks without an upgrade plan is unacceptable risk.
When you need to support application development for a business that maintains critical infrastructure, you can’t afford to forgo regular investment in the maintenance and upgrade of your application stack. That’s where Tomitribe’s consulting services can help. Our consultants understand the risks and rewards associated with developing and implementing a solid plan to upgrade your core infrastructure. If you find yourself constantly saying “We can’t” in response to questions about new technologies, unable to update systems to a new JVM, or unable to use the latest versions of the libraries you depend on, Tomitribe’s upgrade services can help get your application development back on track.
Tomitribe Can Help You Upgrade
Most of Tomitribe’s clients are looking for a roadmap. Our Maintenance and Upgrade services provide clients with just that.
Once a project matures, core members of the original development team move on, and it can become almost impossible to make necessary changes to critical application infrastructure. We see it all the time! Clients come to us with an ancient version of Tomcat or a mish-mosh of outdated, unsupportable technologies running production. In a Maintenance & Upgrade engagement, the first step is to get a clear understanding of both your current situation and your desired end-state. Tomitribe takes time to understand your current platform and we assess the risks associated with change. Once our consultants have a full understanding of your platform they will recommend targeted upgrades that focus on delivering immediate results.
Whenever practical, Tomitribe’s Maintenance & Upgrade experts recommend gradual upgrades to minimize risk and downtime associated with any change. Our team has years of experience assessing architectures and recommending the changes that will help support ongoing business operations during an upgrade process. If you are looking for experts who understand how to upgrade complex systems based on Java EE, Tomitribe brings just the right mix of open source and business experience to the table. We understand that management doesn’t want to see an upgrade process take months or even years and introduce unnecessary risks. It is our goal to provide you with the fastest path to a production system running the latest technologies.
Keeping Up with the Joneses1
The pace of innovation in server-side application development can be overwhelming. Oracle is pushing new versions of the JVM out with important new language features and performance improvements. Open source projects such as TomEE and Tomcat implement new features and new Java EE specs at an accelerated rate. For application stacks it isn’t just that new versions of software are being released every week or every month, the basic composition of these stacks changes dramatic. In one year, Memcache might be the newest addition to your stack, the next year MongoDB might be another. It is difficult enough to keep your own application stack up-to-date. Add in the challenge of integration for the increasingly heterogeneous environments and you’ll find many organizations paying teams of full-time architects just to “Keep Up with the Joneses.”
When you support an application stack, it’s important not to view the upgrade process as a point-in-time event. If you’ve been putting off upgrades for years, you’ll understand first-hand that infrastructure upgrades are easier to handle if you have a continuous plan for assessing and upgrading to new versions of Tomcat, TomEE, or any other component of your Java EE application stack. Tomitribe consultants are available on an ongoing basis for just this service. If you’ve engaged us previously for an upgrade process, our consultants are already familiar with your architecture and your implementation strategy. Our experts can not only serve as an early warning system, they can also be valuable advisors pointing out upgrades you’ll want to take advantage of.
When you work with Tomitribe either as a one-time consulting engagement or in the context of a longer-term support relationship, we’re here to help you manage risks associated with the constant change that accompanies open source development.
Examples: Helping our Customers Upgrade
Here are a few examples of upgrade projects Tomitribe has completed:
“We’re not sure what version of Tomcat we’re running…”
A customer with a popular eCommerce site that conducts daily transactions workload that is worth tens of millions of dollars. This risk-averse client maintained critical infrastructure based on a customized version of Tomcat that was 10 years old. In order to propose an upgrade path for Tomcat that involved the least amount of risk, our experts analyzed a complex build and a code base consisting of more than 10,000 Java classes to assess the level of exposure this customer had to Tomcat customizations. Over the course of this engagement, our consultants concluded that the path of least risk involved two steps of migration:
- Removing Tomcat customizations from an unsupported, heavily-patch version of Tomcat 5.5.16
- Upgrading Tomcat to an intermediate version of Tomcat 5.5.36
- Conducting an in-depth assessment of the entire code base to prepare for a Tomcat 5 -> Tomcat 7
- Implementing a Tomcat 5 -> Tomcat 7 transition in a consolidated change set designed to minimize the risk associated with this update to core infrastructure
This customer was able to continue normal development operations through this multi-month upgrade process. Tomitribe achieved this by working closely with the existing development team to create a tailored, minimally-invasive patch that could be applied to a high-profile production system with zero-tolerance for downtime.