02 November, 2017

Desktop-Linux + CLI?

"If there's one thing surrounding Linux usage that bothers me more than anything else, it's when the detractors say you cannot work with Linux without knowing the command line. This is a bit of FUD — fear, uncertainty, and doubt — that keeps new users from giving the open source platform a try. I'm here, right now, to dispel that myth."
Ubuntu Desktop
Linux Mint (MATE edition)

With personal experience, I can attest to this statement. The days when you HAD to deal with the Command Line even on desktop-Linux distros are past. Only server-distros demand this nowadays.


https://www.techrepublic.com/article/yes-you-can-use-linux-without-knowing-the-command-line/

01 November, 2017

To my doubters

Yes, seems I finally landed my dream-job =D It's not work, it's fun :)

I get to work with innovating and bleeding-edge technology every day, at my own terms, with all the tech-benefits I could wish for. Not to mention my contract-benefits, and office-benefits (sponsored gourmet coffee, UV-filtered water and Red Bull).

Working with as smart people as I do is, well, very rewarding in itself. Finally, people at my own level! People who actually appreciates open-source and Linux!

To all my doubters and nay-sayers:
how's that Microsoft-programming job working out for you?

26 October, 2017

Cloud Engineer + DevOps

The Cloud

A cloud engineer is an IT professional responsible for any technological duties associated with cloud computing, including design, planning, management, maintenance and support.

The cloud engineer position can be broken into multiple roles, including cloud architect, cloud software engineer, cloud security engineer, cloud systems engineer and cloud network engineer.

Each position focuses on a specific type of cloud computing, rather than the technology as a whole. Companies that hire cloud engineers are often looking to deploy cloud services or further their cloud understanding and technology.

https://aws.amazon.com/what-is-cloud-computing/



DevOps

DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.



From my employer's website [edit/red.]:
 Robots and artificial intelligence create opportunities of enormous dimensions. 

 We have developed the market-leading virtual assistant, who has taken the European market by storm. The company is experiencing rapid growth and we are looking for new colleagues to join us at our office in Stavanger, Norway. Become a part of what the World Economic Forum calls "The Fourth Industrial Revolution"! 

 As an employee in our company, you become a part of a young and dynamic environment with a high degree of freedom for self-development. Your colleagues have exceptional expertise in data and technology, and all developers get access to state of the art equipment. 

 Our technology stack today consists of Linux, PostgreSQL, Apache, Varnish, Java, Spring, Grails, Groovy, Gradle, Python, Javascript, Lua, Torch, IntelliJ IDEA, Git and Amazon Web Services (hence the aws-amazon links above). We will use any required additional technologies in the future to solve whatever new challenges may arise. 

25 October, 2017

In 2017, Linux rules computing

 The Linux Foundation reports that Linux runs 90 percent of the public cloud workload, 82 percent of the world's smartphones, 62 percent of the embedded market, oh and a mere 99 percent of the supercomputer market. All that rests on the Linux kernel.

"The Linux kernel is one of the largest and most successful open-source projects that has ever come about. The huge rate of change and number of individual contributors show that it has a vibrant and active community, constantly causing the evolution of the kernel in response to number of different environments it is used in. This rate of change continues to increase, as does the number of developers and companies involved in the process; thus far, the development process has proved that it is able to scale up to higher speeds without trouble."

http://www.zdnet.com/article/whos-building-linux-in-2017/
 Good news :)

Over the past year, the kernel has been updated through merged changesets, new drivers, hardening and testing.

http://sdtimes.com/report-interest-linux-kernel-remains-strong/
http://www.zdnet.com/article/microsoft-says-40-percent-of-all-vms-in-azure-now-are-running-linux/

19 October, 2017

Green / Blue - Blue / Green

:P WAT? Green/Blue?

Blue/Green Deployment in Datacenter

How it Works

In the "blue-green" model, two identical application stacks are maintained (for convenience, I will refer to our application server instances and service instances as a stack, database deployments are done separately . One of the stacks is always live, let us say green is live and blue is stand-by.

When we want to deploy a new build to production, we deploy it on blue stack and do thorough testing. Once new build seems to work fine, the blue stack goes live and green becomes standby. This helps us do a quick rollback if issues are identified during deployment or sanity check.

What are the challenges?

The tricky bit here is to switch between blue and green stacks with almost no downtime.
An overhead here is to maintain two stacks and hence adds to the cost.

https://medium.com/devops-learnings/blue-green-deployments-in-data-center-e704f93f9f70
My new job requires a lot of automation set in place for us in DevOps to be able to manage the huge deployment-workloads we get. I am currently in the process of automating our setup to a degree where we only have to initiate deployment-processes without having to monitor them as they execute :P at least compared to before I came in

AUTOMATE ALL THE THINGS!