December 2, 2015 | Written by: Annette Robin
Share this post:
As of May 23rd IBM Bluemix Container Service now provides a native Kubernetes operations experience while removing the burden of maintaining master nodes. Kubernetes itself is based on the Docker engine for managing software images and instantiating containers. Get the details.
Although there is a lot of buzz around the microservices architecture, the monolithic architecture is still prevalent. But you can have problems when your monolithic application needs to scale and your developers must work on one codebase. The chances of failure are much higher and code reviews are more difficult on a large and complex codebase. That’s where the microservices architecture can help to overcome these challenges by splitting a monolithic application into many smaller services. Instead of having one giant codebase that all your developers can access, you have numerous small pieces of code managed by small teams.
The microservices architecture increases the autonomy of individual development teams within an organization, as new ideas can be developed and implemented without having to coordinate with operations or with the IT delivery team. This allows you to get new features or updates into the market more quickly. It also supports quick changes and short cycle times. But the microservices architecture alone is not enough to support a highly dynamic environment; the infrastructure that the software runs on must be very flexible.
Bluemix services that simplify microservices deployment
Platform-as-a-Service (PaaS) serves as that infrastructure by providing the building blocks to automatically deploy and provision microservices. IBM Bluemix, IBM’s PaaS based on Cloud Foundry, enables developers to rapidly create, deploy, and manage their cloud applications. It provides a critical foundation to simplify operations, determine security policies, and manage the health of the microservices architecture. All these things can dramatically reduce the time to create cloud applications and can improve the time to market.
Several Bluemix services can help simplify your microservices development.
IBM Containers provide an ideal environment for the microservices architecture, as it isolates containers to one process or service. Containers help in containerization of these microservices, so that each microservice can be deployed without interrupting the other microservices. You can also deploy new versions of services inside containers.
IBM Message Hub
IBM Message Hub is a fully managed, cloud-based messaging service, available on IBM Bluemix that supports the microservices architecture. In a microservices framework, applications are scalable and loosely coupled and the message hub allows you to create connections and tie the different services together. It allows your services to communicate using a REST API, or the Kafka API.
Continuous delivery and zero downtime deployment are essential for agile delivery. As your applications grow, the complexity of making application updates also increases. You must be able to update these applications in shorter cycles and ensure that software can be reliably released at any time using automated and repeatable software delivery. With Active Deploy, you can update your applications with zero downtime and minimal customer impact.
“How do you know what is happening with different parts of your application?”
This is a common question when working with microservices-based applications where each microservice instance generates its own set of logs. With the help of IBM Containers, you can monitor the health of your application components through centralized logging in Bluemix.
To monitor your microservices you need visibility into how your microservices and their dependencies are behaving. You can use monitoring in development, test, and production environments of each microservice. This service also can display the monitoring metrics in easy to use dashboards that can help you to identify the bottlenecks in the service.
IBM Bluemix is a crucial piece of the microservices architecture and can provide the foundation for any agile organization setup. Bluemix provides the tools necessary for successfully building, running, and managing your applications in the microservices architecture. Get started with Bluemix today.