Deploy Friday: hot topics for cloud technologists and developers

#22: MicroProfile — Optimizing Java for a Microservices Architecture

May 06, 2021 Platform.sh Season 1 Episode 22
Deploy Friday: hot topics for cloud technologists and developers
#22: MicroProfile — Optimizing Java for a Microservices Architecture
Chapters
Deploy Friday: hot topics for cloud technologists and developers
#22: MicroProfile — Optimizing Java for a Microservices Architecture
May 06, 2021 Season 1 Episode 22
Platform.sh

Defining and standardizing microservice architecture

Microservices break down application development into independent functional components. One of our guests, Emily Jiang of IBM, defines a microservice as “a piece of software that can do one thing and do one thing very well.” For building good microservice architecture, she recommends following the 12 Factor App methodology. The 12 principles in this methodology were created in an effort to guide development and help standardize Java microservices. Emily identifies some of them, such as:

  • Externalize your configuration
  • Resilient and faster start up
  • Faster shutdown

Another guest, Roberto Cortez of Red Hat, agrees with her definition, and also adds, “I believe that every team or company has their own definition of microservices. So when people sometimes say, ‘Whoa, how big should a microservice be? Should it be 10k bytes or this many lines of code?’ It doesn't really matter, right? What actually matters is what you do with it in your own organization.”

The monolith to microservices “lift and shift” can be tricky

Roberto makes it clear that moving from a monolithic architecture to microservices is more than just a technical change for organizations. “If you require microservices, it’s not only about the architectural design patterns that you have to implement, or all the technical aspects of microservices, it’s also a cultural change.” Instead of everyone working together on one thing, you’ll have teams working on separate pieces. They’ll need to communicate differently. “It's going to be a huge cultural impact for the company if your team is not used to working in that direction. And I've seen multiple companies fail, not because the technical aspect was not there, but because the company didn't have the culture to adopt that kind of methodology.”

Moving into MicroProfile

Eclipse MicroProfile is a collaboration of several open source projects, like Red Hat, which aims for more effective delivery of microservices to enterprise Java applications. Emily Jiang defines MicroProfile as the established programming model for microservices and cloud native applications, which includes APIs to achieve quality services for your application. She adds, “That's why MicroProfile is a great framework for doing microservices, because they can manage the quality services for you.”

Learn best practices and get started with Eclipse MicroProfile on Platform.sh

Platform.sh
Learn more about us.
Get started with a free trial.
Have a question? Get in touch!

Platform.sh on social media
Twitter @platformsh
Twitter (France): @platformsh_fr
LinkedIn: Platform.sh
LinkedIn (France): Platform.sh
Facebook: Platform.sh

Watch, listen, subscribe to the Platform.sh Deploy Friday podcast:
YouTube
Apple Podcasts
Buzzsprout

Platform.sh is a robust, reliable hosting platform that gives development teams the tools to build and scale applications efficiently. Whether you run one or one thousand websites, you can focus on creating features and functionality with your favorite tech stack

Show Notes

Defining and standardizing microservice architecture

Microservices break down application development into independent functional components. One of our guests, Emily Jiang of IBM, defines a microservice as “a piece of software that can do one thing and do one thing very well.” For building good microservice architecture, she recommends following the 12 Factor App methodology. The 12 principles in this methodology were created in an effort to guide development and help standardize Java microservices. Emily identifies some of them, such as:

  • Externalize your configuration
  • Resilient and faster start up
  • Faster shutdown

Another guest, Roberto Cortez of Red Hat, agrees with her definition, and also adds, “I believe that every team or company has their own definition of microservices. So when people sometimes say, ‘Whoa, how big should a microservice be? Should it be 10k bytes or this many lines of code?’ It doesn't really matter, right? What actually matters is what you do with it in your own organization.”

The monolith to microservices “lift and shift” can be tricky

Roberto makes it clear that moving from a monolithic architecture to microservices is more than just a technical change for organizations. “If you require microservices, it’s not only about the architectural design patterns that you have to implement, or all the technical aspects of microservices, it’s also a cultural change.” Instead of everyone working together on one thing, you’ll have teams working on separate pieces. They’ll need to communicate differently. “It's going to be a huge cultural impact for the company if your team is not used to working in that direction. And I've seen multiple companies fail, not because the technical aspect was not there, but because the company didn't have the culture to adopt that kind of methodology.”

Moving into MicroProfile

Eclipse MicroProfile is a collaboration of several open source projects, like Red Hat, which aims for more effective delivery of microservices to enterprise Java applications. Emily Jiang defines MicroProfile as the established programming model for microservices and cloud native applications, which includes APIs to achieve quality services for your application. She adds, “That's why MicroProfile is a great framework for doing microservices, because they can manage the quality services for you.”

Learn best practices and get started with Eclipse MicroProfile on Platform.sh

Platform.sh
Learn more about us.
Get started with a free trial.
Have a question? Get in touch!

Platform.sh on social media
Twitter @platformsh
Twitter (France): @platformsh_fr
LinkedIn: Platform.sh
LinkedIn (France): Platform.sh
Facebook: Platform.sh

Watch, listen, subscribe to the Platform.sh Deploy Friday podcast:
YouTube
Apple Podcasts
Buzzsprout

Platform.sh is a robust, reliable hosting platform that gives development teams the tools to build and scale applications efficiently. Whether you run one or one thousand websites, you can focus on creating features and functionality with your favorite tech stack