DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

How does AI transform chaos engineering from an experiment into a critical capability? Learn how to effectively operationalize the chaos.

Data quality isn't just a technical issue: It impacts an organization's compliance, operational efficiency, and customer satisfaction.

Are you a front-end or full-stack developer frustrated by front-end distractions? Learn to move forward with tooling and clear boundaries.

Developer Experience: Demand to support engineering teams has risen, and there is a shift from traditional DevOps to workflow improvements.

Related

  • Cloud Migration Checklist
  • What Are the 7 Rs of Cloud Migration Strategy?
  • Unveiling the Application Modernization Roadmap: A Swift and Secure Journey to the Cloud
  • 11 Observability Tools You Should Know

Trending

  • How I Built an AI Portal for Document Q and A, Summarization, Transcription, Translation, and Extraction
  • When Agile Teams Fake Progress: The Hidden Danger of Status Over Substance
  • Data Storage and Indexing in PostgreSQL: Practical Guide With Examples and Performance Insights
  • Multiple File Upload is Easy in HTML5
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. Microservices Using Pivotal Cloud Foundry

Microservices Using Pivotal Cloud Foundry

Learn the value that building microservices with Cloud Foundry can bring to your application development process.

By 
Raghuveer Bhandarkar user avatar
Raghuveer Bhandarkar
·
Dec. 14, 15 · Tutorial
Likes (3)
Comment
Save
Tweet
Share
10.0K Views

Join the DZone community and get the full member experience.

Join For Free

Have you ever faced the following issues in your projects:

1. Roll Out Features Quickly to Production

The customer needs very minor changes to functionality/UI and would like that to be rolled out at the earliest possible time because they have a higher business impact. However, we are not able to deliver it, because even though it is a small change, we have to go through the whole nine yards of a release processes involving full regression, etc.

2. Move Your Application From One Datacenter to Another

You need to move your application to a different data center in a different geography due to various reasons (like legal, merger and acquisition etc). This might seem to be a herculean task to you. More often than not, you would get caught in a web of discovering (often surprising yourself!), a myriad of system configurations spread across file system, database, even worse within the code!!!. This is only going to make your task even more daunting.

3. Scale Out Your Application Based on Modules

You might observe that few modules of your application face a huge load compared to others, and you might want to dedicate more resources to these modules instead of scaling out the entire application. However, you are not able to do this at a module level, thus wasting money/resources by scaling the entire application.

Is there a better way out???

Think Microservices!!

Microservices help us break down the application which was a monolith hitherto, into smaller deployable units. So no more, one huge .ear  file having large number of war files. Typcially, they are built as stateless REST services providing a certain modular functionality. And each of these services could be built and deployed individually.

This loosely coupled architecture would allow us to seamlessly develop and deploy individual micro services quickly and be truly agile.
So Micro Services will try to address issues #1 and #3 above.

So, will just breaking down into smaller microservices serve as a magic bullet and solve all the problems?

Well, not really. It might introduce complications and more problems, unless we manage it better.

How Do You Manage Microservices?

Use of a PaaS (Platform As a Service) would help us to manage the microservices environment better. In this article, I would dwelve upon Pivotal Cloud Foundry (PCF), which is a PaaS offering from Pivotal Inc. which could be deployed on top of any IaaS offerings like VMWare, AWS etc.

Why Pivotal Cloud Foundry?
1. PCF supports a large number of run times including Java, Python, PHP etc. So there is no vendor lock-in and you can pretty much develop using the language of your choice (and which is supported by PCF).

2. One of the principles to be followed here is to isolate configuration from code. The same code/deployable artifact (like .war for example) should work in all environments without change. (This principle would address issue #2 mentioned earlier in the article) PCF provides a configuration server which would serve as a centralized server providing all the system configurations, thereby allowing the platform to spawn new instances of the application seamlessly.

3. PCF provides a wide range of services through marketplace. It includes (no sql databases like Mongo DB are provided a service), messaging system (like Rabbit MQ) etc. These services ease the development and deployment/configuration efforts. Even more, these services could be bound to our application with a single command. Look ma, no hands!!

Overall, PCF appears to be a suitable solution for quickly building and deploying microservice applications onto the cloud.

microservice Cloud Foundry Cloud application Web Service

Opinions expressed by DZone contributors are their own.

Related

  • Cloud Migration Checklist
  • What Are the 7 Rs of Cloud Migration Strategy?
  • Unveiling the Application Modernization Roadmap: A Swift and Secure Journey to the Cloud
  • 11 Observability Tools You Should Know

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • [email protected]

Let's be friends: