During the fall of 2017, we conducted a microservices survey with our Red Hat Middleware and Red Hat OpenShift customers. Here are eight interesting trends discerned by the results:
1. Microservices are being used to re-architect existing applications as much as for brand new projects
There seems to be a strong emphasis in the market by technology vendors for positioning microservices as being only for new projects. However, our survey reveals that organizations are also using microservices to re-architect existing and legacy applications.
Sixty-seven percent of Red Hat Middleware customers and 79 percent of Red Hat OpenShift customers indicated this. This data tells us that microservices offer value to users all along their IT transformation journey -- whether they are just looking to update their current application portfolio or are gearing up new initiatives. So, if you are only focused on greenfield projects for microservices, it may be a good idea to also start evaluating your existing applications for a microservice re-architecture analysis. Microservices introduce a set of benefits that our customers have already started seeing, and they are applying these benefits not just to new projects but to existing ones as well.
2. Customers prefer a multi-runtime/multi-technology/multi-framework approach for microservices
There is no single runtime, platform, or framework that is the best for microservices. Customers are using the “right tool for the right task” and are not marrying themselves to a single technology, runtime, or framework for microservices. In fact, 44 percent of Red Hat Middleware customers and 50 percent of Red Hat OpenShift customers believe in “using the right tool for the right task.”
In addition, eighty-seven percent of respondents indicated that they are using or considering multiple technologies for developing microservices.
So, if you are using a single runtime, technology or framework for microservice development, it may be wise to start looking at other runtimes, technologies and frameworks and select the one that is the best fit for the problem you are trying to solve. In other words, now is a good time to expand your single-technology approach to a multi-technology one.
3. Top benefits delivered by microservices
Respondents identified many benefits that they were already receiving. The top six are:
- Continuous integration / continuous deployment (CI/CD)
- Agility
- Improved scalability
- Faster time-to-market
- Higher developer productivity
- Easier debugging and maintenance
If you are hesitant about using microservices for new projects or re-architecting existing applications, wait no more. These benefits were the highest ranked by users and most importantly, these are benefits that are already being enjoyed from using microservices.
4. Microservice benefits can be realized within two to 12 months
Thirty-three percent of respondents indicated that they realized benefits of microservices within two to six months and 34 percent of respondents within six to 12 months.
As shown by the survey results, customers can start reaping the benefits of microservices fairly fast. In order to stay competitive, there is no reason to stay on the sidelines when it comes to microservices.
5. Top challenges when implementing microservices
Implementing microservices is not a panacea for all your problems. They come with their own challenges. The top four challenges that Red Hat respondents identified were:
- Corporate culture and organizational challenges
- Microservices management
- Diagnostics and monitoring
- Time and resources
Microservices development requires a shift in how software is developed. This can present a challenge for organizations that prefer the status quo because they are familiar with current processes and procedures. Also, having to learn new runtimes, technologies, or frameworks may be challenging in organizations that do not want to invest in re-training their workforce in a technology that is different from their expertise. If re-training is not an option, finding resources in the market with the right experience and background on selected microservices technologies may be a challenge. Lastly, there are two technical challenges to microservices: Microservices management and diagnostics and monitoring. You should assess available solutions in the market that provide functionality to address these technical challenges. Microservices solutions are constantly evolving and adding functionality based on many of the latest innovative open source technologies.
6. Top activities to overcome challenges
Organizations are carrying out activities to address the challenges when implementing microservices. The top four activities that respondents identified to mitigate these challenges were:
- Developing/implementing in-house microservices tooling
- Re-organization
- Working with vendor subject matter experts / using a vendor as a trusted advisor
- Purchasing or using a microservices platform / solution
Respondents indicated that they have been relying on vendors and vendor SMEs as their trusted advisors when it comes to microservices. In addition, many responded that a reorganization was a mitigating activity to get past the microservices challenges in relation to corporate culture. So, evaluate microservices solutions in the market and select the one that fits your requirements the best. If there are any gaps in the solution, implement those gaps in-house. Rely on vendors for guidance in adapting and implementing microservices. To spark change from your organization’s established processes, you may need to re-organize teams. Often times, introducing cultural change and reorganization is best done through an experiential approach via a labs-style engagement.
7. An application server can be used for microservices
Along with technologies like Docker and Kubernetes, which illustrate the success of containers as a technology on which to implement microservices, 52 percent of Red Hat Middleware respondents are either using or considering Red Hat JBoss Enterprise Application Platform (JBoss EAP) for microservices.
As mentioned earlier, organizations are not applying microservices just for new projects but also for existing applications, many of which are written in Java EE using traditional application servers. But not all application servers are created equal. Many application servers in the market have not been modernized or re-designed to sustain the demands of cloud-native development. Red Hat JBoss Enterprise Application Platform is a modern, modular, lightweight, and flexible application server that is being used or considered for microservices among Red Hat Middleware customers, who are very aware of its performance and memory optimizations.
If you have a workforce that has vast experience and expertise in Java EE and application servers, you can take advantage of their experience to develop microservices in a modern application server. In a multi-runtime/multi-technology/multi-framework microservices world, Java EE in the form of Red Hat JBoss Enterprise Application Platform, is a runtime in which you can develop microservices. In your selection of a multi-runtime microservices solution, make sure that it supports Java EE, among other runtimes.
8. Standards are still important to customers developing microservices
The top three reasons why Red Hat Middleware customers are using or considering to use Java EE for microservices are:
- Java EE is a standard
- No need to re-train workforce
- We trust Java EE to run production because it’s well established and enterprise-grade
This indicates that Red Hat Middleware customers see the value of open source community-driven standards and specifications designed to run enterprise applications and with reliability, availability, scalability and performance (RASP) capabilities. So, if like Red Hat Middleware customers, you are using or considering Java EE as one of your runtimes for microservices, you are in good company.
How can Red Hat help you in your microservices journey?
Red Hat OpenShift Application Runtimes is our modern, cloud-native set of application runtimes and frameworks with a guided developer experience for organizations that are moving beyond 3-tier architectures and embracing cloud-native application development. It consists of a curated set of frameworks and runtimes:
- Eclipse Vert.x for reactive programming
- Node.js for JavaScript programming
- WildFly Swarm / Eclipse MicroProfile for assembling your project in a runnable jar using open source community-driven enterprise Java libraries for microservices
- Red Hat JBoss Enterprise Application Platform for programming using Java EE
- Apache Tomcat for web application programming
- Spring Boot for assembling your project in a runnable jar using open source enterprise Java libraries
All these frameworks and runtimes are fully integrated into and optimized for Red Hat OpenShift. After a careful and minutious analysis of market and customers needs, Red Hat selected these runtimes for inclusion and integration into Red Hat OpenShift Application Runtimes. Red Hat may update or grow this set of curated runtimes as it continues to monitor market and customers needs. Red Hat OpenShift Application Runtimes also includes the concept of guided missions and boosters to accelerate the development of applications and microservices as well as a cloud-native developer experience through OpenShift.io.
If you need help getting started with your existing applications, Red Hat offers a free application modernization and migration discovery workshop. And if you would like to transform your organizational culture, speed up your next application development project, and make DevOps a reality, we have our Open Innovation Labs to help you in this endeavor.
Last, our microservices subject matter experts are always available for your consultation and to customers with paid Red Hat subscriptions.
For more information:
Red Hat OpenShift Application Runtimes (on developers.redhat.com)
Red Hat OpenShift Application Runtimes (product landing page)
Red Hat Enterprise Application Platform
Red Hat OpenShift Container Platform
Red Hat Application Modernization
저자 소개
Cesar Saavedra is a technical marketing manager with Red Hat.
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
오리지널 쇼
엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리
제품
- Red Hat Enterprise Linux
- Red Hat OpenShift Enterprise
- Red Hat Ansible Automation Platform
- 클라우드 서비스
- 모든 제품 보기
툴
체험, 구매 & 영업
커뮤니케이션
Red Hat 소개
Red Hat은 Linux, 클라우드, 컨테이너, 쿠버네티스 등을 포함한 글로벌 엔터프라이즈 오픈소스 솔루션 공급업체입니다. Red Hat은 코어 데이터센터에서 네트워크 엣지에 이르기까지 다양한 플랫폼과 환경에서 기업의 업무 편의성을 높여 주는 강화된 기능의 솔루션을 제공합니다.