DevOps Skills

The broad picture. Skills to address the “from Code to Infrastructure” paradigm. Bridging ends from code producers to deployment in production – mindset of all involved, get a sense of the process as well do the automation of it and the orchestration and monitoring.

Collaborate with internal management teams involved in the DevOps process and stay familiar with the objectives, roadmap, blocking issues and other project areas.
Have the skills to mentor and advise team members on the best ways to deliver code, what tools to use when coding and how to test the latest features.

The target. Fast provisioning: be able to setup new machines fast. Good monitoring: to be quickly able to diagnose failures and trace them down. Quickly rollback to a previous version of the microservice. Rapid app deployment through fully automated pipelines. Create the Devops mindset / culture.

DevOps engineers need to know how to use and understand the roles of the following types of tools:
1. Version control: GitHub, GitLab
2. Continuous Integration servers: code coming in repository server and triggers build and doc: Jenkins, GitLab CI, Atlassian Bamboo, Circle CI, GitHub Actions
3. Configuration management: Software Configuration Management SCM Tools: Configuration management occurs when a configuration platform is used to automate, monitor, design and manage otherwise manual configuration processes. System-wide changes take place across servers and networks, storage, applications, and other managed systems: Puppet, Ansible, Chef
4. Deployment automation: Ansible Tower, Bamboo
5. Containers: containerd, Docker, Artifactory
6. Infrastructure Orchestration: automating the provisioning of the infrastructure services needed to support an app moving into production – in the right order, is orchestration: Terraform, Ansible (also Config. Management Tool), Chef, Kubernetes
7. Monitoring and analytics: Prometheus, Datadog, Splunk
8. Testing and Cloud Quality tools: a test automation platform uses scripts to automate the whole process of software testing. Identify the tests that need to be automated. Research and analyze the automation tools that meet your automation needs and budget. Based on the requirements, shortlist two most suitable tools. Do a pilot for two best tools and select the better one. Discuss the chosen automation tools with other stakeholders, explain the choice, and get their approval. Proceed to test automation
Tools: Kobiton, Eggplant, TestProject, LambdaTest
9. Network protocols from layers 4 to 7, nginx, caching, Service Mesh.
10. Programming skills with Java, Shell, Python, JS, Ruby…

Also:
Monitoring production environments
Performance measurements
Security
Cloud administration
Get proper alerts when something is wrong or unavailable
Help resolve problems either through online support or technical troubleshooting

Blockchain

Probably the most disruptive technology for the near future in which keeping the tempo (not resisting it) is a crucial task of every company and institution (think of the actual Banks for instance). What is blockchain? A block is simply a list of payments. A block chain is a list of blocks, each one referring back to the one that went before. However, when people talk about the block chain, they tend to mean the collection of technologies and techniques that underpin the Bitcoin system, which other projects have used as inspiration because they solve unrelated problems in finance and elsewhere.

Blockchain Applications

Cybersecurity: Guardtime, REMME

Healthcare: Gem, SimplyVital Health, MedRec

Financial: ABRA, Bank Hapoalim, Barclays, Maersk, Aeternity, Augur

Manufacturing: Provenance, Jicoin, Hijiro, SKUChain, Blockverify, Transactivgrid, STORJ.io

Government: Dubai blockchain powered state, Estonia, South Korea, Govcoin, Democracy.earth, Followmyvote.com

Charity: Bitgive

Retail: OpenBazaar, Loyyal, Blockpoint.io

Real Estate: Ubiquity

Transport and Tourism: IBM, Arcade City, La’Zooz, Webjet

Media: Kodak, Ujomusic, Bernard Marr

Blockchain powered with AI: Mirocana is a complex predicting system based on deep-learning neural nets that collect, store and analyze huge volumes of financial data. We created three investment products based on system’s predictions for stock, currency and crypto-currency markets. Access to these products is restricted by number of tokens on a customer’s account.

Ethereum

Ethereum is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality. It provides a decentralized Turing-complete virtual machine, the Ethereum Virtual Machine (EVM), which can execute scripts using an international network of public nodes. Ethereum also provides a cryptocurrency token called “ether”, which can be transferred between participants and is used to compensate participant nodes for computations performed. It is a part of the vision of a fully decentralized web.

First of all, it is a non sense to call Ethereum the Bitcoin rival. If both are crypto currencies built on blockchains, Ether will be used more as a mean of exchange as it is at the heart of the smart contract system. Bitcoin can thus be viewed more as a store of value.
Bitcoin is a digital currency which was originally created as an alternative monetary system. On the other hand, Ethereum is created as a blockchain 2.0 platform that can be used to create and execute smart contract applications over blockchain. Bitcoin platform’s crypto token is called bitcoin (which can get confusing) and Ether is the crypto token used on Ethereum platform. Ethereum is essentially Bitcoin with a Turing-complete scripting language. A Turing complete code means that given enough computing power and enough time. Ethereum has its own Turing complete internal code, when Bitcoin has not this form of flexibility.

Smart contracts are applications with a state stored in the blockchain. They can facilitate, verify, or enforce the negotiation or performance of a contract. Ethereum contracts can be implemented in various Turing complete scripting languages. The Ethereum system has been described by the New York Times as “a single shared computer that is run by the network of users and on which resources are parceled out and paid for by Ether.”

Both Swarm and Whisper are complementary technologies contributing to the vision of Ethereum as a “world computer”. When imagining Ethereum as a metaphor for a shared computer, it should be noted that computation alone is not enough. For a computer to be fully useful, it also needs storage to “remember” things and bandwidth to “communicate” them. This could be summarised as such:

Contracts: decentralized logic
Swarm: decentralized storage
Whisper: decentralized messaging