Tag Archives: development

Technology Highlights Google Cloud Next 2017

Google cloud next-2017 The largest Google developer and IT gathering in Amsterdam to explore the latest developments in cloud technology. A chance to engage with the foremost minds leading the cloud revolution and learn how the modern enterprise is benefiting from the latest in cloud technology in unprecedented ways. As usual for us one more way to keep up with technology.

We saw some very interesting new innovations (spanner and app maker to name two) and how they relate to application development in the cloud.

Given below are the other highlights of the technologies talked about during the event:

1) Microservices & Kubernetes:

Microservices – is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. It enables the continuous delivery/deployment of large, complex applications and enables an organization to evolve its technology stack and can develop and deploy faster. It’s an evolution of software development and deployment that embraces DevOps and containers and breaks applications down to smaller individual components.

The emerging combination of micro-service architectures, Docker containers, programmable infrastructure, cloud, and modern Continuous Delivery (CD) techniques have enabled a true paradigm shift for delivering business value through software development.

The combination of microservices and containers promotes a totally different vision of how services change application development.

Kubernetes – is an open-source system for automating deployment, scaling and management of containerized applications that was originally designed by Google and donated to the cloud native computing foundation. It aims to provide a “platform for automating deployment, scaling, and operations of application containers across clusters of hosts”. It supports a range of container tools, including Docker.

Technology Highlights in Google Cloud Next 2017

2) Choosing the right compute option in a cloud project: a decision tree

To understand the trade-offs and decide which models are the best fit for your systems as well as how the models map to Cloud services —Compute Engine, Container Engine, App Engine, cloud functions.

Compute Engine is an Infrastructure-as-a-Service. The developer has to create and configure their own virtual machine instances. It gives them more flexibility and generally costs much less than App Engine. The drawback is that the developer has to manage their app and virtual machines yourself.

Container Engine is another level above Compute Engine, i.e. it’s cluster of several Compute Engine instances which can be centrally managed.

App Engine is a Platform-as-a-Service. It means that the developer can simply deploy their code, and the platform does everything else for them.

Cloud Functions is a serverless computing service, the next level up from App Engine in terms of abstraction. It allows developers to deploy bite-size pieces of code that execute in response to different events, which may include HTTP requests, changes in Cloud Storage, etc.

Technology Highlights in Google Cloud Next 2017

3) Big data – Big data refers to data that would typically be too expensive to store, manage, and analyse using traditional (relational and/or monolithic) database systems. Usually, such systems are cost-inefficient because of their inflexibility for storing unstructured data (such as images, text, and video), accommodating “high-velocity” (real-time) data, or scaling to support very large (petabyte-scale) data volumes. There are new approaches to managing and processing big data, including Apache Hadoop and NoSQL database systems. However, those options often prove to be complex to deploy, manage, and use in an on-premise situation.

Cloud computing offers access to data storage, processing, and analytics on a more scalable, flexible, cost-effective, and even secure basis than can be achieved with an on-premise deployment.

What does the cloud bring to application development?

Following our line of thought of keeping up with technology, I had the privilege and pleasure to join a diverse group of Uniface engineers who participated in the Google Cloud Next  event in Amsterdam. As mentioned earlier, Uniface is at the leading edge of application technology so in that respect we participate by learning about the newest trends. We do this also for cloud with great partners like Google by obtaining the technological highlights,  and diving deeper into some examples like spanner and app maker.  All this to drive momentum and to spark innovation at Uniface.

Next Amsterdam being such a nice and big event consisted of several tracks with different areas of focus all around the cloud. Tracks that were visionary, strategic and technical besides the experimental breakout sessions; handling everything from the business, the technology and innovation.

I attended several sessions and had a look at the experimental/technical campground as presented by Google and some of its technology partners at the conference.

The most outstanding thing I realized while at the event was that cloud is moving everywhere, from application development, to deployment and innovation.

So, in that sense, cloud is becoming a game changer in application development. What do I mean by that? Well, in general, we are used to waves of technologies and application architectures like mainframe, client/server, Static Web, Dynamic Web, mobile apps, and now the cloud.

The cloud is reshaping the way we think about software; whether that is containerizing, micro services, contributing to developing new applications, exploiting the data produced by the usage of applications, all in all, taking software to a new level. Actually, one could say, it is being changed in several dimensions.

What does the could bring to application development?

Think about security which appeared to be something for the experts, and nowadays reshapes the way we think about software. And some of the thoughts around security today may involve user behaviour as an additional way to authenticate us. Wow! Nice. Although it does also imply user behaviour is something you need to consider.

What does the could bring to application development?

What does the could bring to application development?

Well, you may think “but there is a lot of data that now needs to be processed for that”, and “what about the structure of such data?” Well, have you seen all the developments around big data and high performing databases which the cloud is enabling? Ok, I give it to you… but then how can I, as a developer, make use of that data? Well, API’s is the answer. An old and beautiful concept that is being embedded in software development now, as collaboration with others is a must. Your software needs to be easy to interface with and as such it must provide a clear and easy API for others to use. Better even is the fact that software in the cloud must have API’s, becoming a de facto standard otherwise you are out. (By the simple fact that adoption will be hard if not impossible with all the competition around.)

What does the could bring to application development?

The more common areas where the cloud appear initially to have impact was on whether the application was executed on bare-metal or on a virtualized environment reshaping componentizing the hardware and the different layers of software. This too, is something that affects application development as we need to think also on those components/containers we can use/enable others to use. Consider frameworks for it and make the necessary provisions in your application architecture.

What does the could bring to application development?

Also of utmost interest were the innovation presentations that took place on a plenary/breakout, or campground sessions. It was amazing to see how creativity is being applied to develop the technological step around the cloud; think about natural language support API, and its applicability on the artificial intelligence spectrum, which nowadays is within our reach, it is in our hands (literally) with our phones/tablets.

What amazed us too was to see synergy in our approach to application development and the new trends like App Maker.

Whether you use the cloud to deploy your applications, execute on the cloud and or to innovate, the cloud is here to stay.

All in all, the value proposition around the cloud is to think not only of what the cloud can do for you, but what you can do in the cloud too.

 

 

 

 

 

Cloud Spanner and Application Development

I recently attended the Google Cloud Next Amsterdam, a one day conference covering services by Google Cloud Platform (GCP) According to Gartner, Google takes the third spot in the public cloud space with Amazon Web Services and Azure taking first and second place respectively. Amongst the plethora of GCP offerings (technological highlights) I was interested in Cloud Spanner one of the newer PaaS offerings which could prove interesting to Uniface’s supported RDBMS list. As it is also of interest how it applies to Application Development.

Cloud Spanner is a fully managed relational database which can scale globally, Google claims that Cloud Spanner is able to scale to thousands of servers and able to handle the biggest transactional workloads. Cloud Spanner joins the ranks of CockroachDB, Clustrix, VoltDB, MemSQL, NuoDB and Trafodion where are coined ‘NewSQL’ databases. NewSQL databases are databases which still offer the traditional Atomicity, Consistency, Isolation and Durability (ACID) with the massive scalability often associated with NoSQL databases.

Cloud Spanner

Being a distributed database, Cloud Spanner can distribute your data over the nodes that you have decided to use in your setup, Google calls this splitting. Data may be split by rows or by load for example if Spanner detects that there are a certain number of rows used more frequently it’s able to split these rows over multiple nodes.

Cloud Spanner offers a standard variety of SQL datatypes, BOOL, INT64, FLOAT64, String, BYTES, DATE, TIMESTAMP and ARRAYS. Various client libraries are already available and come in Java, Python, Go, NodeJS, Ruby and PHP flavours.

Cloud Spanner looks like a game changing distributed database and I’m sure that at Uniface we will be taking it for a test drive to demonstrate its capabilities.

Next to all this there were also exciting news on other areas like App Maker.

About Google App Maker

I attended the Google Could Next 17 event in Amsterdam recently. There were several sessions I was interested in. One of these was “Extending G Suite functionalities with Business Applications” and the speaker was Lee Boonstra. Here is an overview of the other technological highlights.

Google App Maker

The session gave an introduction to the new product “Google App Maker”. App Maker is a low-code application development tool that lets your organization build and deploy custom apps easily and securely, on the same platform that powers G Suite.

The interesting thing is that, similar to Uniface, this App Maker is also a model-driven style development workbench. Of course, it is cloud-based. And it embraces application development.

The official App Maker site is: https://developers.google.com/appmaker/.

Currently, App Maker is still in preview stage. By the remark on the site: “G Suite Business customers can preview App Maker. Ask your domain admin to apply for early access”. But you can watch this introduction video from YouTube.

Keeping up with technology…a lot like Formula 1

Uniface, being a low-code platform which shields developers from technology changes in the application stack, takes pride on staying on top of the leading edge of technology. To start, the application stack I refer to is based on the Open Systems Interconnection model (OSI) defined by the International Organization for Standardization (ISO) about the interoperability and communication layers. So all the technologies needed to maintain applications’ interoperability while communicating to achieve the business goal as programmed by the developers.

In Uniface development, we have a track record of keeping up with technology, nowadays more challenging than 33 years ago when Uniface started of course. 😉

Let me share how Uniface development approaches technology and technological paradigms. Uniface is a technology partner for our customers and partners. As such, we take pride in actively participating in the technological world around us, which should add value to our customers. It also reinforces our relationship with technology resulting in the Uniface direction. Additionally, and with the intention of being transparent, we blog about it.

I want to start by making an analogy between Uniface and Formula 1 (F1 Championships). In F1 racing there are also a lot of technological developments on which all car manufacturers and teams rely on (powertrains, ERS, ES, power units, tire compound, telemetry, DRS, KERS, chassis, etc.). Actually all of the participants follow the evolution of these developments actively or passively depending on their area of expertise (additionally sanctioned by the FIA).

It is the same in our application development world, there is a lot of technology involved and we do actively follow it. Essential to that and following the Uniface value proposition, we need to be up to par with the latest trends in what applications need from technology.

Following our analogy, the Uniface car might today have a power unit from Mercedes, while we simultaneously look at the power units from Ferrari and Renault.

The Lab and the engineers look at all technologies and we make sure that the leading edge in technology is used by the car we build (Uniface) because that is what makes us different. Product Management makes sure that our customer requirements plus the technology innovations are included in the Uniface portfolio.

I think that all of the above confirms to our customers the value Uniface provides is much more than one mere technology, but they can be confident we are looking at a much broader spectrum of the application technology stack.

Rest assured that the direction that Uniface takes will be defined and determined by Product Management and reflected in the Uniface roadmap.