(I will write some texts about tech topics and I will write them in English. First, that’s kind of common in the tech world and second, it’s easier to connect with people around the globe if the text is in English.)
Soon, I will change my job and work in a new role within SAP. I will support customers with the SAP Cloud Platform , SAP’s Platform-as-a-Service-offer. One of the most common reasons for using a PaaS is enabling a development environment that is easy to set up and supports you in deploying and running your applications afterwards.
That brings me back to the world of non-SAP-software-development where I have some roots due to my Java history, but I haven’t touched that world too much in the lost couple of years working as SAP-consultant:
I for sure worked with big software systems every day, wrote some code and had my hands at database level. But all that took place in the SAP-proprietary world, so SAP Netweaver application server, SAP HANA database and the respective paradigms of software delivery and software architecture. I didn’t really need to think about mechanisms for Continuous Delivery / Continuous Integration / DevOps because we used the SAP transport management system for that. Software architecture was for sure an important topic as the systems landscapes are quite complex nowadays, but most effort was necessary in understanding and implementing the SAP standard architecture and not developing an own, customer-unique architecture where you have a variety of different techniques and programming languages in the bouquet of options.
So to come up on stage again, I will get my head in and hands on the hot topics around software development. Besides my new job, I will participate in a book about JavaEE-development where this newly gained knowledge will also be helpful. I figured out some main topics as starting point for my journey ( these are my current , very high-level understandings ):
- Microservices are described as software architecture’s answer to enterprise IT’s problem of hardly changeable and hardly maintainable software monoliths. Microservices are autonomous and can therefore be changed/enriched, tested and deployed on their own (if there are no changes in the interface, of course)… I will come to more details in a separate article
- DevOps summarizes the topics around methods for developing and deploying software. How can it be optimized, automatized ? I know Maven plays a role as one of the most-common tools, but there is a lot more to know about that.
- Docker is a technology that works similar to container management in the transport industry: standardized “containers” contain every piece of system environment you need to run your application. You can package everything to a container and move it to another location: Development can happen on the developer’s laptop because the docker is installed there. When necessary, the container can be moved to a server / Cloud solution / PaaS and the environment is exactly the same as during development.
I’m quite sure there is more to learn and to know, but that should be it for the beginning. Stay tuned.