Virtualization & Containerization

Today’s OS virtualization technologies are primarily focused on providing a portable, reusable, and automatable way to package and run apps. The terms application container or simply container are frequently used to refer to these technologies. As the enterprise gravitates toward private clouds, particularly Linux-based clouds, an integrated container stack will be crucial for the delivery of applications and microservices to a diverse workforce. Containers are poised to emerge as an integral component of the cloud, which itself is on the way to dominating IT infrastructure both within and without the data center. Virtualization laid the groundwork for this transformation, but containers will kick it into the high-speed, highly diverse data environment that will propel data productivity for another generation.

DevOps

DevOps promotes a set of processes and methods for thinking about communication and collaboration – between departments of development, QA (quality assurance), and IT operations. In some organizations, this collaboration involves embedding IT operations specialists within software development teams, thus forming a cross-functional team – this may also be combined with matrix management.

Working: do it multi-thread but beware the wait flags. Do not wait approval to do great things. Patch even if not perfect, do not wait for approval, failure is good. Work as a reactive intelligent unit, not on automation pilot. Automation pilot is also when you are too organized!

“In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify private state, but can only affect each other through messages (avoiding the need for any locks).”

On software development there are laws on design and productivity, one of it is Conway’s law, and others applicable from the natural world, others really counterintuitive.

Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.

— M. Conway

Corollary: organize your work, your teams, your organisation to work decoupled, decentralised in an unserialized way and feeling happy.

Online Development Environments

Part of the Industry 4.0 the software developing tools are advancing in online, containerization, collaboration environments and providing for the Cloud.
OpenShift.io, combined with OpenShift Online, provides an integrated approach to DevOps, including all the tools a team needs to analyze, plan, create and deploy services. Optimized for creating cloud-native, container-based applications. OpenShift.io also has new features that provide a one-click Linux container environment for developers and a machine learning system that helps developers make better decisions. OpenShift.io is Open Source. It incorporates many projects including fabric8, Eclipse Che, OpenJDK, Performance Code Pilot, WildFly Swarm, Eclipse Vert.x, Spring Boot and OpenShift.

Remix is an IDE for the smart contract programming language Solidity and has an integrated debugger and testing environment. An up to date online version is accessible at remix.ethereum.org