Installation and Documentation Guide for VMware SDDC Proof of Concept

POC Installation and Documentation generally available online both in VMware website and in different blogs, but these are some recommendations: and of course…


Kind Regards,
Doddi Priyambodo

MICROSERVICES – What is Cloud Native Application?

DevOps, Containers, Docker, Mesos, Kubernetes, microservices, 12-factor applications, 3rd platform, oh my!   Modern application architecture and lifecycle is changing fast and that means even more demands on IT.  While some have argued that this new application approach calls for a whole new infrastructure,  actually these new business-driven demands head on, leveraging your existing investment while still delivering the highest SLAs – performance, availability, security, compliance, and disaster recovery.  This emerging 3rd Platform Application stack not only fits into existing SDDC infrastructure investments but is actually the best place to run containers and emerging 3rd platform applications.

Application Development and Delivery


If we look at the Outcomes Delivered from a new model of IT, Businesses are increasing their focus on App and Infrastructure Delivery Automation throughout the datacenter.


3rd Platform! Microservices! What the heck are they? Put simply, the 3rd platform is this is a new paradigm for architecting applications to operate in a distributed fashion. While the 1st platform was designed around mainframes and the 2nd platform was designed around client-server, the 3rd platform is designed around the cloud. In other words, applications are designed and built to live in the cloud. We can effectively think of this as pushing many of the core infrastructure concepts (like availability and scale) into the architecture of the application itself with containers being a large part of this; they can be thought of as lightweight runtimes for these applications. With proper application architecture and a rock solid foundation either on-premise or in the cloud, applications can scale on demand, new versions can be pushed quickly, components can be rebuilt and replaced easily, as well as many other benefits discussed below.

History of Platforms

1st Platform systems were based around mainframes and traditional servers without virtualization. Consolidation was a serious issue and it was normal to run one application per physical server.

2nd Platform architectures have been the standard mode for quite a while. This is the traditional Client/Server/Database model with which you are likely very familiar, leveraging the virtualization of x86 hardware to increase consolidation ratios, add high availability and extremely flexible and powerful management of workloads.

3rd Platform moves up the stack, standardizing on Linux Operating Systems primarily, which allows developers to focus on the application exclusively. Portability, scalability and highly dynamic environments are valued highly in this space. We will focus on this for the rest of the module.

Does this mean you should immediately move all of your applications to this model? Not so fast! While 3rd Platform architectures are exciting and extremely useful, they will not be the answer for everyone. A thorough understanding of the benefits and, more importantly the complexities in this new world are extraordinarily important. VMware’s Cloud-Native Apps group is dedicated to ensuring our customers are well informed in this space and can adopt this technology confidently and securely when the time is right.

Microservices are growing in popularity, due in no small part to companies like Netflix and Paypal that have embraced this relatively new model. When we consider microservices, we need to understand both the benefits and the limitations inherent in the model, as well as ensure we fully understand the business drivers.

At its heart, microservice architecture is about doing one thing and doing it well. Each microservice has one job. This is clearly in stark contrast to the monolithic applications many of us are used to; using microservices, we can update components of the application quickly without forcing a full recompile of the entire application. But it is not a “free ride” – this model poses new challenges to application developers and operations teams as many assumptions no longer hold true.

The recent rise of containerization has directly contributed to the uptake of microservices, as it is now very easy to quickly spin up a new, lightweight run-time environments for the application.

The ability to provide single-purpose components with clean APIs between them is an essential design requirement for microservices architecture. At their core, microservices have two main characteristics; they are stateless and distributed. To achieve this, let’s take a closer look at the Twelve-Factor App methodology in more detail to help explain microservices architecture as a whole.


To allow the developer maximum flexibility in their choice of programming languages and back-end services, Software-as-a-Service web applications should be designed with the following characteristics:

  • Use of a declarative format to attempt to minimize or eliminate side effects by describing what the program should accomplish, rather than describing how to go about it. At a high level it’s the variance between a section of code and a configuration file.
  • Clean Contract with the underlying Operating Systems which enables portability to run and execute on any infrastructure. API’s are commonly used to achieve this functionality.
  • Ability to be deployed into modern cloud platforms; removing the dependencies on underlying hardware and platform.
  • Keep development, staging, and production as similar as possible.  Minimize the deviation between the two environments for continuous development.
  • Ability to scale up (and down) as the application requires without needing to change the tool sets, architecture or development practices.

At a high level, the 12 Factors that are used to achieve these characteristics are:

  1. Codebase – One codebase tracked in revision control, many deploys
  2. Dependencies – Explicitly declare and isolate dependencies
  3. Config – Store config in the environment
  4. Backing Services – Treat backing services as attached resources
  5. Build, release, run – Strictly separate build and run stages
  6. Process – Execute the app as one or more stateless processes
  7. Port Binding – Export services via port binding
  8. Concurrency – Scale out via the process model
  9. Disposability – Maximize robustness with fast startup and graceful shutdown
  10. Dev/Pro Parity – Keep development, staging, and production as similar as possible
  11. Logs – Treat logs as event streams
  12. Admin Process – Run admin/management tasks as one-off processes

For additional detailed information on these factors, check out


Microservice architecture has benefits and challenges. If the development and operating models in the company do not change, or only partially change, things could get muddled very quickly. Decomposing an existing app into hundreds of independent services requires some choreography and a well thought-out plan. So why are teams considering this move? Because there are considerable benefits!


 With a properly architected microservice-based application, the individual services will function similarly to a bulkhead in a ship. Individual components can fail, but this does not mean the ship will sink. The following tenet is held closely by many development teams – “Fail fast, fail often.” The quicker a team is able to identify a malfunctioning module, the faster they can repair it and return to full operation.

Consider an online music player application – as a user, I might only care about playing artists in my library. The loss of the search functionality may not bother me at all. In the event that the Search service goes down, it would be nice if the rest of the application stays functional. The dev team is then able to fix the misbehaving feature independently of the rest of the application.

Defining “Service Boundaries” is important when architecting a microservice-based application!


If a particular service is causing latency in your application, it’s trivial to scale up instances of that specific service if the application is designed to take full advantage of microservices. This is a huge improvement over monolithic applications.

Similar to the Resilience topic, with a monolithic application, one poorly-performing component can slow down the entire application. With microservices, it is almost trivial to scale up the service that is causing the latency. Once again, this scalability must be built into the application’s DNA to function properly.


Once again, microservices allow components to be upgraded and even changed out for entirely new, heterogeneous pieces of technology without bringing down the entire application. Netflix pushes updates constantly to production code in exactly this manner.

Misbehaving code can be isolated and rolled back immediately. Upgrades can be pushed out, tested, and either rolled back or pushed out further if they have been successful.


“Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations” –Melvin Conway

The underlying premise here is that the application should align to the business drivers, not to the fragmentation of the teams. Microservices allow for the creation of right-sized, more flexible teams that can more easily align to the business drivers behind the application. Hence, ideas like the “two pizza rule” in which teams should be limited to the number of people that can finish two pizzas in a sitting (conventional wisdom says this is eight or less…though my personal research has proved two pizzas do not feed more than four people.)

No Silver Bullet!

Microservices can be accompanied by additional operations overhead compared to the monolithic application provisioned to a application server cluster.  When each service is separately built out, they could each potentially require clustering for fail over and high availability.  When you add in load balancing, logging and messaging layers between these services, the real-estate starts to become sizable even in comparison to a large off the shelf application. Microservices also require a considerable amount of DevOps and Release Automation skills. The responsibility of ownership of the application does not end when the code is released into production, the Developer of the application essentially owns the application until it is retired. The natural evolution of the code and collaborative style in which it is developed can lend itself to challenges when making a major change to the components of the application.  This can be partially solved with backwards compatibility but it is not the panacea that some in the industry may claim.

Microservices can only be utilized in certain use cases and even then, Microservices open up a world of new possibilities that come with new challenges and operational hurdles. How do we handle stateful services? What about orchestration? What is the best way to store data in this model? How do we guarantee a data persistence model? Precisely how do I scale an application properly? What about “simple” things like DNS and content management?  Some of these questions do not have definitive solutions yet.  A distributed system can also introduce a new level of complexity that may not have been such a large concern like network latency, fault tolerance, versioning, and unpredictable loads in the application.  The operational cost of application developers needing to consider these potential issues in new scenarios can be high and should be expected throughout the development process.

When considering the adoption of a Microservices, ensure that the use case is sound, the team is aware of the potential challenges and above all, the benefits of this model outweigh the cost.

Recommended reading:  If you would like to learn more about the operational and feasibility considerations of Microservices, look up Benjamin Wootton and read some of his publications on the topic, specifically ‘Microservices – Not A Free Lunch!’.

Consideration to Deploy Edge Cluster in vCloud Director. Also discussing about VSAN Architecture.

If we are using vCloud Director, then Edge Cluster can not be combined with the management cluster. It can only be combined with the resource/payload/workload cluster.

If we are using VSAN, there are several consideration too if we want to use it as management cluster.

Please read these references to explain detail of the technical stuffs:

Once again, thanks Bayu for the discussion.


Kind Regards,
Doddi Priyambodo

vRealize Operations Manager 6.1 and 6.2 Sizing Guidelines (2130551)



This article provides information on using the sizing guidelines for vRealize Operations Manager 6.1 and 6.2 to determine the configurations used during installation.

Continue reading vRealize Operations Manager 6.1 and 6.2 Sizing Guidelines (2130551)

VMware vRealize Operations Manager Dashboard Repository

This link is a post from my colleague at VMware (Sunny Dua).
This is a very good Custom Dashboard for VROps (vRealize Operation), can create your war room with this thing!
Also a very good video webinar about VROps.

Kind Regards,
Doddi Priyambodo

vRealize Automation 7.0 List of Improvements and it is GA now!

I am really excited about this news, because I implemented Distributed VRA 6.1 one year ago in one of my customer. And it was really complex installation experience. One of the improvement here is the installation mechanism, that will simplify the installations! A lot of new cool features now and integration too. Really Cool!

Following is an incomplete highlight of new features:

Streamlined and Automated Wizard-based Installation

  • Introduces management agent to automate the installation of Windows components and to collect logs
  • Automates the deployment of all vRealize Automation components
  • Installation wizards based on deployment needs: Minimal (Express) and Enterprise (Distributed) Installations

Simplified Deployment Architecture and High Availability Configuration

  • Embedded authentication service by using VMware Identity Manager
  • Converged Application Services in vRealize Automation Appliance
  • Reduced minimal number of appliances for HA configuration
  • Automated embedded PostgreSQL clustering with manual failover
  • Automated embedded vRealize Orchestrator clustering

Enhanced Authentication Service

  • Integrated user interface providing a common look and feel
  • Enabled multiple features by new authentication service

Simplified Blueprint Authoring for Infrastructure and Applications

  • Single unified model for both machine and application blueprints and unified graphical canvas for designing machine and application blueprint with dependencies and network topology
  • Software component (formerly software service in Application Services) authoring on vSphere, vCloud Air, vCloud Director, and AWS endpoints)
  • Extend or define external integrations in the canvas by using XaaS (formerly Advanced Service Design)
  • Enable team collaboration and role segregation by enhancing and introducing fine-grain roles
  • Blueprint as code and human-readable which can be created in editor of choice and stored in source control or import and export in the same or multiple vRealize Automation 7.0 instances
  • Customer-requested machine and application blueprints provided
  • Additional blueprints available on the VMware Solutions Exchange

Simplified and Enhanced NSX Support for Blueprint Authoring and Deployment

  • Dynamically configure NSX Network and micro-segmentation unique for each application
  • Automated connectivity to existing or on-demand networks
  • Micro-segmentation for application stack isolation
  • Automated security policy enforcement by using NSX security policies, groups, and tags
  • On-demand dedicated NSX load balancer

Simplified vRealize Automation REST API

  • Simplified schema for API requests by switching to normal JSON model
  • Follow-on request URIs and templates exposed as links in response bodies (HATEOAS)
  • New APIs to support business group and reservation management
  • Improved documentation and samples

Enhanced Cloud Support for vCloud Air and AWS

  • Software component authoring for vCloud Air, vCloud Director, and Amazon AWS
  • Simplified blueprint authoring for vCloud Air and vCloud Director
  • Improved vCloud Air endpoint configuration
  • Optional proxy configuration

Event-Based Extensibility Provided by Event Broker

  • Use vRealize Orchestrator workflows to subscribe any events triggered by most events happen in the system or custom events
  • Support blocking and non-blocking subscriptions
  • Provide administrative user interface for extensibility configurations

Enhanced Integration with vRealize Business

  • Unified location in vRealize Business to define flexible pricing policies for infrastructure resource, machine and application blueprints, and all type of endpoints in vRealize Automation
  • Support operational cost, one time cost and cost on custom properties
  • Role-based showback reports and fully leverage new features in vRealize Business 7.0

CloudClient Update

  • Content management (import and export blueprints between instances or tenants in vRealize Automation 7.0)
  • Existing functionality updated for vRealize Automation 7.0 APIs

vRealize Orchestrator 7 New Features

  • Introduce vRealize Orchestrator Control Center for easy monitoring and troubleshooting
  • Significant Smart Client improvements including Workflow tagging UI, Client reconnect options and enhanced search capabilities
  • vSphere 6.X  vAPI endpoint support

Other Improvements

  • Enhanced management of tenant, business group, approval, and entitlements
  • Customizable columns in the table for a given type of custom resource defined in XaaS
  • Accept a mix of license input, including vRealize Suite, vCloud Suite, and vRealize Automation Standalone
  • Improved stability, quality, and performance


The complete detail of the improvements can be read in here:

KUDOS! Great enhancement and innovations for VMware R&D Team!


Kind Regards,
Doddi Priyambodo


How to Recover Deleted Files (rm -rf) or Accidentally click Empty Recycle Bin

So, sometimes “shit” can happen. Accidentally do rm -rf in linux OS, or click empty recycle bin in windows. Or, disk is corrupt, boot sector is broken, etc. This is a very useful tool to help you to “try” to fix it. Sometimes it works, and sometimes it doesn’t. At least you try… 😉 Err, wrong emoticon, it should be 🙁

TestDisk is OpenSource software and is licensed under the terms of the GNU General Public License (GPL v2+).

TestDisk is powerful free data recovery software! It was primarily designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software: certain types of viruses or human error (such asaccidentally deleting a Partition Table). Partition table recovery using TestDisk is really easy.

TestDisk can

  • Fix partition table, recover deleted partition
  • Recover FAT32 boot sector from its backup
  • Rebuild FAT12/FAT16/FAT32 boot sector
  • Fix FAT tables
  • Rebuild NTFS boot sector
  • Recover NTFS boot sector from its backup
  • Fix MFT using MFT mirror
  • Locate ext2/ext3/ext4 Backup SuperBlock
  • Undelete files from FAT, exFAT, NTFS and ext2 filesystem
  • Copy files from deleted FAT, exFAT, NTFS and ext2/ext3/ext4 partitions.

Download the file from here:


Kind Regards,
Doddi Priyambodo

Kumpulan Session “menarik” di VMworld 2015 San Fransisco

Berikut ini adalah beberapa session yang menurut saya termasuk yang sangat menarik saat session VMworld di San Fransisco kemarin.

Beruntung sekali VMware meng-upload beberapa video dari beberapa session yang ditampilkan disana :

1. vCenter Server Appliance (VCSA) Best Practices & Tips/Trick – by William Lam (

  • Pembahasan mengenai Enhancement yang ada di VCSA 6U1
  • Proses Instalasi dan Upgrade VCSA 6U1
  • Konfigurasi VCSA 6U1
  • Operations VCSA 6U1
  • Troubleshooting instalasi dan operasional VCSA 6U1
  • Proses Migrasi vCenter 6U1

Check out Youtube videonya disini :

Kind Regards,
Doddi Priyambodo

Penjelasan mengenai my Computer Home Lab Facility untuk explore VMware Technology

Pada posting kali ini, saya ingin menampilkan home lab yang saya miliki untuk mengeksplorasi fitur2 VMware yang sangat banyak. Memiliki home lab yang “mumpuni” adalah penting bagi saya yang saat ini hidup dari dunia IT, lebih spesifiknya yaitu “IT Cloud” 😉

Ada tiga opsi yang saat  ini saya miliki untuk membuat Home Lab. Opsi pertama, yaitu menggunakan:
1). Public Cloud yang disediakan secara free oleh my company buat para employee-nya around the world. Cool!!!
2). Personal Home Lab yang disediakan oleh “kebaikan hati” istri saya yang mengijinkan saya untuk membeli ini
3). Portable Laptop yang disediakan kantor sebagai fasilitas resmi buat kerja dengan spesifikasi yang gahar! (beratnya juga gahar!!!)

Public cloud yang saya gunakan, tidak akan saya jelaskan lebih detail di posting ini. Tapi intinya fitur ini menggunakan produk dari VMware, yaitu VMware vCloud Director. Even though ada public cloud, tetapi personal home lab tetap saya gunakan karena koneksi internet di Indonesia (read, my home) is not stable enough untuk 100% relying on public cloud.

Berikut ini adalah deskripsi my home lab yang saya gunakan untuk “ngoprek” beberapa teknologi dari VMware, Oracle, Microsoft, RedHat, Quest, open source stuffs, dan beberapa produk lainnya yang menunjang hasrat hands-on-experience saya.

1. My Home Lab (PC Rakitan, baca: ngerakit berdua di toko komputer bareng kokoh mangga dua – what a memorable experience)

These are the Spec :
Category Description Comment
Merk Rakitan piece by piece hasil browsing yang cukup lama per-komponen
Processor Intel Core i7 3770K Ivy Bridge 4 Core @2 Thread 3,8 GHz Yeahhh!!!!
Memory V-Gen DDR3 16 GB Not enough right now, need 32 GB
Disk SATA III Seagate 2 TB Not enough right now, need SSD
VGA Card Digital Alliance NVidia GeForce 2 GB 128 Bit This is Spartaaaa!!!
Motherboard Gigabyte LGA 1155 OK
DVD Samsung DVD Writer OK
Webcam + Mic Logitech C120 buat video Skype-an sama keluarga
Casing Simbadda Simcool OK
Keyboard + Mouse Logitech MK200 + Dell mouse OK
Monitor LG LED 22″ Full HD + TV buat nonton Indovision kalau rebutan TV di luar
Wireless Router TP-LINK buat create wireless network di rumah
Internet Modem ProLink HSPA just in case kalau wifi internet mati, so move to 3G
Game Joystick 🙂 Wireless Havit I am a Pro Evolution Soccer (PES) Champion! 😉
2. My Portable Lab (Office Laptop, aka si GIANT)
Category Description Comment
Merk Dell Precission M4800 Making Michael Dell richer
Processor Intel® Core™ i7-4900 MQ CPU @ 2.80 GHz Super Nice, isn’t it?
Memory 32 GB Super Duper Nice, isn’t it?
Disk Full SSD 500 GB I am okay with it 🙂
VGA Card Nvidia Quadro K2100M 4 GB 128 Bit Sayang gak boleh install game di komputer kerja 😉
OS Microsoft Windows 7 Enterprise SP1 Biasanya lebih banyak buka VMware Workstation
DVD Built in OK
Webcam + Mic Built in Skype
Physical Mobile Laptop wih weight of 3.2 Kg bisa buat punggung jadi sakit kalau backpack
Monitor 15.6in panel super crisp, at 3,200 x 1,800 very clear and bright display
Wanna Upgrade my Home Lab!
Beberapa hari ini saya lagi “ngiler” dengan home-lab one of my best friend teman seperjuangan di VMware “Bayu Wibowo” yang baru saja purchase home lab-nya (kemarin baru datang) yang aduhai spec-nya dan yang penting murah biaya opex-nya (read, electricity consumption). Saatnya bikin proposal ke istri nih, kalau perlu pakai hitung2an TCO and ROI yang dipresentasikan secara formal 😀

Berikut ini adalah spec hardware yang dimiliki beliau:

3 buah SlimPC Shuttle DS81 (, dengan spesifikasi untuk tiap node sebagai berikut: –price list +/- Rp 8jt for each

Processor Intel® Core™ i3-4160 Processor 3.60 GHz
Hitachi 1TB SATA3 16MB 7200RPM
Plextor PCIe SSD M6M 128GB
Kingston SO-DIMM DDR3 16GB PC12800

atau sebenarnya bisa juga dengan pilihan menggunakan Intel-NUC ( yang lebih “cantik” bentuknya (tapi agak lebih mahal).:

Finally…, Mamiii ada yang mau Papi omongin sebentar 🙂


Kind Regards,
Doddi Priyambodo

CentOS 7. Which installer need to Download: Minimal, DVD, or Everything?

Size of CentOS 7 iso. To determine which package that you want to install/download (DVD, Everything, or Minimal).

4.0G CentOS-7-x86_64-DVD-1503-01.iso
7.1G CentOS-7-x86_64-Everything-1503-01.iso
696M CentOS-7-x86_64-LiveCD-1503.iso
1.0G CentOS-7-x86_64-LiveGNOME-1503.iso
1.2G CentOS-7-x86_64-LiveKDE-1503.iso
636M CentOS-7-x86_64-Minimal-1503-01.iso
360M CentOS-7-x86_64-NetInstall-1503.iso

Better to start with minimal, and add package needed with yum install package later on after installation.


Kind Regards,
Doddi Priyambodo