Yesterday we had a virtual panel with attendees of Serverless Conference 2017 to discuss the conference and the mood. We had a great set of panelists talking about the state of serverless, use cases, gaps in tooling, etc.. Watch the recording here.
Yesterday we had a virtual panel with attendees of Serverless Conference 2017 to discuss the conference and the mood. We had a great set of panelists talking about the state of serverless, use cases, gaps in tooling, etc.. Watch the recording here.
Yesterday at Red Hat Summit, Red Hat announced a partnership with AWS through which some of the AWS services will be available for apps deployed on OpenShift, running on both AWS and On-Premises.
To the end customers, it gives them single throat to choke. They don’t have to alternate between OpenShift support and AWS support while trying to figure out why their application is not working properly. This is a significant advantage, especially for enterprise customers. Other than this, there is not much of a difference compared to procuring the AWS services outside of OpenShift.
For Red Hat, it adds credibility to their OpenShift public cloud offering as well as OpenShift Container Platform deployed on AWS. It gives confidence to customers that OpenShift is a credible platform on the public cloud. This helps Red Hat establish legitimacy for their public cloud OpenShift offering as well as making OpenShift container platform a credible player in the multi-cloud world.
This puts some enterprise credibility into AWS. Though AWS is fast gaining traction among enterprise customers, the enterprise cloud market is still wide open. This helps AWS services gain more enterprise adoption because enterprise data will be inside AWS through the use of data services by OpenShift customers. Remember, one who owns data wins in the cloud market.
In short, this solves a simple but critical enterprise need, i.e. one throat to choke.
We had a great panel talking about what happened in Dockercon 2017 held last week in Austin. We had a great group of panelists and had wide-ranging discussions from Dockercon 2017 event to future of Docker.
Even though Google is one of the pioneers in Cloud Computing, they were late to enter the enterprise market. In the last couple of years, they started focussing on enterprise customers and, in the recent Google Cloud Next Conference at San Francisco, they showcased their determination to go after the enterprise market. Compared to last year, this year’s event was a big affair with a slew of announcements on new products and features being the highlight of the event.
In this conference, Google tried to appease enterprise customers by attempting to speak the language they like to listen. Whether it is talking about multi-cloud or partnering with SAP or talking about the engineering support options, Google tried to appeal to enterprises moving to cloud. One of the criticisms about Google Cloud was they appeal to vendors like Snapchat and Evernote but not much to traditional enterprises. They tried to negate this by lining up vendors like HSBC, Colgate, Schlumberger, Disney, The Home Depot, etc.. Listening to all these customers, I saw a common thread on their interest with Google Cloud. It is about the potential for Machine Learning workloads aided by powerful big data offerings from Google.
Google’s enterprise push focussed on
I have long been advocating that Google’s path to relevance in the cloud is through Machine Learning and AI. I heard the same from various enterprise customers in this conference. One of Google’s strengths is in big data and, with the announcements related to Machine Learning, they are positioning themselves as the go-to cloud for ML workloads. Google’s machine learning engine and Google Vision API is now generally available. As a part of Vision API, Google is exposing the metadata as a service so that it helps app developers to use the API to gain Google Photos like detection capabilities. This along with the Video Intelligence API puts them as the top cloud destination for ML and AI workloads. Expect to see more startups and enterprises flocking Google Cloud for their ML and AI needs.
Google has started its journey to lure enterprise customers to their cloud. They are definitely growing up in this path but they still have to go a long way before emerging as a strong player. The next two years will be critical for Google Cloud to convince enterprises to trust their cloud. The key to their success lies in convincing enterprises that they are the destination for most of their workloads than giving a message that they are one of the providers in the multi-cloud era. We will have to wait and watch whether they can be a credible contender to AWS and Azure
Amazon Web Services, Microsoft Azure, IBM Bluemix, Oracle Cloud, Digital Ocean
Disclosure: Google paid for my travel and stay during the conference
SWOT Analysis Source: https://github.com/rishidot/SWOT/blob/master/Google/Google-Cloud.md
The emergence of cloud in the last decade has changed how enterprise IT is being done and there is considerable pressure on organizations to transform themselves to effectively compete in a fast-moving global economy. The software is driving innovation across all verticals pushing organizations to embrace software as the pathway to innovation. This brings focus on IT, as an enabler of innovation by making it easy for developers to take an idea to code and deploy in production many times a day than months-long cycles in the past. In a modern enterprise, IT is part of the core innovation than just a cost center.
As cloud computing gained traction and helped enable organizations to deliver business value much more rapidly than any time in the past, software fast became the dominant platform for innovation. Software helped organizations to not just innovate rapidly on their core competency, it also helped them innovate in adjacent areas or even in the entirely new line of business. Software driven innovation became the competitive advantage rather than a cost center aiding their core competency. CIOs started focussing on transforming their organizations to be a modern enterprise, driven by a software platform leveraging the cloud.
With cloud computing gaining widespread acceptance as the de facto infrastructure for modern applications, enterprises embraced DevOps as the next step in their modernization journey to remove the bottlenecks in the application deployment lifecycle. With Cloud and DevOps, enterprise IT helped enable accelerated application delivery, resulting in an application deployed in production in a matter of days/weeks than months. Even though most IT organizations gained a significant increase in the speed at which they delivered business value, the ROI is still sub-optimal even with IT modernization. The sub-optimal ROI can be traced back to deploying monolithic applications on cloud infrastructure, which is distributed in nature and scales differently from these applications. Microservices, a suite of modular set of services architected around a business capability or function, is the next frontier in enterprise modernization journey. With Containers gaining tremendous momentum with advantages from developers to IT operations, they can be considered as the right encapsulating mechanism for Microservices.
Microservices architecture goes beyond the needs of enterprise agility and serves as a foundation for IoT, Big Data and other modern application use cases. Embracing Microservices for newer apps is the most convenient starting point for the transformation journey but it is also important to have a strategy in place so that other applications are re-architected in due course. In this position paper, we will focus on the Microservices architecture in the modern enterprise, its advantages, challenges and considerations for selecting the right Microservices platform. This paper provides some prescription on the key factors to consider as organizations evaluate various Microservices platform suitable for their needs.
Even though some legacy apps might have a monolithic architecture in how business logic is implemented, the monolith problem is also present in applications with modular architecture. Even these applications are deployed as monoliths, inconsistent with the more distributed architecture of the underlying cloud infrastructure. For example, many traditional enterprise Java applications are deployed as a single WAR file or a self-contained executable. The reasons for the dominance of Monoliths in enterprises include ease of development, testing, and deployment, But any potential benefit with Monoliths are negated with challenges like slow deployment speed, complexity in scaling, inflexibility in application evolution with modern tools, etc.. Microservices are considered the next important frontier in the modern enterprise journey.
Even though there are many variations and confusion in the definition of Microservices, Rishidot Research subscribes to the definition put forward by Martin Fowler, one of the leading advocates of Microservices architectural patterns.
The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery.
Our extensive research and based on our conversations with software architects from both startups and enterprises, we have concluded that the above definition of Microservices is a perfect fit into our own definition of a Modern Enterprise.
The key components of a Microservices architecture are:
Leading edge enterprises like Amazon, Netflix and others have embraced Microservices architecture, gaining a competitive edge over their traditional counterparts. As other enterprises embrace the modernization journey, they are faced with the dilemma of moving to a more modern architecture like Microservices architecture without disrupting their mission critical applications running as monoliths. A brute force rip and replace approach will not work for these organizations. A more methodical modernization journey that also meets their security, governance and compliance needs is needed. Off late, organizations beyond the leading edge enterprises like Amazon, NetFlix, Uber, etc. are considering Microservices as a part of their IT modernization journey. The current phase in the Modern Enterprise is focussed on providing standardized platforms that enable key building blocks and patterns needed to help mainstream developers build their applications using Microservices architecture.
In this section, we will talk about the benefits and challenges with Microservices architecture and help enterprise IT leaders embrace a strategy that better fits their organizational needs. A clear understanding of the challenges with the modern architecture pattern is imperative for the evaluation of Microservices platforms that can meet the enterprise needs. As enterprises embrace Microservices, they are faced with a scale involving thousands of services and it is important that the stakeholders understand the underlying dynamics as they plan their platform strategy.
Microservices offer some key advantages for enterprise IT as it helps them allocate personnel and resources more efficiently, maximizing the ROI and delivering the key competitive asset needed to bring transform IT to be part of the core innovation team.
Some of the advantages of Microservices include:
With Microservices and DevOps, the modern enterprise IT is very much part of the core innovation team focussed on delivering business value rapidly and giving a competitive edge in the fast moving market.
Microservices architecture is not the magic pill that completely transforms IT overnight to be part of the core innovation team. Even though Microservices offer some key advantages in the IT transformation journey, there are some key challenges that need to be addressed before realizing the benefits. In this section, we will highlight some of the challenges in using the Microservices architecture. These challenges can be mitigated with the right platform and the first step towards selecting the right platform is in understanding the challenges.
Microservices remove the complexity in the monolithic architecture that impacting application scalability, reliability, evolution, etc.. However, it moves the complexity to the application deployment, bringing in some challenges that need to be understood and addressed:
Even though using Microservices is an advantage, it is important to understand the challenges and find a platform that better mitigates these challenges.
When it comes to Microservices platform, most of the industry discussions center around the programming frameworks that help developers create Microservices. But an evaluation of Microservices platform goes well beyond the programming frameworks and it should consider the entire lifecycle of developing and deploying Microservices. Without any support for deployment and management of Microservices, the platform offers limited benefits and it may end up increasing the costs and impacting the ability. In this section, we will highlight some key capabilities of Microservices platforms and considerations one should take into account during the platform evaluation.
Some of the key capabilities of Microservices platform are outlined below:
These are some of the Microservices focussed capabilities any platform should have along with other enterprise-grade features needed for application deployment.
Any evaluation of a Microservices platform should include the following considerations to maximize the benefits. The key capabilities we identified in the previous section along with the following considerations should serve as a framework for evaluating a Modern Enterprise Microservices Platform. Rishidot Research strongly urges you to ask the platform vendor the following questions and get their answers during the evaluation phase.
These are some of the questions you need to ask as you evaluate various platforms available in the market.
Microservices platform can range from DIY IaaS+ options, PaaS offerings and purpose built Microservices platforms. For an organization planning to embrace Microservices across the organization, a purpose built platform offering end to end capabilities for Microservices development, deployment and management may come handy. As you evaluate these platforms, you need to match your organization’s needs with the key capabilities of the platform to pick the right one.
Embracing Microservices is a critical part of Modern Enterprise journey and it goes beyond the architectural considerations of the application. Microservices model brings with it both technical and cultural changes inside the organization, enabling smaller teams with common goals to innovate faster and at scale. Even though a move to Microservices is very valuable for enterprises, it comes with lot of technical challenges that requires careful consideration and a selection of right platform to meet these challenges. A successful Modern Enterprise will blend Microservices architecture with DevOps to streamline the value creation. In order to be successful, organizations should exercise deliberate evaluation from abstracting the architectural patterns to ease of deployment and management to security and governance. With a right platform for Microservices implementation, your modern enterprise journey will produce higher ROI and will help your organization outsmart the competition.
Recently Docker Inc. announced Docker Secrets Management, a secure way to store confidential announcements like credentials, tokens, passwords, certificates, etc. so that containerized applications can securely communicate with other services. This is released for Docker Swarm right now and it will be released for Docker Compose in the near future. The basic secrets management feature is available for all users of Docker platform right now but if you want role based access control, it is a paid feature. Clearly, Docker is making their platforms more palatable to enterprise customers, one of the weakness they had to fend off as the compete with other platform vendors like Red Hat and Pivotal who tout container security as one of their strong points.
Even though Kubernetes has a similar feature and one can manually enable TLS with Kubernetes Secrets, Docker makes TLS a default for access. Docker secrets uses In-Memory for keeping the decrypted password and doesn’t store the file in a disk storage while an application is using it. However, if the service running in the container is compromised, the Docker Secrets kept unencrypted in-memory will also be compromised. The secrets management system will also notify all nodes to delete the secrets if the service is deleted or rescheduled.
In short, this is a required enterprise feature added by Docker for their platform and making role based access control to secrets a premium feature is a smart move which indicates that Docker, as a company, has realized that they need to go beyond the spirits of end to end OSS model to justify their valuation. There is nothing wrong with it as it is the reality in the industry.
Quick Analysis: ]([]https://github.com/rishidot/Quick-Analysis/blob/master/2017/Docker-Secrets-Feb.md)
NATS is a modern messaging platform focussed on cloud native applications, with an unique advantage for Microservices architectures. In this briefing note, we take a look at NATS platform, comparing it with both legacy and other modern messaging platforms, and do a SWOT analysis to our clients considering the platform for their use.
Modern messaging platforms emerged from the messaging middleware of the past and it is gaining more importance with distributed infrastructure and microservices based application architectures. Traditional middleware messaging platforms focussed on more enterprise features, like delivery guarantees, than what is needed for microservices architectures. However, there are use cases where some of these traditional platforms are applicable but modern messaging platforms focus more on being lightweight and on features like developer experience, RESTful interface, scalability, etc..They are built much in tune with the underlying modern distributed infrastructure like cloud platforms.
NATS is an open source messaging system by Apcera focussed on being lightweight with RESTful interface, highly scalability and better performance. The core server is written in Golang with clients in more than a dozen languages including Python, Ruby, Node.js, Elixir, Java, C and C# (This list includes third party contributions). They also have libraries available in various languages. The supported use cases include distributed queueing, pub/sub, Request/Response and they recently announced support for realtime streaming.
NATS is a robust and lightweight messaging platform widely preferred by developers for Cloud Native, IoT and Microservices use cases due to high scalability and better performance. If they add more and diverse set of contributors and add support for more container based platforms, they could emerge as the go to messaging platform for the use cases mentioned above. One way to build a strong community is by making this project a part of Cloud Native Computing Foundation or one of the larger OSS foundations.
Redis Pub/Sub, ZeroMQ, RabbitMQ, ActiveMQ, Apache Kafka, Tibco EMS
Briefing Notes: https://github.com/rishidot/Briefing-Notes/blob/master/2017/NATS-Messaging-Feb.md
SWOT: https://github.com/rishidot/SWOT/blob/master/Messaging-Platforms/Nats.md
Oracle announced their IaaS offering late last year and they briefed analysts of their offerings and roadmap. Rishidot Research makes a quick analysis of the briefing to highlight our clients and readers on the status of Oracle IaaS offering from our vantage point.
Ever since Amazon announced public cloud infrastructure services, the IaaS market has been growing steadily with increased enterprise adoption in the past 3 years. Amazon Web Services is leading the pack with annual revenue of close to $13 Billion as per the latest financial results. After some initial missteps, Microsoft is investing heavily on Azure making them a credible competitor to Amazon. Google Cloud and IBM Cloud are the distant 3rd and 4th place vendors in the public cloud infrastructure landscape. In spite of the threat for lock-in and open source efforts to enable a federated market place for cloud infrastructure providers, public cloud infrastructure market is tending towards oligarchy with Amazon, Microsoft, Azure and IBM as key players. After a delay, Oracle is finally taking steps to enter public cloud infrastructure market (IaaS).
Oracle is betting their IaaS on three factors that may be attractive for enterprise customers, performance, security/governance and lower cost than AWS. When it is compared with Oracle’s SaaS and other products, they can easily become the one throat to choke for enterprise customers. The performance and security claim comes from the fact that their IaaS is built with bare metal servers as building blocks and they are hoping that the physical isolation provided by bare metal servers will be attractive to enterprises worried about cloud multi-tenancy. With their marketing on better performance provided by bare metal servers, Oracle is betting on enterprises wanting to forklift legacy applications to cloud. The bare metal performance advantage becomes less important for cloud native applications unless it is in the niche area of HPC workloads but when you forklift legacy applications to cloud (an approach Rishidot Research strongly discourages but many enterprises are faced with situations where they cannot move some of their mission critical applications to cloud native architectures), compute and network performance matters. Oracle IaaS is pushing ahead with their marketing on better performance than other public clouds (an independent verification on this claims is needed at this point) and hoping that their enterprise customers will prefer Oracle IaaS over AWS or Azure. The cost advantage and governance are not big differentiators as it is easy for competitors to close the cost loop and many higher order services (including 3rd party services) can provide the necessary tools for governance.
Even though they are late by close to a decade, Oracle has moved into the public cloud space. They are clearly disadvantaged at this point in terms of richness of developer and other higher order services on top of their IaaS. But we expect them to fill the gap through acquisitions and compete hard with AWS. If they can take their IaaS revenue to $1B in 2017, I can confidently say that they will be a major force in enterprise public cloud market. It will be interesting to watch where they go from here.
Amazon AWS, Microsoft Azure, Google Cloud, IBM Bluemix
Document Source
Briefing Note: https://github.com/rishidot/Briefing-Notes/blob/master/2017/Oracle-IaaS-Jan.md
SWOT: https://github.com/rishidot/SWOT/blob/master/Oracle/Public-IaaS.md