Posts

What is Kubernetes?

Kubernetes (also known as k8s or “kube”) is an open source container orchestration platform that automates many of the manual processes involved in deploying, managing, and scaling containerized applications. In other words, you can cluster together groups of hosts running Linux containers, and Kubernetes helps you easily and efficiently manage those clusters. Kubernetes clusters can span hosts across on-premise, public, private, or hybrid clouds. For this reason, Kubernetes is an ideal platform for hosting cloud-native applications that require rapid scaling, like real-time data streaming through Apache Kafka. Kubernetes was originally developed and designed by engineers at Google. Google was one of the early contributors to Linux container technology and has talked publicly about how everything at Google runs in containers. (This is the technology behind Google’s cloud services.) Google generates more than 2 billion container deployments a week, all powered by its

Why, when and how to return Stream from your Java API instead of a collection

Introduction Collections are basic and commonly used data structures. Programmers from the beginning of their career learn how to use them to receive, process and return data. Getting more advanced in Java programming, they find stream() method to convert a collection into a stream and learn how to process data using some of the stream’s useful methods like map, flatMap or reduce. They could also notice that other APIs in Java return a stream too e.g. String.lines(), Matcher.results(), Files.find(), Random.ints(). If you have experience with consuming streams but haven’t produced them yet, this article is for you. I’m going to show you some scenarios where streams can be very convenient and examples on how to use them. Additionally, I shortly mention error handling and resource management. The article is based on standard Java library java.util.stream. It’s related neither to reactive streams nor to other implementation of streams like e.g. Vavr. Also, I’m not going to cover a

5 Kubernetes trends to watch in 2020

It’s been a busy year for   Kubernetes, marked most recently by the release of version 1.17, the fourth (and last) release of 2019. Many signs indicate that adoption is growing – that might be putting it mildly – and few omens suggest this will change soon. Organizations continue to increase their usage of containerized software, fueling Kubernetes’ growth. “As more and more organizations continue to expand on their usage of containerized software, Kubernetes will increasingly become the de facto deployment and orchestration target moving forward,” says Josh Komoroske, senior DevOps engineer at StackRox. Indeed, some of the same or similar catalysts of Kubernetes interest to this point – containerization among them – are poised to continue in 2020. The shift to microservices architecture for certain applications is another example. “2020 will see some acceleration by organizations for transformation to a microservices-based architecture based on containers, from a serv

10 Things Java Programmer should learn in 2020

1. DevOps (Docker and Jenkins) This is one area where I am seeing a lot of traction last year as more and more companies are moving into DevOps and adopting continuous integration and deployment. DevOps is very vast and you need to learn a lot of tools and principles and that's what overwhelm many developers but you don't need to worry. I have shared a DevOps RoadMap which you can follow to learn and master DevOps at your own speed. This means if you are an experienced Java programmer with a passion for managing the environment, automation and improving overall structure, you can become a DevOps Engineer. If you are looking for some awesome resources then Master Jenkins CI For DevOps and Developers is a great course to start with, particularly for Java developers, and if you want to learn more, this DevOps Roadmap is perfect companion. 2. Git Git and Github have been around some time and while I have used Git in past with Eclipse, but I am yet to

“Let’s use Kubernetes!” Now you have 8 problems

If you’re using Docker, the next natural step seems to be Kubernetes, aka K8s: that’s how you run things in production, right? Well, maybe. Solutions designed for 500 software engineers working on the same application are quite different than solutions for 50 software engineers. And both will be different from solutions designed for a team of 5. If you’re part of a small team, Kubernetes probably isn’t for you: it’s a lot of pain with very little benefits. Let’s see why. Everyone loves moving parts Kubernetes has plenty of moving parts—concepts, subsystems, processes, machines, code—and that means plenty of problems. Multiple machines Kubernetes is a distributed system: there’s a main machine that controls worker machines. Work is scheduled across different worker machines. Each machine then runs the work in containers. So already you’re talking about two machines or virtual machines just to get anything at all done. And that just gives you … one machine.

Big Data and The Future of Driving

In the past, the human mind has been singularly responsible for making decisions about automobile design, manufacturing and safety regulations. The influx of big data, however, coupled with the enhanced computing capabilities and constant connectivity of AI technologies, has changed the game. These technological developments have surpassed the capabilities of the human mind and revolutionized the world of driving. From city design to manufacturing, here, we will explore how big data is used to make important driving-related decisions: Automobile Innovation and Advancement Automobile design and manufacturing has always been a fast-moving business, with major manufacturers eagerly racing to raise the bar in efficiency, safety, and environmental-friendliness. The advancements in computing capabilities and big data availability, however, seem to have further quickened the rate at which this innovation is occurring, as well as broadening the horizons on the type of innovation. To

Best way to learn Java programming

Having said that I am writing this post dedicated to all my young (or I should say beginner) fellows who want to attain a certain level of proficiency in java technology and somewhere would like to take my advice on this. Keep in mind that if you do not like the way to learn java, I am proposing in this post, then just ignore me. Period. OR better, suggest me what you think is the better way to learn java fast or easily. Here I am assuming the people reading this post will be, who are very new to language, so I will start by listing first thing first. Make sure you have prepared your Java development environment ready i.e. You have installed JDK/JRE and you have an IDE like Eclipse. 1) Learn the language basics This is the first step for very obvious reason. If you don’t know the basics then you will never know either what to do next or what you are doing wrong. Initially, I do not expect from you to become the master of all java basic stuffs like keywords, core concepts o