Friday, November 29, 2013

Stop time travelling

I like to read web content in various languages, from different sources, to get inspired by creative authors around the world with a new idea for every day.

Some of you maybe know the blogger, angel investor and best-selling business book author James Altucher?

Thursday, November 28, 2013

Continuous Delivery - process and requirements

The timely implementation and delivery are essential when it comes to achieving the real customer satisfaction in the software segment. The existing release models have proved in practice to be too inflexible and cannot meet these new requirements. The concept of Continuous Delivery should help to solve this problem.

Continuous Delivery begins where continuous integration stops. Now the software will not only continuously built and tested, but also delivered.
The idea of the faster software delivery has been originated by internet companies. There is the biggest pressure of course.

For platforms like Facebook, Etsy und Flickr is the Continuous Delivery the way how they work day by day, or better "hour by hour".

There are two very important requirements for establishing of Continuous Delivery.
As first a modern agile development process like Scrum is necessary. The close cooperation and bigger responsibility of every team member are the key reasons.
As second the Continuous Delivery Process builds upon an established Continuous Integration process.

The implementation of this concept requires radical re-thinking of the developers.
The focus in Continuous Integration is on the developers, however in Contionous Delivery the focus is on the customers, or the users.

Between a successful build and the availability for the customer is unfortunately a release.

The new standard is based on an technical abstraction called  Deployment Pipeline. The Deployment Pipeline defines so called stages with a different number of action in each stage.

The Build-Artifacts may be created just once! (see the yellow arrow in diagram)
It is very important to be sure, in each environment is the same binary on testing. I could tell you so many examples from the praxis, where this simple rule has been ignored and causes a lot of problems and errors in deployment process.

The created artifacts are stored in a repository and will be forwarded (installed) on each environment from this ("single") repository.

Often is the installation in the productive environment triggered manually, so called "sign-off".

Agile Manifesto:
"Our highest priority is to satisfy the customer through early and continuous delivery of valuable software."

In this post are described the agile development process, automation and the requests connected with the organization.

But also the software product has to comply with certain requirements in respect of Continuous Delivery Standard. But about this in one of my next posts on this blog.

Wednesday, November 20, 2013

Discrete Event Simulation - identity and state

In this post I would like to address some aspects of reactive programming before we can get a deeper insight in this topic.

On of problematic areas of maximal approach of concurrency are functions and stateful objects. The world is normally described as a set of objects, some of which have state that changes over the course of time.
An object has a state if its behavior is influenced by its history.

Second interesting area is the Identity of an object and its change. The new problem of deciding whether two expressions are “the same”.
This property is usually called referential transparency specifying what is meant by “thesame”
Objects x and y are operationally equivalent if no possible test can distinguish between them.

So it is not so difficult to proof the difference of two objects, however it is not so easy to offer an infinite variety of solutions to prove otherwise.

As example we can use The Discrete Event Simulation interactive programing we could describe using “Digital Circuits”

Let’s start with a small description language for digital circuits.
A digital circuit is composed of wires and of functional components.
Wires transport signals that are transformed by components.
Usually We represent signals using Boolean true and false.

The base components (gates) are:
  • The Inverter - whose output is the inverse of its input.
  • The AND Gate -  whose output is the conjunction of its inputs.
  • The OR Gate -, whose output is the disjunction of its inputs.

Other components can be constructed by combining these base components.
The components have a reaction time (or delay), i.e. their outputs don’t change immediately after a change to their inputs

All we have left to do now is to implement the Simulation trait.
The idea is to keep in every instance of the Simulation trait an agenda of actions to perform.
The agenda is a list of (simulated) events .
Each event consists of an action and the time when it must be produced.
The agenda list is sorted in such a way that the actions to be performed.  First are in the beginning.

State and assignments make our mental model of computation more complicated.
In particular, we lose referential transparency.
On the other hand, assignments allow us to formulate certain programs in an elegant way.

Example: Discrete Event Simulation.
  • Here, a system is represented by a mutable list of actions.
  • The effect of actions, when they’re called, change the state of objects and can also install other actions to be executed in the future.

Monday, November 18, 2013

Splunk - the swiss army knife of big data

What is it?

Splunk Inc. is a vendor of a solution to monitor, search, analyze, visualize and act on massive streams of real-time and historical machine data.

The solution is widely in use by more than 4,800 enterprises in over 85 countries. The added value of the usage Splunk software is to gain operational intelligence that informs business and customer understanding, improves service and up-time, reduces cost and mitigates cyber-security risk.

Enterprises’ IT systems and infrastructure contain websites, applications, servers, networks, sensors, mobile devices and similar - All of them generate massive amounts of machine data.

The machine data can be turned into valuable insights with help of Splunk.

Sunday, November 17, 2013

Mixed conclusion after BITKOM event “Trendkongress 2013”

This week at 13.11. took place , theTrendkongress 2013 of the German IT and telecommunications industry BITKOM in Berlin. More than 800 guests attended the event .

The chosen location was wonderfully fitted to the entire atmosphere . Two main issues I have identified for me personally - start-ups and innovation in Germany.

Thursday, November 14, 2013

Low interest rates and the risks involved

Since the last financial crisis , there is only one strategy of central banks - low interest rates. In Europe, however , the Governing Council must make monetary policy for the entire euro area , not just for individual countries.

As the current economic situation it is different in the countries of the Euro - Fed is anything but boring.

Monday, November 11, 2013

We talk about the day after tomorrow

On November 13, 2013 in Berlin the BITKOM Trendkongress will be held under the motto "create.innovate.grow", a fascinating conference all about the future of the digital economy. Global players and start-ups, politics and economics talk about the trends of tomorrow.

I am very happy to have the opportunity to participate at the conference this year. It gives me the opportunity to talk with interesting people, I always wanted to meet personally, about the current trends and various aspects for future business developments.

In addition to high-profile keynote speakers, I am looking forward to a program of interactive workshops and a marketplace with innovative technologies and products.

By broadcasting the live stream of a video-conference, people who cannot attend the conference can watch the proceedings over the Web.

My posts and messages during the conference can be followed closely via twitter @lumirb and #BTK2013

Sunday, November 10, 2013

Duties of a CEO

As probably everybody knows, the term CEO means Chief Executive Officer. One of the C-level positions in the senior management team of a company.

But what actually is the main function of a CEO? From my point of view there are these three main duties:

I. Develop  a common Vision
II. Create and embody the company Culture.
III. Intercept Entropy.

Wednesday, November 6, 2013

What is Reactive Programming?

In the recent years the application requirements have changed dramatically. For the system integration based on cloud computing technologies, the change is more then obvious.

A few years ago a large application was built by tens of servers, used gigabytes of data, the response time was counted in seconds and the offline maintenance has been accepted.

Available technologies in cloud computing area have changed the rules. Applications are running cross the platforms from mobile devices to cloud-based clusters. We are talking about thousands of servers, using petabytes of data, with expected response times in milliseconds without any downtime.

A new system architectures have evolved to let developers conceptualize and build applications and frameworks that satisfy today’s demands - Reactive Applications.