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. It should be noted that it should not be seen and thus deployed as an independent department / operations team, rather as a mindset across the development and operations teams within the company.
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 medium for DevOps: 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.

Software as a Service (SaaS)

Software as a Service (SaaS) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as “ondemand software”. SaaS is typically accessed by users using a thin client via a web browser. The term “software as a service” (SaaS) is considered to be part of the nomenclature of cloud computing, along with infrastructure as a service (IaaS), platform as a service (PaaS), desktop as a service (DaaS), managed software as a service (MSaaS), mobile back-end as a service (MBaaS), and information technology management as a service (ITMaaS).

DBaaS (Database as a service – Cloud Database) is a database as a service model. Application owners do not have to install and maintain the database themselves. Instead, the database service provider takes responsibility for installing and maintaining the database, and application owners are charged according to their usage of the service. Known vendors are Amazon Web Services (AWS), CenturyLink, Citus Data, ClearDB, EnterpriseDB, Google, IBM, Microsoft, MongoDB, Oracle, Rackspace, Redis Labs, and SAP.

Function as a Service (FaaS) or serverless computing, is a cloud computing code execution model in which the cloud provider fully manages starting and stopping of a function’s container platform as a service (PaaS) as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour.

Despite the name, it does not actually involve running code without servers. The name “serverless computing” is used because the business or person that owns the system does not have to purchase, rent or provision servers or virtual machines for the back-end code to run on.

Serverless code can be used in conjunction with code written in traditional server style, such as microservices. For example, part of a web application could be written as microservices and another part could be written as serverless code. Alternatively, an application could be written that uses no provisioned servers at all, being completely serverless.

Serverless code can either be triggered by specific events (such as user registration with Amazon Cognito), or be configured to run behind an API management platform in order to expose it as a REST API endpoint.

In manufacturing and digital factory, we can talk about SaaS with the integration of IoT, AR, AI platforms that powers the new paradigm of Factory Insights as a Service.

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