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 Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
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
Partner Zones AWS Cloud
by AWS Developer Relations
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
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Software Design and Architecture
  3. Microservices
  4. Microservice Architecture on Kubernetes

Microservice Architecture on Kubernetes

Tips and tools for utilizing microservice architecture on Kubernetes.

Derek Weeks user avatar by
Derek Weeks
·
Aug. 14, 19 · Review
Like (13)
Save
Tweet
Share
21.04K Views

Join the DZone community and get the full member experience.

Join For Free

architecture-birds-building-2159549

Istanbul is home to architectural wonders of the ancient world, such as the Hagia Sophia and the Basilica Cistern, but today Istanbul brings us microservice architecture, where smaller is better.

Huseyin Babal is in Istanbul, where he is a DevOps Consultant with Kloia and the organizer of Docker Istanbul, NodeSchool Istanbul, and DevOps Underground (not held in the Basilica Cistern). At last year's "All Day DevOps" conference, he demonstrated how to implement a microservice architecture using Kubernetes. Huseyin’s talk was focused on an architectural overview rather than how to install Kubernetes.

Microservices divide your application’s functions into chunks that are independently deployable. Microservices are becoming an increasingly utilized tool in DevOps and CI/CD, and it is a popular subject at All Day DevOps. Kubernetes is an open-source platform to manage microservices. It is deployable on the cloud provider of your choice. AWS, Azure, and Google Cloud all provide managed instances of Kubernetes, and you can use kubespray to deploy Kubernetes in your datacenter. It helps you focus on the architecture rather than the infrastructure-level operations.

Huseyin begins talking about architecture at a high level. Most organizations need development, staging, and production environments, at a minimum. You can organize these in clusters in isolation, as you probably already do.

null

Or he suggests a better way — namespace-level isolation, along with this pro-tip, “Do not put all things in the default namespace, as it will be very hard to manage them in the future.”

Development Staging Production

Once your system is set up, you need to make sure you monitor everything. Prometheus is a tool you can use, and Huseyin walks through several of its capabilities and mentions an open-source tool to handle k8s-specific metrics automatically.

When you are ready to expose your application to the outside world, there are several options, such as a load balancer; however, creating a load balancer for each instance will be hard to manage and costly, so he recommends Nginx Ingress to automatically create a load balancer.

Of course, deploying Kubernetes, load balancing, and monitoring doesn’t mean you have implemented microservices. You need to have a solid architecture using best practices. Part of this is making sure the microservices can communicate well. Huseyin recommends striving to achieve the glory of REST.

null

Huseyin also covers using secrets, deployment scripts, project file structure, basic CI/CD with Kubernetes, distributed configuration, client code generation, and logging. Additionally, he recommends a couple of tools for daily Kubernetes management: kubectx for managing your Kubernetes context and kubens for managing your Kubernetes namespace, both provided by Ahmet Alp Balkan.

Kubernetes microservice Architecture

Published at DZone with permission of Derek Weeks, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How To Handle Secrets in Docker
  • Cloud Performance Engineering
  • Custom Validators in Quarkus
  • DevOps vs Agile: Which Approach Will Win the Battle for Efficiency?

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

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

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: