In a competitive world, adaptability, agility and revenue growth are key to survival. Marketing teams have to be imaginative and come up with ideas to stay competitive and even stand out. This implies a constant modernization of production tools throughout the chain. This modernization concerns directly or indirectly existing or future software. The faster this modernization is done, the more agile the company will be and the faster it will see an increase in revenue. To do this, the period between the discovery of an idea and its implementation must be reduced, which is why software development cycles must be fast.
What I’ve noticed in companies since I specialized in the developer experience is that many developers are assigned to activities that are not related to business application development but rather to automate the various tasks from source code to production execution by integrating and maintaining open source tools or even to develop them. I also notice that despite investments in innovative technologies such as containers, developers continue to develop in the same way as before and do not take advantage of the benefits they bring.
Development velocity can be achieved at different levels:
- The rapid integration of developers into new projects, so that they are quickly operational
- The use of standardized templates that meet the company’s requirements in order to harmonize and make the developments compliant without the developers having to worry about it
- Use of existing open source components as a basis, thus avoiding time-consuming reinvention of the wheel
- Automate and standardize the path from development to production, thus reducing development and release cycles
- Full focus of the developer’s resources on business-related development
- Independence from the underlying infrastructure so that developers develop in the same way regardless of the underlying infrastructure, no time is wasted adapting their development to infrastructure
- On the division of applications into easily scalable micro-services in order to be able to make applications evolve more easily and more quickly
- Training developers in new technologies and new ways of developing
- ….
Beware, this need for speed must not be divorced from security needs. The exploitation of a security flaw can have considerable impacts on the durability of the companies that are victims of it. Especially since the contribution of Open Source components can lead to security flaws that can appear a few years later, as history has already shown. Being able to detect them at the time of production and afterwards, thus allowing mass application of patches, is essential.
In order for this velocity in development cycles to be effective in all circumstances, it is necessary to be able to disregard the infrastructure and allow the possibility of choosing a provider according to one’s needs and constraints. Bring the same experience to developers, whether they develop on private clouds and/or public clouds.
VMware Tanzu was launched with this in mind:
- Improve the developer experience to increase efficiency and velocity.
- Improve the operator experience by harmonizing the management of the administration and security of the various infrastructures.
- Support and train developers and operators to take full advantage of these new technologies.
VMware Tanzu is not a product but a portfolio of modular solutions so that you can choose only the modules you need according to your needs. It can be logically divided into four large families: Build, Run, Manage and Labs Services and corresponds to the entire DevSecOps chain.
Build
Spring : The most used open-source Java framework on the market. It allows to accelerate the development of new projects thanks to “initializers” or service connectors. The list of advantages is so impressive that I will only describe two examples. If you want to create a web server, you don’t need to start from scratch, there are skeletons already designed and easily integrated in your code, you just need to customize it. Another example, if you need to connect your application to a database without knowing if it is going to be a MySql or Postgres database, there are already designed connectors standardizing the connection modalities and allowing to list, modify or delete data without having to know the SQL language or the specificities related to the type of database.
Tanzu Application Platform: Will automate the transition of a source code to a Kubernetes cluster (regardless of the publisher) and centralize the development templates. This will drastically reduce development cycles, release time and integration of developers to new projects.
Tanzu Build Service: Will simplify the construction of a source code in container image (module already included in Tanzu Application Platform). This will industrialize and harmonize the creation of container images, thus saving time and limiting the risk of errors. Developers no longer have to maintain configuration files.
VMware Application Catalog: Will make available to developers images of open-source software that have successfully passed security tests, these tests will continue to be done throughout the life cycle of the image and a new image will be provided automatically if afterwards a vulnerability is detected by the community. Developers will only have access to selected and secure open-source software, avoiding the use of software with security flaws at deployment time and throughout their use.
VMware Data Services: Open-Source data services with VMware support and enriched with enterprise features. MySQL and Postgres classic SQL database in DataBase as a Service mode, Greenplum massively parallel database, RabbitMQ messaging and streaming broker for applications and GemFire in-memory data caching system.
Run
Tanzu Kubernetes Grid : A multi-cloud Kubernetes cluster with simplified and consistent lifecycle management. Ideal for creating Kubernetes clusters on demand in the same way whether it is vSphere based or hyperscaler based. This will allow the same team to have the same skill set capable of managing Kubernetes clusters on different clouds.
Manage
VMware Tanzu Service Mesh : Will encrypt and simplify communications between services of the same application that are located on different Kubernetes clusters even if they are clusters of different vendors and/or on different clouds. An application will be able to start on a Kubernetes cluster and then be distributed on different clusters even on different clouds without having to modify its configuration. This saves time and intervention when the services of an application must be moved or distributed on different clouds.
VMware Tanzu Mission Control : Central point of administration and lifecycle management of multi-vendor Kubernetes clusters including backup/recovery and security policies. More secure Kubernetes clusters by harmonizing security policies across all clusters, even those from different vendors and spread across different clouds.
VMware Aria Operations for Applications : Observability solution from the application to the infrastructure by centralizing logs, metrics and traces for a better respect of service levels. This will facilitate incident resolution in case of failure or performance degradation thanks to a correlation of incidents from the infrastructure to the development.
Labs Services
Labs Services has been assisting customers for over 30 years in the development of new applications and the transformation of existing applications so that they can take full advantage of new technologies and be more agile in their evolution.
Labs Services helps customers install Tanzu modules by applying best practices to simplify their operational maintenance.
VMware Tanzu for Kubernetes Operations comprend Tanzu Kubernetes Grid, Tanzu Mission Control Tanzu Service Mesh, et Aria Operations for Applications
We have just seen that the developer experience is important for the velocity of software development linked to the company’s business, thus promoting agility, adaptability and growth in the company’s revenues. Operators, on the other hand, must provide resources to these developments from conception to production through testing, quality and integration cycles. For these operators to be as efficient as possible, they must be equipped with centralized administration tools, compliance and security policy management, and observability tools that can operate independently of the underlying infrastructure provider. For developers and operators to be as efficient as possible, it is essential that they are well advised and well trained in these new technologies to get the most out of them.
Leave a Reply