What fascinates me about Kubernetes?

What fascinates me about Kubernetes?

Social Media, for me, is a space full of mysteries 😊 @Ewa navigates here much better, but I also occasionally allow myself some publications. And although I definitely prefer concrete work on the backend to glamour, 😉 you know very well that what is most appreciated is what you see on the front end. As the “founding father” of our organization, it therefore falls to me to speak up from time to time and direct your attention to what I do with my team 😀

The opportunity to do so is perfect, because next month it will be 2 years since we got seriously, as a team, involved in the Kubernetes project.

During this period we have not only carried out some interesting implementations of VMware Tanzu Kubernetes (both “with vSphere” and TKGM versions), but also migrated several sizable applications to these environments. We are also developing our own modules for “Keight’s”😉: yes, that’s because we are creating our own Container Storage Interface (more about it in the future) and maintaining our own K8s platform, which has managed to leave microK8s and switch to Vanila K8s (more about that in the future, too).

And what is so fascinating about it? Oooo… here I would have to go into a decent way and list its features, describe them, justify them, etc. etc. I thought to myself that it would be better if I supported myself with the Team 🙂

I wrote down the following statements during the interviews 1:1, natural, written down as they were spoken, without correction. Read.

Kacper

What fascinates you about K8s?

What fascinates me about K8s? That this project is so big and open source. I like that the code is open and you can look into it. You can see each component with your own eyes, not just in theory. I really like the documentation: extensive explains everything. Kubernetes changes very quickly and you have to stay up to date, but it has super mechanisms with versioning. You can move forward without losing compatibility. I really like the range of possibilities that K8s gives. We can practically automate everything. And at the same time be sure that HA will be provided. This kube-apiserver (and more key components, ed.) is replicated on control plane nodes. Transparency of operators and resource management. This is unified by APIs and objects that are held in etcd. Anyone who is interested in creating a solution based on K8s can create their controllers/operators that allow flexible state management of such a cluster.

What fascinates me is that it (K8s) gives you tools that allow you to interact with the components of the physical nodes and the physical infrastructure. It’s this flexibility that allows you to create environment-specific solutions. I’m thinking of CSI, CNI, Cloud…. just can’t remember what it was called….interface for integration with cloud solutions.

Well, and the whole idea of this technology being based on containerization. And the idea, to create solutions that are stateless and replicated, that are also fault-tolerant. (Thanks to which) we are able to create upgrade canary deployments using K8s mechanisms, which ensure smoothness in the operation of applications and the lowest possible downtime.

Błażej

Are you fascinated by K8s?

Of course I am.

Why?

The answer is one. Because of its complexity. I’m fascinated by the complexity of this whole environment, but also, how it’s being developed all the time. I haven’t had much to do with it yet, but as I’m getting to know it, it’s interesting to see how many management tools there are directly in K8s. How well provisioning is solved, how super the API is used and the fact that we can gather information with it and control what’s going on. It’s very fascinating how it all works together. Also how the resources are assigned, how if something is missing, how they work together so that everything works and doesn’t crash. All the orchestration makes that it all plays together….

The management tools are interesting, and that you can create your own.

Provisioning is interesting, how much you can know about what’s going on, how to control it, what’s happening to it (the application), how there are some corner cases. There is also good feedback, what is worth controlling and what is worth fixing (improving).

This is not a tool that can be learned in a moment. It requires a lot of knowledge, gathered in practice and in theory, to fully understand it. And something that is difficult to understand is certainly interesting 😉

Lukas

Are you fascinated by Kuberentes?

I am fascinated by its capabilities.

Why?

(…long silence…) I like the change in approach to running applications relative to previous patterns…. and that the limitations it imposes allow you to create interchangeable modules. You can write a CSI driver and any application that supports it will work, the same is true for networking, service mesh, it doesn’t have too many components by itself, but adding external components is simple-easy. Even these components can be interchanged which is important, e.g. microK8s uses dqlite instead of etcd. The architecture is very nicely done, it allows for virtually any expansion of capabilities. That is, we don’t just have containers themselves, but also, for example, VM management, K8s operators and objects. Well, and I think it’s very well done, because it was done by Google people, after they did their own soft yet without containers, I think Borg, and the architecture is done in such a way that those things I mentioned before allow extensibility, well, and it’s open source. And it’s well thought out.

And how does Tanzu fit into this?

Tanzu expands K8s from all possible angles. And everything that can be done (in K8s ed.) Tanzu does. Going from the bottom up: storage (CSI driver to consume vsphere disks), networking, the whole Antrea integrated with NSX, which allows for network observables, even between K8s’ clusters, well and loadbalancers, you have management, sort of a level up, It’s awesome, because even the cluster supervisor is also K8s and a thing that creates clusters, it’s an operator. So the supervisor cluster itself is something of a K8s of K8s. Easy to manage, upgrade, destroy, it’s automated. To manually stage it to make it comparable is very hard, because it’s technically complicated. You have to know a lot of components and how to connect them. And it stands on the shoulders of giants, namely stable vSphere.

And how would you relate it to Sarkan?

We have the storage done. We don’t have all these components. We don’t have supervisor cluster, but when we will have it, it will be compatible not only with vSphere. But our solution only requires disks and Ubuntu, and as long as these are maintained, it all works out of the box. To have Tanzu then you must have compatible servers and storage. So for now, if you want to have it mainly for storage, then Sarkan will be simpler and cheaper.

And what is so wow?

MP that we write to Flopsar 😀…but with K8s…. this compatibility, as you have these components, the application will work everywhere, on any distribution, as long as it is not somehow messed up, in the sense of specifically adapted.

Arek

Are you fascinated by Kuberentes?

Of course I am 🙂

And what fascinates you about it?

…starting with containerization and microservices and moving on to K8s…because sort of the whole topic is fascinating. And K8s gives a lot of support for management. It can be divided into different tiers, which fascinates me. Parts: operator, developer, ecosystem, community. From development to just management, scalability, this reliability in accessing systems, from operator’s point of view: monitoring, optimization even in terms of cost, just how we have scalability, it’s hard to estimate, and with K8s we can optimize it. In terms of scalability, as we have an application that is unevenly loaded, K8s allows, where there is an increased load to handle it…this is a very cool feature of K8s…

I don’t know what else…. it also certainly simplifies application deployment. And here with the support of microservices, we are able to divide the team into smaller teams and we can develop them in parallel….automating various activities has a big plus. And it’s cool that we manage (resources ed.) in a declarative way. We define the requirements of the application and K8s provides us with that….don’t know I think I’ve exhausted…

But what is mega awesome, so much that you would say: “how brilliantly figured out!”?

Hmmmm… … … well, I guess, it will be so general …. But the management of these applications. And operators and security mechanisms.

Benny

Are you fascinated by Kuberentes?

Yes.

Why?

Um… Because it’s a cool tool… It makes it possible to… hmmm… it sort of… just works… Provides a lot of cool stuff for both… hmmm… some hobbyist application deployment, as well as for some large enterprise clusters. It lets you not worry about things like loadbalancing and scalability. It takes care of the big stuff for the user. Admittedly, the entry threshold is quite high and you have to learn a lot, but once you grasp the basics, you can easily do deployments. It takes care of rollout and rollbacks, if something doesn’t go right in deployment, K8s undoes it. Updating applications is much more seamless. All in all, too, technology has a way of liking to break down, services and hardware break down. And the K8s’ ability to selfheal allows it to monitor itself, check what’s going on in the app and possibly tries to fix any problems itself. We don’t have to do anything and K8s does it for us…In short, it’s a cool tool simply put.

But is it any awesome?

Well it is awesome…. what to say…. 😀… the thing that blows my mind is that this solution works brilliantly given how complex it is 🙂 …. or the ability to extend its functionality, that we can literally create custom K8s resources and act on them as if they were the default ones…. great thing…. creating native K8s applications that run and communicate with the K8s cluster…. that’s an awesome thing 🙂…

Piotrek

Are you fascinated by Kuberentes?

All in all, I was somehow not very familiar with K8s. Although during my first assignment on Sarkan, the guys let me get acquainted with it and I even told them that I was shocked at how it works. And not having seen it before, I was able to say that it works cool.

Why does it fascinate you?

Hm… …I think it’s cool that we don’t have to personally watch over the containers, the whole applications built from those containers. He does it for us. So that there is no interruption when something breaks, he will stage it again. What else? It’s cool that we can specify the processing power and RAM memory for these containers, and I guess that’s it. It’s nice that such a tool was created and you don’t have to do all this manually.

But what is so really awesome?

Well then on voffice (virtual all-day collaborative work using Teams, because we work remotely – editor’s note)… I said I was shocked, because when I removed the metadata server, and he changed the leader himself, then put up a new server himself…. I didn’t know it worked like that yet, maybe that’s why…. for now, I think so much of what was so awesome…. I guess…

To summarize the opinion of colleagues, it fascinates me because it has:

  • rollback mechanism for applications deployed on it
  • built-in HA and scalability
  • modularity of components and running services
  • “transparency” of complex architecture
  • great documentation
  • ability to flexibly extend, easily add functionality for specific use-cases
  • observability
  • self-healing
  • Personally, “my favorite” is Service Mesh 🙂 .

And what fascinates you about Kubernetes that I haven’t cited here yet?

Happy New Year 2023!

Happy New Year 2023!

On the occasion of the New Year 2023, we wish all our Customers, Partners and Supporters health that will give you a lot of willingness and energy to act and courage in fulfilling your dreams and following your passions.

And on New Year’s Eve, great fun and crazy moments that will allow you to escape from everyday life. Without alcohol and not until the morning, so that our wishes come true the next day 😉

Team Indevops

How to substantially increase performance and quality of IT work by rejecting e-mail communication

How to substantially increase performance and quality of IT work by rejecting e-mail communication

How to improve the effectiveness of project implementation and completion?  It is simple – give up e-mail communication. Sounds like a heresy? At a first glance it may seem that without e-mails everything will end up in an absolute chaos and the project will fail.

How to reconcile all the stages of service performance, from planning, through programming and testing, to implementation and maintenance? How to make teams communicate effectively and quickly as well as improve their performance instead of reducing it?

Corporate e-mails? No, thanks!

Until recently, specialists taught effective e-mail communication. Arrangements, conditions, plans, discussions, setting tasks and goals – all this in writing, in black and white. This used to be the way. E-mails reigned and were much more convenient than telephone arrangements or notes from meetings. They WERE.

This is a thing of the past. Now it is time to introduce better service and project management systems as well as a new and more effective work methodology. At INDEVOPS, we replaced e-mails and the whole related mess, among others, with Easy Redmine, a project management system. It is a powerful tool which considerably simplified the performance of even the most advanced and complicated services.

The Kanban board allows us to divide each project into single tasks which we perform in a given time (the so-called sprints). We have been testing this product since 2017, and there is virtually no chance for a holdup, somebody failing to receive something or some information about each stage of the project gone missing. This does not happen.

Easy Redmine helps us to visualize tasks within the project on a timeline. We can easily plan, set project milestones and subtasks, assign tasks and add notes to each performance stage. A short glimpse is enough to understand what the project is about and how advanced the works are.

This is what the work based on DevOps methodology and Scrum process looks like.  Not only is it agile, but also exceptionally effective for both the development team and the customers.

Endless irritation

We all know that effective communication is in 80% responsible for any successful implementation and even more in providing continuous services. E-mails did not meet our needs. We plunged into chaos.

This was not the way we wanted to serve our customers. After all, knowledge and experience are all part of the success. Available tools which ensure better work performance, safety and transparency also matter. We want to improve our everyday work in order to provide our customers solely with the best quality.

When we analyzed our projects, it was difficult to find the moment when things went wrong. E-mails did not give us such possibility. Our frustration kept growing and this sparked a permanent change. And for the better.

In 2017 we gave up standard communication methods such as e-mails. We use e-mail boxes only for occasional external and customer communication.

Which engine do you invest in at your company?

Particular tools serve as components of our company “engine”. When taken together, they make INDEVOPS a fast, safe and premium class car. You know – better performance, faster acceleration, fewer breakdowns and… lower costs. Nothing but benefits.

On the other hand, you can endlessly invest in repairing old, unreliable methods and wonder why projects contain errors. Sometimes things go lost, or there is a data leak, or somebody does not receive things on time. Costs are growing and the customers are even more frustrated. Is this was we aim at?

Fast or well? Maybe both?

In everyday work we combine carefully selected tools and work methods with our skills, experience and positive approach. This configuration guarantees quick and effective performance of tasks, exchange of knowledge between departments and learning. The perfect communication.

Quick sprint to reach the goal

The Scrum framework is our guidepost. It consists of individual sprints of our teams which resemble a task relay. Each stage is carefully planned and discussed.

Thanks to this approach we are able to complete many tasks at the same time, communicate effectively and quickly solve current problems. It gives us comfort and flexibility to work more effectively and achieve more.

Appropriate project management means an efficient team

Each project includes a set of tasks, and each of the tasks is combined of activities which we list and complete step by step. Classic customer service management methods highly limit communication and creativity.  As a consequence, you lose precious time and find it difficult to meet the deadlines as you constantly fight errors and omissions.

In traditional companies one project is usually performed by a single person. If an obstacle appears, they have to ask for help, explain and describe the entire process. It takes time and causes irritation.

INDEVOPS – simply efficient

Such frustration almost never happens here. By using appropriate tools such as Scrum and Easy Redmine, each team member has insight into all tasks, subtasks, milestones, deadlines, explanations, activities and notes, which show our way towards the goal. If needed, they can quickly join the process and help.

We do not waste time on explanations, meetings or calls. Everything is clear and easily available in the form of notes in the project management system. Each team member may follow progress and activities performed on an ongoing basis.

Also the project manager’s task is easier. They do not have to ask such questions like: “What stage are we at? What has already been done and what is to be done yet?”. Everything is updated in the system on an ongoing basis.

It also ensures a more effective customer communication. When they call to ask about the progress of the project, a quick look at the information in the system is enough to find out the answer. This is why we are so effective as INDEVOPS and our customers obtain high-end quality services without wasting their time.

A company that is constantly learning

Thanks to this model of internal communication we constantly learn from each other and exchange experiences at INDEVOPS.

By sending project messages and analyzing each stage of the process, we quickly discover potential errors and failures. In this way we create a pool of good practices and our own solutions.

Solutions not for everyone

Scrum and DevOps offer an effective approach towards project completion, but not for everyone. Open and honest team communication is necessary.

If you inspire a rat race and create an atmosphere of constant competition, these tools will be of no use. Conservative e-mails and formal arrangements will do better. And the competitive spirit will simply prevail over the good of the team and customers. Ultimately, it is the promotion to a higher post that matters the most.

Only real and open team work with people who are able to both share their knowledge and accept criticism constitute conditions under which you may to set ambitious goals. You cannot achieve your greatest goals and dreams on your own. This may happen only in a team.

Tools are not everything (but without tools everything fails).

They help to improve work. They increase safety and automate processes. Shorten the project cycle. But without a knowledgeable and skilled team, they are only tools. They are worthless.

Therefore, at INDEVOPS we care mostly about people. Both the employees and the customers. Before each project we carefully examine the customer’s needs. We try to establish the root cause of the problem. What we offer to our customers are not regular services that are easily available on the market. These are professional solutions which provide measurable business advantages.

The tools are to serve us, but the key aspects are skills, approach and willingness to work in a team. No system or program can replace over 10-years experience and knowledge in IT monitoring and automation that we have.

If you want to check how effective we are, let us know how we can improve your IT activities. Regardless of whether you need monitoring or consider automation. We will be happy to help contact us! >

In solidarity with Ukraine!

In solidarity with Ukraine!

We don’t like to break the silence on our Social Media. However, nowadays it is more important to help people in need and set a good example. We encourage our partners and the companies we work with, to provide long-term support.

As a gesture of solidarity with Ukraine:

  • We donated 5000 PLN to the account of Polish Humanitarian Action.
  • Countless kilograms of food, chemicals, bedding, blankets and other useful items were donated to local collections. And they still get there.
  • There were also people from our company who “dropped everything and went to help refugees across the border”, just a few days after the war broke out💗💪.

We call to all SMB – help as much as you can ❤💪

Automated cost allocation in IT environments

Automated cost allocation in IT environments

Access to data on fees for the use of IT systems allows you to answer the question “How much does it cost?”. But with the help of a module, where you can find reports and billing statements, you will also be able to make key decisions about your IT environment. The module will prove equally invaluable when looking for savings, planning a budget or when you want to compare offers from different suppliers.

Why is it worth accounting for costs in IT environments?

The answer to this question is simple. Each participant in the process wants to know how much and for what exactly they are paying. It can be assumed with a high degree of certainty that the question “How much will it cost me?” is going to be raised at some stage of decision making (e.g. budget planning for a new system). It is important to determine at the outset whether migration to a new environment will generate savings for the business.

Cost allocation in IT environments can be considered from two points of view: from the IT infrastructure owner’s standpoint and from the perspective of the end user or the ordering party.

Benefits to owners or suppliers of infrastructure

What will the owner or supplier of IT infrastructure gain thanks to the implementation of the VMware vRealize Operations Manager (vROPS) module and a payment policy in VMware vRealize Automation (vRA)?

The most important benefits include:

  • Defining a pricing policy flexibly – it can be individually negotiated, while also taking into account the type of application, environment (production, test, development), as well as location.
  • Options to verify the current pricing policy based on financial performance.
  • Access to reports which allow you to identify entities generating the highest costs.
  • If the contractor has access to official price lists of other cloud providers, it is possible to perform comparative simulations for a single application or a given client.
  • An option to generate reports and statements of charges which can be attached to end-of-month invoices.
  • Fees for using a virtual machine are automatically determined based on the costs associated with the cloud infrastructure (e.g. for internal entities that use the same infrastructure).

Benefits to end users or purchasing entities

How can a company ordering or using a cloud environment take advantage of access to cost information?

End users can:

  • make informed decisions on whether to continue using or to opt out of services based on quantified cost and fees data, such as reports and detailed views;
  • check accounts on an ongoing basis in any time interval, e.g. daily, monthly or yearly;
  • compare charges over a given billing period, e.g. annually;
  • estimate its daily or monthly cost when planning a new system;
  • easily plan the budget for the coming months;
  • analyse the fees for cloud environment and compare them with the official price lists of other providers;
  • look for savings on the CPU/Memory/Storage level if it turns out that the current architecture of the environment is overestimated in relation to the actual needs;
  •  easily control expenses at the level of a particular, internal entity or application thanks to constant access to statements of current charges.

How do we do it at INDEVOPS?

Defining a pricing policy

Formulating a pricing policy underlines our operations within vRealize Automation. This is the very policy that enables us to settle entities precisely. It includes rates for CPU/Memory/Storage and any additional services (such as the use of licenses or IT support).

In the case of complex systems with very large budgets, an approval of senior management is often required on the part of the client. In such situations, we define a pricing policy which subjects the deployment of a new system to its price.

Cost dashboards for infrastructure owners

We utilise vRealize Operations Manager as a cost, reporting and billing module. All expenses that the owner of cloud infrastructure incurs in connection with its maintenance are entered into the cost module. These may include licence purchases, charges for electricity used e.g. for cooling servers, insurance, IT support services, purchasing software and additional applications, creating backups, renting space in the server room, etc.

The reports we prepare contain a summary of costs per single virtual machine, host, cluster, data center or location. Service providers can quickly see what the profit-to-cost ratio is, which allows them to measure and analyse business profitability and make informed decisions about further investments.

Billing information for final users

Final customers using the vROPS module have access to statements where they can check the current amount of fees on an ongoing basis. In this module, they can also view the number of systems currently running, along with the costs generated by them.

Billing statements are also very helpful when systems have been overestimated at the design stage and savings are required. The module gives end customers access to historical data, thanks to which they can compare charges from different settlement periods.

This part of the module also includes official price lists of the largest cloud providers operating on the market, such as Amazon (AWS), Microsoft (Azure), Google (GCP) – this is a valuable source of information for people who want to compare service offers.

Do you already know why allocating costs to virtual machines is one of the most important aspects of IT automation? If you have any questions about it, please get in touch.

We will be happy to help!